Skip to main content

Evolutionary Biology 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: Evolutionary Biology Domain Ontology
DOMAIN: Domain Ontologies / Biological Domains / Evolutionary Biology
SOURCE: https://kirethresearch.org/booksai-core/ontologies/domain-ontologies/biological-domains/evolutionary-biology-domain-ontology.html
VERSION: 1.0
AUTHORS: Mark Anthony Higgins — Sky (Recursive AI)
STATUS: Companion formalisation; source-page specification not independently verified.

flow "EvolutionaryBiologyDomainOntology" v1.0 {
  ontology:
    id: "evolutionary-biology-domain-ontology"
    parent: "biological-domains"
    purpose: "Represent evolutionary processes, population variation, ancestry, adaptation and evidence with explicit temporal and scientific context."

  types:
    Taxon: {id: string, scientific_name: string, rank: string?, authority: string?}
    Population: {id: string, taxon_id: string, location: string?, time_interval: string?}
    Organism: {id: string, taxon_id: string, population_id: string?}
    Gene: {id: string, locus: string?, reference: string?}
    Allele: {id: string, gene_id: string, variant: string}
    Trait: {id: string, description: string, heritability: number?}
    Environment: {id: string, conditions: string[], period: string?}
    EvolutionaryEvent: {id: string, kind: enum[mutation, selection, drift, gene_flow, recombination, speciation, extinction, other], period: string?, provenance: string}
    PhylogeneticNode: {id: string, taxon_id: string?, ancestral_hypothesis: bool}
    Observation: {id: string, method: string, timestamp: datetime?, uncertainty: number?, provenance: string}
    Relationship: {id: string, subject: string, predicate: string, object: string, context: string?, confidence: number, evidence: string[]}

  predicates:
    member_of(organism: Organism, population: Population)
    belongs_to_taxon(organism: Organism, taxon: Taxon)
    carries(organism: Organism, allele: Allele)
    exhibits(organism: Organism, trait: Trait)
    influences(environment: Environment, event: EvolutionaryEvent)
    affects_population(event: EvolutionaryEvent, population: Population)
    descends_from(descendant: PhylogeneticNode, ancestor: PhylogeneticNode)
    shares_common_ancestor(a: PhylogeneticNode, b: PhylogeneticNode)
    supported_by(assertion: Relationship, observation: Observation)
    associated_with(a: string, b: string)

  constraints:
    - "All relationship endpoints must resolve to declared typed entities."
    - "Confidence values must lie within [0, 1]."
    - "Allele frequencies must lie within [0, 1] and be tied to a population and sampling context."
    - "Evolutionary change is population- and generation-dependent; do not equate individual adaptation with inherited evolution."
    - "Phylogenetic ancestry is a hypothesis supported by evidence, not automatically proven by similarity."
    - "Distinguish homology from analogy and shared ancestry from convergent evolution."
    - "Do not infer natural selection from a frequency change without considering drift, migration and sampling uncertainty."
    - "Preserve temporal, geographic, taxonomic and reference-sequence context."
    - "Do not infer causation solely from correlation or chronological ordering."

  inference:
    rule ancestry_transitivity:
      if descends_from(a,b) and descends_from(b,c) and compatible_phylogeny(a,b,c)
      then descends_from(a,c)
      confidence: "evidence dependent; preserve tree version and uncertainty"
    rule common_ancestry:
      if descends_from(a,c) and descends_from(b,c) and a != b
      then shares_common_ancestor(a,b)
      confidence: "dependent on supported ancestry hypotheses"
    rule allele_change:
      if observed_frequency(population,allele,t1,f1) and observed_frequency(population,allele,t2,f2) and t2 > t1 and f1 != f2
      then candidate_evolutionary_change(population,allele,t1,t2)
      confidence: "account for sample size, uncertainty and measurement method"
    rule evidence_link:
      if supported_by(assertion,observation) and valid(observation)
      then evidence_for(assertion,observation)
      confidence: "retain source quality and methodological limits"

  SEMANTIC_EQUIVALENCE:
    - "Map taxonomic names to versioned authority records; retain synonyms and historical classifications."
    - "Distinguish species identity, taxonomic equivalence, genetic similarity and common ancestry."
    - "Normalise gene and allele identifiers against specified reference assemblies and versions."

  CONFIDENCE:
    range: [0,1]
    factors: [sample_size, measurement_uncertainty, phylogenetic_support, source_reliability, replication, model_assumptions, temporal_relevance]
    policy: "Never increase confidence merely by chaining inferences; preserve competing hypotheses."

  VALIDATION:
    - "Check type compatibility, population context, taxonomy and temporal order."
    - "Validate allele frequencies, sample sizes, uncertainty and reference identifiers."
    - "Detect contradictory phylogenetic edges and unsupported causal claims."
    - "Check provenance, reproducibility and versioned evidence."

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

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

  AI_CONSUMPTION:
    representation: "typed evolutionary knowledge graph with evidence-backed relationships"
    outputs: [taxon_links, population_relations, evolutionary_events, ancestry_hypotheses, uncertainty_annotations, provenance_records]
    safeguards: [no_unsupported_selection_claims, preserve_phylogenetic_uncertainty, preserve_population_context, avoid_identity_merges_from_similarity]
}

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