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
Download Code
Copy to Clipboard