Skip to main content

Biological Environment 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 ENVIRONMENT ENTITY 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-environment-entity-ontology.html
Authors: Mark Higgins — Sky (Recursive AI)
Status: Companion formalisation; declarative specification, not a verified executable program.

1. PURPOSE
Represent environments relevant to biological entities, including their physical, chemical, biological, spatial and temporal conditions; connect organisms, populations and processes to their environmental context; preserve evidence and uncertainty.

2. TYPE SYSTEM
TYPE BiologicalEnvironmentEntity <: ContextualEntity
TYPE Habitat <: BiologicalEnvironmentEntity
TYPE Ecosystem <: BiologicalEnvironmentEntity
TYPE Microenvironment <: BiologicalEnvironmentEntity
TYPE EnvironmentalCondition <: ObservableEntity
TYPE AbioticFactor <: EnvironmentalCondition
TYPE BioticFactor <: EnvironmentalCondition
TYPE EnvironmentalEvent <: EventEntity
TYPE BiologicalEntity <: Entity
TYPE Observation <: EvidenceEntity
TYPE Location <: SpatialEntity
TYPE TimeInterval <: TemporalEntity
TYPE Unit <: MeasurementEntity
TYPE Quantity = {value: number, unit: Unit, uncertainty?: number}
TYPE Confidence = real in [0,1]
TYPE ValidationStatus = {unverified, validated, rejected, indeterminate}

3. ENTITY FIELDS
ENTITY environment: BiologicalEnvironmentEntity {
  id: URI;
  label: string;
  environment_type: string;
  location?: Location;
  valid_time?: TimeInterval;
  spatial_scale?: string;
  conditions: set<EnvironmentalCondition>;
  associated_entities: set<BiologicalEntity>;
  provenance: set<Observation>;
  confidence: Confidence;
  validation_status: ValidationStatus;
  version: string;
}
ENTITY condition: EnvironmentalCondition {
  id: URI;
  factor: string;
  measurement?: Quantity;
  observation_time?: TimeInterval;
  method?: string;
  evidence?: Observation;
  confidence: Confidence;
}

4. RELATIONSHIP ALGEBRA
RELATION located_in(BiologicalEntity, BiologicalEnvironmentEntity)
RELATION inhabits(BiologicalEntity, Habitat)
RELATION contains_environment(BiologicalEnvironmentEntity, BiologicalEnvironmentEntity)
RELATION has_condition(BiologicalEnvironmentEntity, EnvironmentalCondition)
RELATION interacts_with(BiologicalEntity, BiologicalEnvironmentEntity)
RELATION affects(EnvironmentalCondition, BiologicalEntity)
RELATION influences(EnvironmentalCondition, BiologicalProcessEntity)
RELATION observed_at(Observation, BiologicalEnvironmentEntity)
RELATION observed_during(Observation, TimeInterval)
RELATION supported_by(Assertion, Observation)
RELATION overlaps_spatially(BiologicalEnvironmentEntity, BiologicalEnvironmentEntity)
RELATION changes_to(BiologicalEnvironmentEntity, BiologicalEnvironmentEntity)

5. CONSTRAINTS AND SEMANTICS
RULE R1: inhabits(x,h) => located_in(x,h), provided h is a Habitat.
RULE R2: contains_environment(a,b) AND located_in(x,b) => located_in(x,a), only when containment and location are valid at the same time and spatial interpretation.
RULE R3: has_condition(e,c) does NOT entail affects(c,x) for every entity x in e; causal influence requires independent evidence.
RULE R4: overlaps_spatially(a,b) is symmetric; contains_environment(a,b) is not generally symmetric.
RULE R5: environmental observations must retain units, methods, timestamps and sampling locations where available.
RULE R6: missing environmental data is unknown, not evidence of absence.
RULE R7: habitat suitability is species-, stage-, location- and time-dependent.
RULE R8: environmental association does not by itself establish causation.

