FLOW ALGEBRA
TITLE: Zoology Domain Ontology
DOMAIN: Domain Ontologies / Biological Domains / Zoology
SOURCE: https://kirethresearch.org/booksai-core/ontologies/domain-ontologies/biological-domains/zoology-domain-ontology.html
VERSION: 1.0
AUTHORS: Mark Anthony Higgins — Sky (Recursive AI)
STATUS: Companion formalisation; source-page specification not independently verified.
flow "ZoologyDomainOntology" v1.0 {
ontology:
id: "zoology-domain-ontology"
parent: "biological-domains"
purpose: "Represent animal taxa, organisms, anatomy, behaviour, habitats, ecological interactions and zoological evidence with traceable inference."
types:
Taxon: {id: string, scientific_name: string, rank: string, authority: string?, taxonomy_version: string}
Animal: {id: string, taxon_id: string, life_stage: string?, sex: string?, provenance: string}
AnatomicalStructure: {id: string, label: string, ontology_reference: string?}
Trait: {id: string, label: string, category: enum[morphological, physiological, behavioural, genetic, ecological]}
Behaviour: {id: string, kind: string, context: string?, observation_id: string?}
Habitat: {id: string, habitat_type: string, location: string?, valid_period: string?}
Population: {id: string, taxon_id: string, region: string, observation_period: string?}
Observation: {id: string, observed_at: datetime?, method: string, observer: string?, evidence_uri: string?, uncertainty: number?}
Relationship: {id: string, subject: string, predicate: string, object: string, context: string?, confidence: number, evidence: string[]}
predicates:
classified_as(animal: Animal, taxon: Taxon)
parent_taxon_of(parent: Taxon, child: Taxon)
has_anatomical_structure(animal: Animal, structure: AnatomicalStructure)
exhibits_trait(animal: Animal, trait: Trait)
exhibits_behaviour(animal: Animal, behaviour: Behaviour)
inhabits(animal: Animal, habitat: Habitat)
member_of_population(animal: Animal, population: Population)
preys_on(predator: Taxon, prey: Taxon)
competes_with(a: Taxon, b: Taxon)
observed_in(animal: Animal, observation: Observation)
constraints:
- "Every assertion must resolve its endpoints to typed entities."
- "Confidence must be between 0 and 1."
- "Taxonomic names must retain authority and version where available."
- "Taxonomic parentage must not contain cycles within one classification snapshot."
- "Traits of an observed individual must not automatically generalise to its entire taxon."
- "Predation and habitat use are context-dependent; neither is universally transitive."
- "Absence of observation is not evidence of absence without a detection model."
- "Do not equate taxonomic relatedness with direct ancestry or individual identity."
inference:
rule taxon_ancestry:
if parent_taxon_of(a,b) and parent_taxon_of(b,c) and same_taxonomy_version(a,b,c)
then ancestor_taxon_of(a,c)
confidence: "retain taxonomy provenance"
rule population_membership:
if member_of_population(a,p) and classified_as(a,t) and population_taxon(p,t)
then consistent_membership(a,p)
confidence: "requires compatible time and region"
rule observational_support:
if observed_in(a,o) and valid(o)
then evidence_for_presence(a,o)
confidence: "conditioned on identification and observation quality"
SEMANTIC_EQUIVALENCE:
- "Resolve scientific names, synonyms and common names against versioned taxonomic authorities."
- "Distinguish synonymy, taxonomic reclassification, phylogenetic proximity and identity."
- "Preserve geographic, life-stage and observational context."
CONFIDENCE:
range: [0,1]
factors: [identification_quality, sampling_design, source_reliability, temporal_validity, geographic_coverage, independent_replication]
policy: "Do not manufacture certainty by chaining uncertain zoological assertions."
VALIDATION:
- "Check type compatibility, taxonomic authority, provenance and temporal context."
- "Flag inconsistent ranks, impossible memberships and contradictory observations."
- "Preserve competing classifications and unresolved identifications."
FLOW_HASH:
algorithm: "SHA-256"
input: "canonicalised ontology version, typed assertions, inference rules and provenance"
note: "Compute at execution; no precomputed hash is asserted."
UPDATE_MODEL:
strategy: "versioned, provenance-preserving incremental update"
steps: [ingest, normalise, validate, reconcile_taxonomy, compare, recompute_inferences, publish]
rollback: true
AI_CONSUMPTION:
representation: "typed zoological knowledge graph with evidence-backed edges"
outputs: [taxon_links, organism_relations, ecological_relations, uncertainty_annotations, provenance_records]
safeguards: [no_unsupported_species_generalisation, no_unqualified_taxonomic_merges, preserve_observation_context]
}
END FLOW ALGEBRA
Download Code
Copy to Clipboard