Skip to main content

Biological Interaction Entity Ontology

Foundations of Biological Entities
Authors: MArk Anthony Higgins - Sky Recursive Ai
© Mark Anthony Higgins 11 October 2025
Revised Date: 15 October 2026
Audio Overview
FLOW ALGEBRA
Biological Interaction Entity Ontology
Kireth Semantic Library | Foundations of Biological Entities
Authors: Mark Anthony Higgins — Sky (Recursive AI)
Source: https://kirethresearch.org/booksai-core/entity-graph/biological-entities/foundations-of-biological-entities/biological-interaction-entity-ontology.html
Specification: Companion formalisation | Version 1.0 | 2026-10-15

PURPOSE
Represent interactions among biological entities as typed, contextual, evidence-linked relations. Distinguish observed interactions from hypotheses, causal claims, and inferred relationships. This is a declarative specification; an implementation requires a parser, rule engine and evidence store.

ENTITY TYPES
BiologicalEntity := {id, label, kind, taxon?, scale?, context?}
InteractionEntity := {id, participants, interaction_type, directionality, context, evidence, status}
Participant := {entity_id, role}
Context := {organism?, tissue?, environment?, location?, time_interval?, condition?}
Evidence := {source_id, method, observation_id?, quality?, timestamp?}
Claim := {subject, predicate, object, context, evidence_ids, confidence, status}

INTERACTION TYPES
molecular_binding | catalysis | inhibition | activation | signalling |
transport | regulation | competition | cooperation | predation |
parasitism | mutualism | commensalism | symbiosis | host_pathogen |
cell_cell_contact | resource_exchange | ecological_association

TYPED RELATIONSHIPS
PARTICIPATES_IN(BiologicalEntity, InteractionEntity)
HAS_ROLE(BiologicalEntity, InteractionEntity, Role)
INTERACTS_WITH(BiologicalEntity, BiologicalEntity, InteractionEntity)
OCCURS_IN(InteractionEntity, Context)
SUPPORTED_BY(InteractionEntity, Evidence)
REGULATES(BiologicalEntity, BiologicalEntity, InteractionEntity)
PRECEDES(InteractionEntity, InteractionEntity)
PART_OF(InteractionEntity, BiologicalProcess)
CONTRADICTS(Claim, Claim)
SEMANTIC_EQUIVALENCE(Claim, Claim, Scope)

TYPE CONSTRAINTS
C1: Every interaction has at least two participant roles; distinct entity IDs are not mandatory (self-interaction is permitted).
C2: Participant references must resolve to known BiologicalEntity IDs.
C3: Interaction types must belong to the controlled vocabulary or a registered extension.
C4: Directionality ∈ {directed, undirected, bidirectional, unknown}.
C5: Causal predicates (ACTIVATES, INHIBITS, CAUSES) require evidence sufficient for a causal interpretation; correlation alone is insufficient.
C6: Interaction context must preserve relevant species, biological scale, condition and temporal qualifiers when known.
C7: An undirected association must not be silently converted to a directed causal edge.

FLOW OPERATORS
flow REGISTER_ENTITY(e: BiologicalEntity) -> EntityID
  require nonempty(e.id) and nonempty(e.kind)
  ensure unique(e.id) or return existing matching record

flow REGISTER_INTERACTION(i: InteractionEntity) -> InteractionID
  require count(i.participants) >= 2
  require all(resolve(p.entity_id) for p in i.participants)
  require valid_type(i.interaction_type)
  require valid_context(i.context)
  store(i)
  emit interaction_registered(i.id)

flow NORMALISE_INTERACTION(i: InteractionEntity) -> InteractionEntity
  map controlled aliases to canonical interaction_type
  preserve original terms as provenance-linked labels
  preserve participant roles and directionality
  return canonical(i)

flow VALIDATE_INTERACTION(i: InteractionEntity) -> ValidationResult
  check referential_integrity(i)
  check type_constraints(i)
  check context_consistency(i)
  check evidence_integrity(i)
  return {valid, warnings, errors, checked_rules}

