classDiagram
class Plant {
+scientificName: string
+commonName: string
}
class Disease {
+name: string
+severity: float
}
Plant "1" -- "many" Disease : hasDisease
1. Protégé Desktop Basics
Getting started with ontology development for plant disease diagnosis
Protégé Desktop Basics for Plant Disease Diagnosis
Key Ontology Resources
Before we begin, here are essential ontologies we’ll be using:
- Plant-Pathogen Interactions Ontology (PPIO): Host-pathogen relationships and resistance mechanisms
- CropPest Ontology v2: Integrated pest management strategies
- Plant Ontology (PO): Standardized plant anatomy and development stages
- AGROVOC: Multilingual agricultural thesaurus from FAO
- Environment Ontology (ENVO): Environmental conditions and factors
Installation
# Ubuntu/Debian
sudo apt update
sudo apt install openjdk-17-jdk
wget https://github.com/protegeproject/protege-distribution/releases/download/v5.6.2/Protege-5.6.2-linux.tar.gz
tar -xvzf Protege-5.6.2-linux.tar.gz
cd Protege-5.6.2
./run.sh
# macOS
brew install --cask protege
# Windows
# Download from: https://protege.stanford.edu/products.php#desktop-protegeCore Concepts for Plant Disease Ontologies
1. Creating a New Ontology with Agricultural Focus
- File → New
- Set IRI (e.g.,
https://ontologies.mn-ai.guru/plant-disease) - Add metadata (title, description, version)
- Save as
.owlformat
2. Basic Interface
- Active Ontology: Metadata and imports
- Entities: Browse all ontology elements
- Classes: Define the taxonomy
- Object Properties: Relationships between classes
- Data Properties: Attributes with data types
- Individuals: Specific instances
- SPARQL Query: Run queries
3. Creating Your First Classes
4. Adding Properties
Object Properties
hasDisease: Plant → DiseasecausedBy: Disease → PathogentreatedWith: Disease → Treatment
Data Properties
scientificName: Plant → stringseverity: Disease → floatincubationPeriod: Disease → int
5. Creating Individuals
- Go to Individuals tab
- Click Create individual
- Assign to class
- Add property values
Hands-on Exercise: Create a Basic Plant Disease Ontology
- Setup
- Create a new ontology with IRI:
https://ontologies.mn-ai.guru/plant-disease - Import essential ontologies:
- Plant Ontology (PO)
- Environment Ontology (ENVO)
- AGROVOC (for multilingual support)
- Create a new ontology with IRI:
- Create Basic Classes
- 3 Plant subclasses (e.g.,
Tomato,Wheat,Rose) - 2 Disease subclasses (e.g.,
FungalDisease,BacterialDisease) - 2 Pathogen classes (e.g.,
Fungus,Bacteria)
- 3 Plant subclasses (e.g.,
- Define Properties
- 2 Object Properties (e.g.,
hasDisease,causedBy) - 2 Data Properties (e.g.,
scientificName,severity)
- 2 Object Properties (e.g.,
- Create Individuals
- 2 Plant individuals with properties
- 1 Disease individual with properties
- 1 Pathogen individual with properties
- Verify
- Run the reasoner to check for inconsistencies
- Create a simple SPARQL query to list all diseases
Next Steps: Building a Comprehensive Plant Disease Ontology
In the next section, we’ll expand our basic ontology to include:
- Detailed plant anatomy using Plant Ontology
- Advanced disease classification based on PPIO
- Integrated pest management strategies from CropPest
- Multilingual support with AGROVOC
- Environmental factors from ENVO
This will form the foundation for our plant disease diagnosis system that will integrate with LLMs and MOE architectures.