Skip to main content

Ecology Domain Ontology

Biological Domains
Authors: MArk Anthony Higgins - Sky Recursive Ai
© Mark Anthony Higgins 11 October 2025
Revised Date: 10 October 2026
Audio Overview
FLOW ALGEBRA
TITLE: Ecology Domain Ontology
DOMAIN: Domain Ontologies / Biological Domains / Ecology
SOURCE: https://kirethresearch.org/booksai-core/ontologies/domain-ontologies/biological-domains/ecology-domain-ontology.html
VERSION: 1.0
AUTHORS: Mark Anthony Higgins — Sky (Recursive AI)
STATUS: Companion formalisation; source-page specification not independently verified.

flow "EcologyDomainOntology" v1.0 {
  ontology:
    id: "ecology-domain-ontology"
    parent: "biological-domains"
    purpose: "Represent ecological entities, interactions, processes and evidence across spatial and temporal scales."

  types:
    Organism: {id: string, taxon_id: string?, life_stage: string?}
    Population: {id: string, taxon_id: string, region_id: string, interval: string?}
    Community: {id: string, region_id: string, interval: string?}
    Ecosystem: {id: string, region_id: string, biome: string?}
    Habitat: {id: string, geometry_ref: string?, conditions: string[]}
    EnvironmentalFactor: {id: string, kind: enum[biotic, abiotic], name: string}
    EcologicalProcess: {id: string, kind: string, interval: string?}
    Observation: {id: string, method: string, timestamp: datetime?, location: string?, provenance: string}
    Measurement: {value: number, unit: string, uncertainty: number?, method: string?}
    EcologicalRelationship: {id: string, subject: string, predicate: string, object: string, spatial_context: string?, temporal_context: string?, confidence: number, evidence: string[]}

  predicates:
    inhabits(organism: Organism, habitat: Habitat)
    member_of_population(organism: Organism, population: Population)
    part_of_community(population: Population, community: Community)
    occurs_in(community: Community, ecosystem: Ecosystem)
    preys_on(predator: Organism, prey: Organism)
    competes_with(a: Population, b: Population)
    mutualistic_with(a: Organism, b: Organism)
    parasitises(parasite: Organism, host: Organism)
    affected_by(population: Population, factor: EnvironmentalFactor)
    observed_in(entity: string, observation: Observation)
    contributes_to(process: EcologicalProcess, ecosystem: Ecosystem)

  constraints:
    - "Every relationship endpoint must resolve to a typed entity."
    - "Confidence must be in [0,1] and supported by traceable evidence."
    - "Ecological interactions require appropriate spatial, temporal and life-stage context."
    - "Population and community membership must not imply permanent presence."
    - "Predation, competition and parasitism are not automatically transitive."
    - "Observed association alone does not establish ecological causation."
    - "Measurements require units, methods and uncertainty where available."
    - "Taxonomic identifiers and nomenclature must retain authority and version."

  inference:
    rule reciprocal_competition:
      if competes_with(a,b) and interaction_definition_is_symmetric(a,b)
      then competes_with(b,a)
      confidence: "preserve original evidence and context"
    rule ecosystem_membership:
      if part_of_community(p,c) and occurs_in(c,e) and temporal_overlap(p,c,e)
      then associated_with_ecosystem(p,e)
      confidence: "qualified by spatial and temporal evidence"
    rule evidence_link:
      if observed_in(entity,obs) and valid(obs)
      then evidence_for(entity,obs)
      confidence: "dependent on observation quality"

  SEMANTIC_EQUIVALENCE:
    - "Resolve taxonomic synonyms through versioned reference authorities."
    - "Distinguish ecological role, taxonomic identity and organism identity."
    - "Preserve spatial scale, temporal window and measurement method when aligning concepts."

  CONFIDENCE:
    range: [0,1]
    factors: [sampling_bias, observation_quality, replication, spatial_scale, temporal_coverage, model_assumptions]
    policy: "Do not inflate confidence by chaining dependent observations or inferences."

  VALIDATION:
    - "Check entity types, identifiers, provenance and contextual compatibility."
    - "Validate measurement units and uncertainty bounds."
    - "Flag incompatible ecological claims and retain competing hypotheses."
    - "Distinguish direct observation from modelled or inferred relationships."

  FLOW_HASH:
    algorithm: "SHA-256"
    input: "canonicalised ontology version, typed assertions, rules and provenance"
    note: "Compute at execution; no hash value is claimed here."

  UPDATE_MODEL:
    strategy: "versioned, provenance-preserving incremental update"
    steps: [ingest, normalise, validate, reconcile_taxonomy, compare, recompute_inferences, publish]
    rollback: true

  AI_CONSUMPTION:
    representation: "typed ecological knowledge graph with evidence-backed relationships"
    outputs: [entity_links, interaction_triples, contextual_annotations, inferred_edges, uncertainty_annotations, provenance_records]
    safeguards: [no_unsupported_causal_claims, preserve_spatiotemporal_context, retain_taxonomic_versions, distinguish_observation_from_inference]
}

END FLOW ALGEBRA
Kireth Research
38 Thorndale Croft, Wetwang, Driffield
East Riding of Yorkshire YO25 9XZ