6. COMPOSITION AND INFERENCE
FLOW observe_environment(observations: set<Observation>) -> set<EnvironmentalCondition>:
  normalise measurement units;
  preserve raw values and uncertainty;
  associate observations with spatial and temporal scope;
  derive condition records with evidence links;
  flag incompatible or missing metadata.

FLOW link_biological_context(entity: BiologicalEntity, environment: BiologicalEnvironmentEntity) -> Assertion:
  check identity, location and time overlap;
  establish typed relationship supported by evidence;
  return assertion with provenance, confidence and validation status.

FLOW infer_environmental_effect(condition: EnvironmentalCondition, entity: BiologicalEntity) -> Assertion:
  require a stated mechanism, study or observation;
  assess confounders and temporal order;
  distinguish correlation, prediction and causal evidence;
  return supported, rejected or indeterminate claim.

7. SEMANTIC EQUIVALENCE
SEMANTIC_EQUIVALENCE(a,b) requires compatible identity criteria, spatial extent, time scope, factor definitions and measurement semantics.
ALIAS labels may resolve to the same environment only after disambiguation.
SIMILARITY does not imply IDENTITY; neighbouring habitats and successive ecosystem states must not be merged automatically.

8. VALIDATION
VALIDATE environment.id is unique within namespace.
VALIDATE confidence is within [0,1].
VALIDATE measured quantities use compatible dimensions and declared units.
VALIDATE spatial geometry and time interval are coherent where present.
VALIDATE every asserted causal relationship cites supporting evidence.
VALIDATE observation records preserve source and collection context.
VALIDATE graph relationships respect declared domain and range types.

9. PROVENANCE AND CONFIDENCE
PROVENANCE = {source_uri, creator, observed_at, recorded_at, method, instrument?, licence?, version}
CONFIDENCE(assertion) = calibrated evidence assessment, not an automatic proof of truth.
Keep observation quality, model uncertainty and inference confidence distinct.
Conflicting observations remain linked as separate records until adjudicated.

10. RECURSIVE GRAPH OPERATIONS
TRAVERSE(environment, relations, max_depth, visited_set):
  follow only type-compatible relationships;
  stop on visited nodes and maximum depth;
  preserve direction, time scope and evidence for each edge;
  return paths with traceable provenance.
CYCLES in ecological interaction graphs are permitted; containment cycles indicate modelling errors unless explicitly justified.

11. FLOW HASH
FLOW_HASH = SHA-256(canonical_serialisation(ontology_id, version, entity_types, relationships, rules, constraints))
Canonicalisation must specify ordering, character encoding and numeric normalisation.
Hash identifies the specification snapshot, not the correctness of biological claims.

12. UPDATE MODEL
UPDATE_MODEL(new_observation):
  append immutable observation record;
  re-evaluate affected conditions and claims;
  preserve prior versions and timestamps;
  recalculate validation and confidence where justified;
  regenerate FLOW_HASH after specification changes;
  publish an auditable change record.

13. AI CONSUMPTION
AI_CONSUMPTION:
  expose typed entities, definitions, constraints and provenance;
  return time- and location-scoped environmental claims;
  distinguish observation, hypothesis, inference and established evidence;
  avoid causal overstatement and unsupported certainty;
  preserve units, uncertainties and missing-value markers;
  allow graph retrieval and recursive reasoning with bounded traversal.

14. EXAMPLE INSTANCE (ILLUSTRATIVE ONLY)
ENVIRONMENT estuary_habitat : Habitat
CONDITION salinity_sample : AbioticFactor {factor: salinity, measurement: {value: 18, unit: PSU}}
RELATION has_condition(estuary_habitat, salinity_sample)
ASSERTION: A recorded salinity observation describes one sampled place and time; it does not define the salinity of the entire estuary indefinitely.

15. OUTPUT CONTRACT
OUTPUT {entities, relationships, conditions, assertions, evidence, confidence, validation_status, temporal_scope, spatial_scope, provenance, version, flow_hash}

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