Skip to main content

Biological Environmental Indicator Ontology

Environmental Biological Entities
Authors: MArk Anthony Higgins - Sky Recursive Ai
© Mark Anthony Higgins 11 October 2025
Revised Date: 26 October 2026
Audio Overview
FLOW ALGEBRA
Biological Environmental Indicator Ontology — Full Flow Algebra v1.0
Kireth Semantic Library
Authors: Mark Higgins — Sky (Recursive AI)
Source: https://kirethresearch.org/booksai-core/entity-graph/biological-entities/experimental-biological-entities/biological-environmental-indicator-ontology.html
Status: Newly authored conceptual formalisation; not a verified extraction or executable implementation.
Locale: en-GB

flow "BiologicalEnvironmentalIndicatorOntology" v1.0

# 1. DOMAIN AND PURPOSE
ontology.id: biological_environmental_indicator
ontology.parent: experimental_biological_entities
ontology.purpose: represent biological observations used to infer environmental conditions, pressures and change while preserving uncertainty and provenance

# 2. TYPED ENTITIES
entity BiologicalEnvironmentalIndicator <: EcologicalEntity:
  id: URI
  name: String
  indicator_kind: Enum[species, community, functional_trait, biomarker, physiological_response, ecological_index]
  target_condition: URI
  observed_response: Measurement?
  reference_condition: URI?
  location: URI
  observation_time: DateTime
  method: URI
  confidence: Float[0..1]
  provenance: URI

entity IndicatorSpecies <: BiologicalEnvironmentalIndicator:
  taxon: URI
  abundance: NonNegativeReal?
  presence: Boolean?

entity CommunityIndicator <: BiologicalEnvironmentalIndicator:
  taxa: Set[URI]
  richness: NonNegativeInteger?
  diversity_index: Real?

entity BiomarkerIndicator <: BiologicalEnvironmentalIndicator:
  analyte: URI
  organism: URI
  concentration: Measurement?

entity EnvironmentalCondition:
  id: URI
  variable: String
  value: Measurement
  temporal_extent: Interval
  spatial_extent: URI

entity EnvironmentalPressure:
  id: URI
  pressure_kind: Enum[pollution, eutrophication, warming, acidification, salinisation, habitat_loss, oxygen_depletion, disturbance, other]
  intensity: Measurement?

entity Observation:
  id: URI
  subject: URI
  value: Measurement
  sampling_method: URI
  detection_limit: Measurement?
  observed_at: DateTime
  source: URI

entity ReferenceBaseline:
  id: URI
  habitat_type: URI
  metric: URI
  distribution: StatisticalDistribution
  validity_period: Interval
  method: URI

entity Assessment:
  id: URI
  indicator: URI
  condition: URI
  evidence: Set[URI]
  outcome: Enum[improving, stable, deteriorating, indeterminate]
  confidence: Float[0..1]

# 3. TYPED RELATIONSHIPS
relation INDICATES(BiologicalEnvironmentalIndicator, EnvironmentalCondition)
relation RESPONDS_TO(BiologicalEnvironmentalIndicator, EnvironmentalPressure)
relation OBSERVED_IN(BiologicalEnvironmentalIndicator, Habitat)
relation MEASURED_BY(BiologicalEnvironmentalIndicator, Observation)
relation COMPARED_WITH(Observation, ReferenceBaseline)
relation SUPPORTS(Observation, Assessment)
relation CONFOUNDED_BY(Assessment, EnvironmentalCondition)
relation DERIVED_FROM(Assessment, Set[Observation])
relation HAS_TAXON(IndicatorSpecies, Taxon)
relation HAS_PROVENANCE(Observation, Source)

# 4. SEMANTIC CONSTRAINTS
constraint C1: every indicator assessment has a location, time, measurement method and provenance
constraint C2: confidence in [0,1]
constraint C3: baseline comparisons require compatible units, methods, habitat and temporal context
constraint C4: absence is not established by non-detection without accounting for detection probability
constraint C5: an association between indicator and pressure does not by itself establish causation
constraint C6: a taxon's indicator meaning is context-dependent, not universal across ecosystems
constraint C7: an ecological index must identify its component metrics and calculation method
constraint C8: missing data are distinct from measured zero values

# 5. INFERENCE RULES
rule R1 IndicatorResponse:
  IF observation(indicator, t, site) AND calibrated_response(indicator, pressure, context)
  THEN evidence_for(pressure, site, t) WITH confidence calibrated_from(response, uncertainty, context)

rule R2 BaselineDeviation:
  IF comparable(observation, baseline) AND deviation_exceeds_threshold(observation, baseline)
  THEN flag(environmental_change) WITH provenance(observation, baseline)