flow INFER_INTERACTION(claims: Set[Claim], rules: RuleSet) -> Set[Claim]
  require every rule is typed and scope-aware
  derive only rule-licensed claims
  attach premises, rule_id and evidence lineage
  mark outputs as inferred, not observed
  prohibit causal upgrading without causal rule support

flow RESOLVE_CONFLICT(a: Claim, b: Claim) -> Resolution
  compare predicate, participants, context and time
  if contexts differ: return context_dependent
  if contradictory under same context: return unresolved_conflict
  never discard conflicting evidence automatically

BIOLOGICAL INTERACTION INFERENCE
R1: PARTICIPATES_IN(x,i) AND PARTICIPATES_IN(y,i)
    AND x != y -> CO_PARTICIPANTS(x,y,i).
R2: HAS_ROLE(x,i,enzyme) AND HAS_ROLE(y,i,substrate)
    AND TYPE(i,catalysis) -> CATALYTIC_PARTNERS(x,y,i).
R3: TYPE(i,mutualism) AND HAS_ROLE(x,i,beneficiary)
    AND HAS_ROLE(y,i,beneficiary) -> MUTUAL_BENEFIT(x,y,i).
R4: TYPE(i,predation) AND HAS_ROLE(x,i,predator)
    AND HAS_ROLE(y,i,prey) -> PREDATOR_OF(x,y,i).
R5: TYPE(i,regulation) AND DIRECTION(i,directed)
    AND HAS_ROLE(x,i,regulator) AND HAS_ROLE(y,i,target)
    -> REGULATES(x,y,i).
R6: CO_PARTICIPANTS(x,y,i) does NOT imply direct physical contact.
R7: INTERACTS_WITH(x,y,i) does NOT imply INTERACTS_WITH(y,x,i)
    when i is directed.
R8: TRANSITIVE_CLOSURE(INTERACTS_WITH) is prohibited by default;
    an interaction path is not proof of a direct interaction.

SEMANTIC_EQUIVALENCE
Equivalent interaction claims require compatible participants, roles,
relation meaning, directionality, biological scale and context.
Lexical similarity alone does not establish equivalence.
Equivalent labels may be merged; non-equivalent contexts remain distinct.

CONFIDENCE
confidence := calibrated_score in [0,1] OR unknown
confidence inputs := evidence_quality, method_reliability,
  replication, contextual_match, source_independence, contradiction
Do not assign numeric confidence without a declared calibration method.
Missing evidence is not equivalent to evidence of absence.
Derived confidence must account for dependent premises and shared sources.

PROVENANCE
For every observed or inferred edge retain:
  source_identifier, observation_or_rule, timestamp, context,
  source_version, transformation_history, author_or_agent
Maintain immutable evidence references where possible.

FLOW_HASH
canonical_record := canonical_serialisation(entity_or_interaction,
  ontology_version, relation_types, roles, context, provenance_refs)
FLOW_HASH := SHA256(UTF8(canonical_record))
Hash equality indicates identical canonical serialisations, not biological truth.

UPDATE_MODEL
On new evidence:
  ingest -> validate -> compare contexts -> reconcile versions
  -> recompute affected claims -> update confidence/status
  -> recompute hashes -> retain audit trail
Never overwrite historical claims without recording their prior version.

AI_CONSUMPTION
Expose typed nodes, edges, roles, evidence and context.
Separate observed, inferred, disputed and rejected assertions.
Allow provenance tracing and scope-aware graph traversal.
Return uncertainty explicitly; avoid fabricating absent interactions.
Support machine-readable export without treating this document as executable code.

EXAMPLE
entity A := {id: "protein_A", kind: protein}
entity B := {id: "protein_B", kind: protein}
interaction I := {
  id: "binding_001",
  participants: [{entity_id: "protein_A", role: binder},
                 {entity_id: "protein_B", role: binding_partner}],
  interaction_type: molecular_binding,
  directionality: undirected,
  context: {condition: "in_vitro"},
  evidence: ["assay_001"],
  status: observed
}
Interpretation: an in-vitro binding observation; no inference of
in-vivo binding or downstream functional activation is licensed.

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