FLOW ALGEBRA
Organic Matter Ontology — Full Flow Algebra v1.0
Kireth Semantic Library | 26 October 2026
Authors: Mark Higgins — Sky (Recursive AI)
Source: https://kirethresearch.org/booksai-core/entity-graph/biological-entities/experimental-biological-entities/organic-matter-ontology.html
Status: Newly authored conceptual specification; not a verified extraction or executable implementation.
flow "OrganicMatterOntology" v1.0
# 01 — SCOPE
ontology.id: KSL.BIO.EXPERIMENTAL.ORGANIC_MATTER
ontology.label: "Organic Matter Ontology"
ontology.domain: biological_environment
ontology.purpose: "Represent biologically derived organic material, its composition, origin, transformations and ecological roles."
ontology.open_world: true
# 02 — TYPED ENTITIES
entity OrganicMatter: Material {
id: URI
source: BiologicalSource?
origin: OriginClass
compartment: EnvironmentalCompartment?
carbon_mass: Quantity<kg_C>?
dry_mass: Quantity<kg>?
organic_carbon_fraction: Fraction?
nitrogen_mass: Quantity<kg_N>?
phosphorus_mass: Quantity<kg_P>?
biodegradability: Fraction?
timestamp: DateTime?
}
entity LivingBiomass: OrganicMatter
entity DeadOrganicMatter: OrganicMatter
entity Detritus: DeadOrganicMatter
entity Litter: Detritus
entity SoilOrganicMatter: OrganicMatter
entity DissolvedOrganicMatter: OrganicMatter
entity ParticulateOrganicMatter: OrganicMatter
entity MicrobialBiomass: LivingBiomass
entity HumifiedOrganicMatter: SoilOrganicMatter
entity OrganicResidue: DeadOrganicMatter
entity BiologicalSource: BiologicalEntity
entity Decomposer: Organism
entity NutrientPool: MaterialPool
entity CarbonPool: MaterialPool
entity EnvironmentalCompartment: Environment
entity TransformationProcess: Process
entity Decomposition: TransformationProcess
entity Mineralisation: TransformationProcess
entity Immobilisation: TransformationProcess
entity Humification: TransformationProcess
entity Leaching: TransformationProcess
entity Respiration: TransformationProcess
entity Measurement: Observation
enum OriginClass = [plant, animal, fungal, microbial, mixed, unknown]
# 03 — RELATIONSHIP SIGNATURES
relation DERIVED_FROM(OrganicMatter, BiologicalSource)
relation LOCATED_IN(OrganicMatter, EnvironmentalCompartment)
relation COMPONENT_OF(OrganicMatter, CarbonPool)
relation CONTAINS_NUTRIENT(OrganicMatter, NutrientPool)
relation CONSUMED_BY(OrganicMatter, Decomposer)
relation TRANSFORMED_BY(OrganicMatter, TransformationProcess)
relation PRODUCES(TransformationProcess, OrganicMatter | NutrientPool | CarbonPool)
relation CONTRIBUTES_TO(OrganicMatter, SoilOrganicMatter)
relation TRANSFERRED_TO(OrganicMatter, EnvironmentalCompartment)
relation MEASURED_BY(OrganicMatter, Measurement)
relation SEMANTIC_EQUIVALENCE(Entity, Entity, Context)
# 04 — SCIENTIFIC SEMANTICS
rule R01: DeadOrganicMatter(x) -> OrganicMatter(x)
rule R02: Detritus(x) -> DeadOrganicMatter(x)
rule R03: Litter(x) -> Detritus(x)
rule R04: MicrobialBiomass(x) -> LivingBiomass(x)
rule R05: HumifiedOrganicMatter(x) -> SoilOrganicMatter(x)
rule R06: DERIVED_FROM(x, s) & BiologicalSource(s) -> biological_origin(x)
rule R07: TRANSFORMED_BY(x, p) & Decomposition(p) -> potentially_releases_nutrients(x)
rule R08: CONSUMED_BY(x, d) & Decomposer(d) -> participates_in_detrital_food_web(x)
rule R09: DissolvedOrganicMatter(x) -> phase_class(x, dissolved_operational)
rule R10: ParticulateOrganicMatter(x) -> phase_class(x, particulate_operational)
# 05 — QUANTITATIVE MODELS
model M01 "Organic carbon content":
C_organic = dry_mass * organic_carbon_fraction
requires: dry_mass >= 0, 0 <= organic_carbon_fraction <= 1
unit: kg_C
model M02 "Carbon to nitrogen ratio":
C_to_N = carbon_mass / nitrogen_mass
requires: nitrogen_mass > 0
note: "Both numerator and denominator must be expressed as element masses."
model M03 "First-order decomposition approximation":
dM/dt = -k * M
solution: M(t) = M0 * exp(-k*t)
requires: M0 >= 0, k >= 0, t >= 0
caveat: "Empirical approximation; k varies with substrate, temperature, moisture and microbial activity."
model M04 "Compartment mass balance":
delta_stock = inputs - outputs + internal_production - internal_consumption
requires: "All terms use consistent mass units, spatial boundary and time interval."
model M05 "Mineralisation net flux":
net_mineralisation = gross_mineralisation - immobilisation
note: "Negative values represent net immobilisation."
# 06 — INVARIANTS AND VALIDATION
invariant V01: mass >= 0 when measured
invariant V02: 0 <= fraction <= 1
invariant V03: nitrogen_mass >= 0 and phosphorus_mass >= 0
invariant V04: every asserted transformation has provenance and temporal context
invariant V05: mass conservation within declared boundary, allowing measured imports/exports and uncertainty
invariant V06: living biomass and dead matter must not be equated without temporal or state qualification
invariant V07: dissolved/particulate classifications require operational filtration threshold metadata when compared across studies
invariant V08: "Organic matter" is not identical to "organic carbon"; conversions require a justified carbon fraction
invariant V09: avoid assuming all organic matter is readily biodegradable
invariant V10: measurement uncertainty and detection limits must be retained
# 07 — INFERENCE / UNCERTAINTY
inference:
mode: typed_rule_based
policy: open_world
unknown_is_false: false
contradictory_claims: retain_with_provenance
confidence:
range: [0.0, 1.0]
fields: [method, evidence_quality, sampling_coverage, temporal_relevance, model_assumptions]
aggregation: "No automatic multiplication of confidence without a calibrated dependence model."
# 08 — SEMANTIC EQUIVALENCE
semantic_equivalence:
canonical_term: "organic matter"
related_terms: ["biogenic organic material", "detrital organic material", "soil organic matter", "dissolved organic matter"]
rule: "Related terms are not globally interchangeable. Require matching definition, phase, context, composition and measurement method."
prohibit_equating: ["organic matter = organic carbon", "soil organic matter = humus", "all organic matter = detritus"]
# 09 — FLOW HASH / PROVENANCE
FLOW_HASH:
algorithm: SHA-256
canonical_input: "UTF-8 normalised canonical representation of ontology id, version, entity declarations, relationship signatures, rules and invariants"
output: "Computed by deployment tooling; no hash value asserted here."
provenance:
source_url: "https://kirethresearch.org/booksai-core/entity-graph/biological-entities/experimental-biological-entities/organic-matter-ontology.html"
authored_by: ["Mark Higgins", "Sky (Recursive AI)"]
distinction: "Conceptual formalisation inspired by ontology title; webpage contents not independently verified."
# 10 — UPDATE MODEL
UPDATE_MODEL:
operations: [CREATE_ENTITY, UPDATE_ATTRIBUTE, ASSERT_RELATION, RETRACT_RELATION, ADD_OBSERVATION, SUPERSEDE_CLASSIFICATION]
required_fields: [entity_id, operation, timestamp, evidence, actor, prior_version]
constraints:
- "Preserve immutable observation history."
- "Revalidate affected invariants after updates."
- "Recompute FLOW_HASH for semantic schema changes."
- "Distinguish observed measurements from inferred values."
# 11 — AI CONSUMPTION
AI_CONSUMPTION:
interfaces: [typed_entity_graph, provenance_aware_query, constrained_inference, model_export]
supported_questions:
- "What is the origin and composition of a given organic matter pool?"
- "How does decomposition alter carbon and nutrient pools?"
- "Which organisms process organic residues in a given habitat?"
- "What evidence supports a reported carbon stock?"
output_requirements: [entity_ids, units, context, provenance, confidence, uncertainty, model_assumptions]
guardrails:
- "Never invent observations or measured values."
- "Label model estimates separately from direct observations."
- "Do not infer causality from correlation alone."
# 12 — CROSS-ONTOLOGY LINKS
links:
- KSL.BIO.ECOLOGICAL_RESOURCE
- KSL.BIO.SOIL_HABITAT
- KSL.BIO.DECOMPOSER_ORGANISM
- KSL.BIO.ECOSYSTEM
- KSL.BIO.FOOD_CHAIN
- KSL.ENV.CARBON_CYCLE
- KSL.ENV.NUTRIENT_CYCLE
end flow
END OF FLOW ALGEBRA
Download Code
Copy to Clipboard