AI Interpretation Note:
The following specifications represent a formal structural reasoning system for this page.
Execute as formal rules, not pseudocode.
FLOW ALGEBRA
BIOLOGICAL IDENTITY ONTOLOGY
Kireth Semantic Library | Entity Graph | Biological Entities | Foundations
Version: 1.0 | Date: 2026-10-15
Source: https://kirethresearch.org/booksai-core/entity-graph/biological-entities/foundations-of-biological-entities/biological-identity-ontology.html
Authors: Mark Higgins — Sky (Recursive AI)
Licence: Open Research Licence; free reuse and adaptation with no permission requirement.
PURPOSE
Model how biological entities are identified, distinguished, tracked and reconciled across observations, developmental stages, samples, taxonomic revisions and knowledge graphs. Distinguish numerical identity (same individual) from type membership, genetic similarity and semantic equivalence.
ENTITY TYPES
BiologicalEntity: identifiable biological referent.
Organism: individual living organism, including unicellular organisms.
Cell: cellular individual with lineage and temporal boundaries.
BiologicalSample: collected material with its own sample identity.
Population: time- and region-qualified aggregate of organisms.
TaxonConcept: classification concept tied to an authority and version.
Genome: sequence representation or assembly associated with a source.
IdentityAssertion: claim connecting an identifier to a referent.
Identifier: persistent or local label scoped to an issuing authority.
Observation: recorded evidence at a time and location.
LineageEvent: birth, division, fusion, differentiation or death event.
ProvenanceRecord: source, method, timestamp and version.
TYPED RELATIONSHIPS
HAS_IDENTIFIER(BiologicalEntity, Identifier)
IDENTIFIES(Identifier, BiologicalEntity, scope)
OBSERVED_AS(BiologicalEntity, Observation)
DERIVED_FROM(BiologicalSample, BiologicalEntity)
MEMBER_OF(Organism, Population, time)
CLASSIFIED_AS(BiologicalEntity, TaxonConcept, authority, time)
DESCENDS_FROM(BiologicalEntity, BiologicalEntity, LineageEvent)
PART_OF(BiologicalEntity, BiologicalEntity, time)
SAME_INDIVIDUAL_AS(BiologicalEntity, BiologicalEntity, evidence)
DIFFERENT_INDIVIDUAL_FROM(BiologicalEntity, BiologicalEntity, evidence)
SIMILAR_TO(BiologicalEntity, BiologicalEntity, criterion)
HAS_PROVENANCE(IdentityAssertion, ProvenanceRecord)
IDENTITY SEMANTICS
Numerical identity: SAME_INDIVIDUAL_AS is reflexive, symmetric and transitive only for compatible referents and validated assertions.
Taxonomic identity: CLASSIFIED_AS is not SAME_INDIVIDUAL_AS.
Genetic identity: matching DNA does not establish numerical identity (e.g., identical twins or clones).
Sample identity: a sample is not the organism from which it was obtained.
Lineage identity: parent and offspring are distinct individuals; a division event can terminate a cell's identity and introduce daughters under an explicit continuity policy.
Temporal continuity: changing traits or location does not automatically change individual identity.
Identity is context-sensitive for collectives and evolving biological structures; specify the chosen persistence criteria.
FORMAL SIGNATURE
Entity e : BiologicalEntity
Identifier i : Identifier
Observation o : Observation
Time t : Time
Authority a : Authority
Evidence v : Evidence
identity_claim(e1,e2,t,v) -> IdentityAssertion
compatible_type(e1,e2) -> Boolean
identifier_unique(i,a,t) -> Boolean
validate_identity(claim, evidence_set) -> ValidationResult
resolve_identity(candidate_set, context) -> ResolutionResult
CONSTRAINTS
C1: An identifier is unique only within its declared namespace, authority and validity interval.
C2: SAME_INDIVIDUAL_AS requires compatible biological identity criteria and supporting evidence.
C3: Contradictory validated same/different assertions raise an explicit conflict, not silent merging.
C4: Distinct samples cannot be merged merely because they originate from one organism.
C5: Taxon synonyms and nomenclatural changes do not imply individual organism identity.
C6: Observations and assertions must retain source, method, timestamp and uncertainty.
C7: Lineage links must respect temporal order, barring explicitly modelled exceptional cases.
C8: Missing evidence yields UNKNOWN, not FALSE.
FLOW OPERATIONS
flow IdentifyBiologicalEntity(observation, namespace, context):
candidates := retrieve_by_identifiers_and_features(observation, namespace)
candidates := filter_by_type_time_and_lineage(candidates, context)
evidence := compare_morphology_genetics_location_and_records(candidates, observation)
assertions := construct_scoped_identity_claims(candidates, evidence)
return validate_and_rank(assertions)
flow ReconcileIdentity(graph, incoming_assertion):
check_identifier_scope(incoming_assertion)
check_temporal_and_lineage_constraints(incoming_assertion)
conflicts := detect_conflicts(graph, incoming_assertion)
if conflicts != empty: return REVIEW_REQUIRED(conflicts)
if evidence_sufficient(incoming_assertion):
return graph.add_versioned_assertion(incoming_assertion)
return UNRESOLVED(incoming_assertion)
flow TrackContinuity(entity, observations):
order observations by event_time
link observations under declared persistence_policy
preserve branching lineage and sample derivations
return temporal_identity_trace_with_provenance
INFERENCE RULES
R1: SAME_INDIVIDUAL_AS(x,y) AND SAME_INDIVIDUAL_AS(y,z) AND compatible_scope(x,z) => candidate SAME_INDIVIDUAL_AS(x,z), subject to validation.
R2: HAS_IDENTIFIER(x,i) AND HAS_IDENTIFIER(y,i) AND unique(i,namespace,time) => candidate identity(x,y), not automatic certainty.
R3: DESCENDS_FROM(x,y,event) => lineage_related(x,y), not SAME_INDIVIDUAL_AS(x,y).
R4: CLASSIFIED_AS(x,taxon) AND CLASSIFIED_AS(y,taxon) => same_taxon(x,y), not same_individual(x,y).
R5: DERIVED_FROM(sample,organism) => shares_source(sample,organism), not same_individual(sample,organism).
SEMANTIC_EQUIVALENCE
Exact equivalence: two identity records denote the same individual under the same temporal and ontological criteria.
Contextual equivalence: two records correspond within a specified study, database or naming scheme.
Approximate match: records have overlapping features but unconfirmed numerical identity.
Non-equivalence: taxonomic similarity, common ancestry and genetic similarity alone.
Keep equivalence type, evidence and scope on every mapping edge.
CONFIDENCE
Confidence is an evidence-quality assessment, not a substitute for proof.
Inputs: identifier authority, independent observations, lineage consistency, measurement reliability, temporal compatibility and conflict count.
Return: {score: 0..1, calibration_method, evidence_refs, uncertainty, decision}.
Never fabricate a numerical confidence score; return UNKNOWN when calibration is unavailable.
VALIDATION
Check entity and edge types; identifier namespaces; temporal ordering; referential integrity; evidence links; conflicting assertions; taxonomic concept versions; and explicit handling of uncertain or unresolved cases.
Statuses: VALID, INVALID, CONFLICTED, UNRESOLVED, REVIEW_REQUIRED.
PROVENANCE
Every assertion records origin, author or instrument, collection method, dataset version, observed_at, asserted_at, validation history, transformations and licence metadata.
Preserve superseded assertions and their replacement reasons.
FLOW_HASH
Canonicalise typed entities, scoped relationships, constraints, ontology version and evidence references.
FLOW_HASH := SHA256(canonical_serialisation)
Hash is an integrity and change-detection marker; it does not prove scientific truth.
UPDATE_MODEL
On new observation or taxonomic revision:
ingest -> validate -> compare existing identity claims -> detect conflicts
-> create versioned changes -> recompute affected confidence and hashes
-> retain audit trail -> publish downstream change notifications.
AI_CONSUMPTION
Provide machine-readable entity IDs, type declarations, typed relationships, persistence criteria, confidence metadata, validation status, evidence provenance and temporal context.
AI agents must distinguish verified identity from candidate matches and refrain from collapsing different biological individuals or samples without justified evidence.
EXAMPLE
Observation A: tagged bird B-104 at t1.
Observation B: tagged bird B-104 at t2.
If the tag namespace is unique and tag reuse or transfer is excluded, propose SAME_INDIVIDUAL_AS(A.subject,B.subject), then validate against time, location and other evidence.
Two birds sharing a species classification are not the same individual.
END FLOW ALGEBRA