FLOW ALGEBRA
MOLECULAR COMPLEX ONTOLOGY
Kireth Semantic Library | Chemical Foundations of Life
Version: 1.0 | 2026-10-15
Source: https://kirethresearch.org/booksai-core/entity-graph/biological-entities/chemical-foundations-of-life/molecular-complex-ontology.html
Authors: Mark Higgins — Sky (Recursive AI)
Status: Companion formalisation; schema and rules are proposed, not experimentally validated.
1. PURPOSE
Represent molecular complexes as assemblies of interacting molecular components, with explicit stoichiometry, topology, binding, function, evidence and contextual state. Distinguish stable complexes from transient interactions and mere co-localisation.
2. TYPED ENTITY MODEL
entity MolecularComplex {
id: URI; label: string; components: ComponentMembership[1..*];
assembly_state: {assembled, partially_assembled, disassembled, unknown};
location: BiologicalCompartment?; biological_function: FunctionTerm[*];
evidence: EvidenceRecord[*]; confidence: Real[0,1]?;
provenance: ProvenanceRecord[1..*]; version: string;
}
entity MolecularComponent {id: URI; kind: {protein, RNA, DNA, lipid, small_molecule, ion, other}; name: string}
entity ComponentMembership {component: MolecularComponent; count: PositiveInteger?; role: string?; binding_site: string?}
entity Interaction {participant_a: URI; participant_b: URI; type: InteractionType; context: Context; evidence: EvidenceRecord[*]}
entity Context {species: string?; tissue: string?; compartment: string?; condition: string?; time: string?}
entity EvidenceRecord {method: string; source: URI?; assertion: string; reliability: Real[0,1]?}
entity ProvenanceRecord {source: URI; retrieved_at: string?; curator: string?; transformation: string?}
3. RELATIONSHIP ALGEBRA
PART_OF(component, complex) : Boolean
HAS_STOICHIOMETRY(complex, component, count) : Boolean
BINDS_TO(a, b, context) : EvidenceQualifiedRelation
ASSEMBLES_IN(complex, compartment) : Boolean
PARTICIPATES_IN(complex, process) : Boolean
PERFORMS_FUNCTION(complex, function, context) : EvidenceQualifiedRelation
DERIVED_FROM(assertion, evidence) : Boolean
HAS_SUBCOMPLEX(parent, child) : Boolean
4. FORMAL CONSTRAINTS
C1: Each complex has at least one component membership; a single-component record must explicitly justify complex status (for example, a homomer with count > 1).
C2: Known stoichiometric counts are positive integers; unknown counts remain unknown rather than assumed to equal one.
C3: PART_OF is not automatically symmetric. Transitivity requires compatible granularity and context.
C4: Binding alone does not establish a stable molecular complex.
C5: Two complexes with identical component names need not be identical: stoichiometry, structure, state and context may differ.
C6: A molecular complex is not necessarily covalently bonded; non-covalent assemblies are permitted.
C7: Functional assertions require evidence or an explicit inferred status.
C8: Conflicting observations are retained with provenance rather than silently overwritten.
5. FLOW OPERATORS
flow REGISTER_COMPLEX(components, context, evidence) -> MolecularComplex
require valid_component_identifiers(components)
require valid_membership_counts(components)
return create_versioned_complex(components, context, evidence)
flow INFER_MEMBERSHIP(complex, observation) -> Assertion
if observation demonstrates physical association and assembly context:
return assertion(PART_OF, status="supported", evidence=observation)
return assertion(PART_OF, status="unresolved", evidence=observation)
flow COMPARE_COMPLEXES(a, b) -> Comparison
compare component identities, stoichiometry, topology, context and assembly state
return {exact_identity, structural_equivalence, functional_similarity, distinct, unresolved}
flow VALIDATE_COMPLEX(complex) -> ValidationReport
check identifiers, component counts, relation types, context, evidence and provenance
flag contradictory stoichiometries and unsupported functional conclusions
return report(errors, warnings, unresolved)
6. RECURSIVE GRAPH REASONING
TRAVERSE(complex, HAS_SUBCOMPLEX, depth_limit, visited_set) -> Graph
require depth_limit >= 0
stop on visited identifiers to prevent cycles
retain edge context and evidence at each step
return reachable_subgraph
7. SEMANTIC EQUIVALENCE
SEMANTIC_EQUIVALENCE(a,b) is true only if an explicitly declared identity criterion is satisfied.
Exact equivalence: matching canonical assembly identity under compatible context.
Structural equivalence: same supported architecture and component stoichiometry.
Functional similarity: overlapping function without identity implication.
Aliases: map names to identifiers without asserting that all similarly named complexes are identical.
8. CONFIDENCE
CONFIDENCE(assertion) -> Real[0,1] or unknown
inputs: evidence quality, reproducibility, method suitability, contextual match, contradiction status
rule: unknown evidence is not automatically scored as zero
rule: a confidence score is an estimate, not a proof
rule: preserve component evidence and calibration metadata
9. PROVENANCE AND FLOW HASH
canonical_record = normalise(typed_entities, typed_edges, context, evidence_references, schema_version)
FLOW_HASH = SHA256(UTF8(canonical_serialisation(canonical_record)))
Store hash algorithm, canonicalisation version, record version and creation time.
A hash detects changes to the canonical record; it does not verify scientific truth.
10. UPDATE MODEL
UPDATE_MODEL(old_record, new_evidence) -> new_version
preserve previous version and evidence
append evidence with source and date
revalidate constraints and confidence
update equivalence mappings where justified
recompute FLOW_HASH
emit change_log and unresolved_conflicts
11. EXAMPLE GRAPH (ILLUSTRATIVE)
complex: Ribosome
component: LargeRibosomalSubunit
component: SmallRibosomalSubunit
PART_OF(LargeRibosomalSubunit, Ribosome)
PART_OF(SmallRibosomalSubunit, Ribosome)
PARTICIPATES_IN(Ribosome, Translation)
Note: subunit composition and nomenclature vary across biological lineages.
12. AI CONSUMPTION
AI_CONSUMPTION {
input: typed graph + evidence + provenance + context;
outputs: entity lookup, assembly comparison, subcomplex traversal, explainable inference;
requirements: distinguish observed from inferred edges; cite evidence; preserve unknowns;
safeguards: no invented stoichiometry; no identity inference from labels alone;
interoperability: URI identifiers, versioned schema, exportable RDF/JSON-LD mapping;
}
13. LIMITATIONS
This is a proposed semantic representation, not a fully implemented execution engine or proof of biological assertions. Concrete mappings to reference ontologies and experimental datasets require separate curation and validation.
END FLOW ALGEBRA
Download Code
Copy to Clipboard