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