2. Building a Comprehensive Plant Disease Ontology

Integrating PPIO, CropPest, and Plant Ontology for advanced diagnosis

Note

Ontology References:

  • PPIO: Models host-pathogen relationships and resistance mechanisms
  • CropPest v2: Comprehensive crop-pest management including insects, diseases, and IPM
  • Plant Ontology (PO): Standardized plant anatomy and development stages
  • AGROVOC: Multilingual agricultural thesaurus with wheat disease terminology

Building a Plant Disease Ontology

Integrated Plant Disease Ontology Structure

Our comprehensive ontology integrates multiple standards:

  1. PPIO Core: Host-pathogen interactions and resistance
  2. CropPest v2: Pest management and economic thresholds
  3. Plant Ontology: Anatomical precision
  4. AGROVOC: Multilingual support and FAO standards

classDiagram
    class Plant {
        +scientificName: string
        +commonName: string
        +variety: string
    }
    
    class Disease {
        +name: string
        +scientificName: string
        +severity: float
        +symptoms: string
    }
    
    class Pathogen {
        +scientificName: string
        +type: enum
        +description: string
    }
    
    class Symptom {
        +name: string
        +location: string
        +severity: float
    }
    
    class Treatment {
        +name: string
        +type: enum
        +effectiveness: float
        +application: string
    }
    
    Plant "1" -- "many" Disease : hasDisease
    Disease "1" -- "1..*" Pathogen : causedBy
    Disease "1" -- "1..*" Symptom : hasSymptom
    Disease "1" -- "0..*" Treatment : treatedWith

Step 1: Define Plant Hierarchy with PO Integration

# Plant Taxonomy
Thing
└── Plant
    ├── CropPlant
    │   ├── Tomato
    │   ├── Wheat
    │   └── Potato
    └── OrnamentalPlant
        ├── Rose
        └── Orchid

Step 2: Disease Classification with PPIO and AGROVOC

# Disease Taxonomy
Thing
└── Disease
    ├── FungalDisease
    │   ├── PowderyMildew
    │   ├── Rust
    │   └── Blight
    ├── BacterialDisease
    │   ├── BacterialSpot
    │   └── BacterialWilt
    └── ViralDisease
        ├── MosaicVirus
        └── LeafCurlVirus

Step 3: Property Definitions with Cross-Ontology Integration

Object Properties

Property Domain Range Description
affects Pathogen Plant Pathogen affects plant
causes Pathogen Disease Pathogen causes disease
manifestsIn Disease Plant Disease appears in plant
hasSymptom Disease Symptom Disease presents symptom
treatedWith Disease Treatment Disease can be treated with

Data Properties

Property Domain Range Description
scientificName Plant/Pathogen string Scientific name
severity Disease float 1-10 severity scale
optimalTemp Pathogen float Optimal temperature
humidityRange Pathogen string Preferred humidity range
resistanceGene Plant string Known resistance genes

Practical Example: Wheat Rust with AGROVOC Integration

# AGROVOC Wheat Rust Example
:WheatStemRust a :FungalDisease, :AGROVOC_Disease ;
    rdfs:label "Wheat stem rust"@en,
             "Rouille noire du blé"@fr,
             "Roya del tallo del trigo"@es ;
    :fao_agrovoc_code "c_25422" ;
    :scientificName "Puccinia graminis f. sp. tritici" ;
    :severity 8.5 ;
    :hasSymptom :OrangePustules, :StemLesions ;
    :treatedWith :FungicideApplication ;
    :resistance_gene "Sr2", "Sr6", "Sr13" ;
    :optimal_temperature "18-25°C" ;
    :endemic_to_region "Sub-Saharan Africa, Central Asia, North America" .
:WheatStemRust a :FungalDisease ;
    rdfs:label "Wheat Stem Rust" ;
    :scientificName "Puccinia graminis f. sp. tritici" ;
    :severity 8.5 ;
    :hasSymptom :OrangePustules, :StemLesions ;
    :treatedWith :FungicideApplication ;
    :preventedBy :CropRotation .

:OrangePustules a :Symptom ;
    rdfs:label "Orange Pustules" ;
    :appearsOn "Stems and leaves" ;
    :severity 7.0 .

Hands-on Exercise: Building a Crop-Specific Disease Ontology

  1. Setup
    • Create a new ontology for your chosen crop (e.g., Tomato, Wheat)

    • Import necessary ontologies:

      http://purl.obolibrary.org/obo/po.owl
      http://purl.obolibrary.org/obo/ppo.owl
      http://aims.fao.org/aos/agrovoc/agrovoc_2023-12-11_core.owl
  2. Define Disease Classes
    • Create 3 disease classes with AGROVOC mappings
    • Add multilingual labels using AGROVOC terms
    • Define severity scales and economic impact
  3. Add Anatomical Specificity
    • Use Plant Ontology terms for symptom locations
    • Define which plant parts are affected
    • Add developmental stage information
  4. Create Treatment Strategies
    • Define IPM strategies from CropPest
    • Include chemical and biological controls
    • Add application methods and timing
  5. Validate
    • Run consistency checks
    • Test SPARQL queries for disease diagnosis
    • Export for use with Python/LLM integration

Next Steps: Advanced Reasoning for Diagnosis

In the next section, we’ll implement:

  • SWRL rules for automated disease diagnosis
  • SPARQL queries for knowledge extraction
  • Integration with environmental data
  • Reasoning over temporal disease progression

This will enable our ontology to power intelligent diagnosis systems that can integrate with LLMs and MOE architectures.