rule R3 MultiIndicatorConvergence:
  IF independent_indicators_support(condition) AND methods_compatible
  THEN strengthen_evidence(condition) WITHOUT assuming independence unless justified

rule R4 ConfounderCheck:
  IF alternative_driver_explains(response)
  THEN downgrade_specificity_of_inference AND record_confounder

rule R5 TrendInference:
  IF repeated_comparable_observations AND trend_uncertainty_is_estimated
  THEN classify_trend(improving | stable | deteriorating | indeterminate)

# 6. QUANTITATIVE MODELS
model StandardisedDeviation:
  z = (observed_value - baseline_mean) / baseline_standard_deviation
  requires: baseline_standard_deviation > 0 and comparable measurements

model RelativeChange:
  delta_relative = (value_t2 - value_t1) / abs(value_t1)
  requires: value_t1 != 0 and comparable time points

model OccupancyDetection:
  observed_detection_probability = occupancy_probability * detection_probability
  note: simplified single-visit expression; repeated surveys require explicit detection model

model WeightedCompositeIndex:
  index = sum_i(weight_i * normalised_metric_i) / sum_i(weight_i)
  requires: nonnegative weights, positive total weight, documented normalisation and direction

model BayesianEvidenceUpdate:
  posterior_odds = prior_odds * likelihood_ratio
  requires: calibrated likelihoods and explicit model assumptions

# 7. INVARIANTS
invariant I1: preserve observation identity and source provenance
invariant I2: preserve units and spatial-temporal scope through transformations
invariant I3: do not infer a pressure from a biological response without contextual evidence
invariant I4: all quantitative transformations expose assumptions and uncertainty
invariant I5: indicator assessments remain revisable when new observations arrive

# 8. CONFIDENCE
CONFIDENCE:
  inputs: [sampling_quality, detection_reliability, calibration_strength, spatial_representativeness, temporal_representativeness, confounder_control]
  output_range: [0, 1]
  aggregation: calibrated_model_required
  policy: never fabricate numerical confidence where calibration is unavailable

# 9. SEMANTIC EQUIVALENCE
SEMANTIC_EQUIVALENCE:
  compare: [indicator_kind, taxon_or_metric, habitat, pressure, method, units, spatial_scale, temporal_scale]
  exact: same operational definition and compatible scope
  related: overlapping concepts but non-interchangeable methods or contexts
  distinct: differing ecological meanings
  preserve_aliases: true

# 10. FLOW HASH
FLOW_HASH:
  canonicalise: [ontology_id, version, entity_types, relations, constraints, inference_rules, model_definitions]
  algorithm: SHA-256
  exclude: [display_formatting, runtime_timestamps]
  note: calculate only after deterministic serialisation; no digest is asserted here

# 11. UPDATE MODEL
UPDATE_MODEL:
  event_types: [new_observation, revised_baseline, taxonomic_revision, calibration_update, method_change, retracted_evidence]
  process:
    - validate event and provenance
    - retain previous version
    - identify dependent assessments
    - recompute affected inferences and uncertainty
    - record version, reason and timestamp
    - publish change log

# 12. AI CONSUMPTION
AI_CONSUMPTION:
  output_fields: [entity_id, type, indicator, target_condition, evidence, location, time, method, units, uncertainty, confidence, provenance, version]
  rules:
    - distinguish observation from inference
    - distinguish association from causation
    - label missing or unverified evidence
    - preserve source attribution
    - expose model limitations
    - do not silently merge incompatible baselines

# 13. VALIDATION CASES
case V1: an observed lichen decline with an appropriate baseline may support an air-quality assessment, but is not proof of one pollutant
case V2: macroinvertebrate diversity observations may contribute to freshwater status only with a specified index and sampling method
case V3: no species detected in one survey does not prove local extinction
case V4: two indicator values measured in incompatible units must not be directly compared
case V5: changing a baseline triggers reassessment of dependent classifications

# 14. CROSS-ONTOLOGY LINKS
links:
  - Biological Environment Ontology
  - Ecological Entity Ontology
  - Indicator Species Ontology
  - Habitat Ontology
  - Aquatic Habitat Ontology
  - Soil Habitat Ontology
  - Population Ontology
  - Biological Community Ontology
  - Environmental Measurement Ontology

# 15. LIMITATIONS
This document specifies a conceptual, typed Flow Algebra. It is not a deployed inference engine, a validated scientific indicator protocol, or a claim that the source webpage contains this exact syntax. Operational use requires data schemas, calibration, uncertainty estimation, executable semantics and scientific validation.

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