FLOW ALGEBRA
TITLE: Environmental Monitoring Domain Ontology
DOMAIN: Domain Ontologies / Earth & Environmental Domains
SOURCE: https://kirethresearch.org/booksai-core/ontologies/domain-ontologies/earth-environmental-domains/environmental-monitoring-domain-ontology.html
VERSION: 1.0
AUTHORS: Mark Anthony Higgins — Sky (Recursive AI)
STATUS: Companion formalisation; source-page specification not independently verified.
flow "EnvironmentalMonitoringDomainOntology" v1.0 {
ontology:
id: "environmental-monitoring-domain-ontology"
parent: "earth-environmental-domains"
purpose: "Represent environmental monitoring programmes, observations, sensors, indicators, quality controls, trends and evidence-backed assessments."
types:
MonitoringProgramme: {id: string, objective: string, region: string?, start: datetime?, end: datetime?, provenance: string}
MonitoringSite: {id: string, location: string, coordinate_reference_system: string?, habitat: string?, provenance: string}
EnvironmentalMedium: enum[air, water, soil, sediment, biota, noise, radiation, other]
Instrument: {id: string, kind: string, calibration_record: string?, detection_limit: number?, provenance: string}
Indicator: {id: string, name: string, medium: EnvironmentalMedium, unit: string?, threshold: number?, threshold_basis: string?}
Observation: {id: string, site: string, indicator: string, timestamp: datetime, value: number?, unit: string?, uncertainty: number?, instrument: string?, method: string?, quality_flag: string?, provenance: string}
Sample: {id: string, site: string, medium: EnvironmentalMedium, collected_at: datetime, preservation_method: string?, chain_of_custody: string?}
Assessment: {id: string, period_start: datetime, period_end: datetime, method: string, finding: string, evidence: string[], confidence: number}
Relationship: {id: string, subject: string, predicate: string, object: string, context: string?, confidence: number, evidence: string[]}
predicates:
monitors(programme: MonitoringProgramme, indicator: Indicator)
includes_site(programme: MonitoringProgramme, site: MonitoringSite)
located_at(observation: Observation, site: MonitoringSite)
measures(observation: Observation, indicator: Indicator)
recorded_by(observation: Observation, instrument: Instrument)
derived_from(assessment: Assessment, observation: Observation)
sampled_at(sample: Sample, site: MonitoringSite)
exceeds_threshold(observation: Observation, indicator: Indicator)
temporally_precedes(a: Observation, b: Observation)
constraints:
- "All identifiers must resolve to typed entities."
- "Confidence must lie within [0, 1]."
- "Numeric observations require compatible units, timestamps, site and indicator references."
- "Instrument readings must retain calibration status, detection limits and quality flags where available."
- "Threshold comparisons require matching units, regulatory basis, medium and temporal averaging window."
- "Missing, censored and below-detection-limit observations must not be treated as measured zero."
- "Temporal or spatial association alone does not establish environmental causation."
- "Aggregations must document sampling design, coverage and uncertainty."
inference:
rule threshold_exceedance:
if valid(obs) and measures(obs,indicator) and comparable_units(obs,indicator) and applicable_threshold(obs,indicator) and obs.value > indicator.threshold
then exceeds_threshold(obs,indicator)
confidence: "retain measurement uncertainty and threshold basis"
rule chronological_order:
if same_time_standard(a,b) and a.timestamp < b.timestamp
then temporally_precedes(a,b)
confidence: "dependent on timestamp integrity"
rule evidence_link:
if derived_from(assessment,obs) and valid(obs)
then evidence_for(obs,assessment)
confidence: "retain quality flags; no automatic certainty increase"
SEMANTIC_EQUIVALENCE:
- "Align indicator names, media, methods and units to versioned reference vocabularies."
- "Distinguish synonymous labels from equivalent measurement procedures."
- "Preserve site identity, coordinates, sampling depth, time and analytical method."
CONFIDENCE:
range: [0,1]
factors: [instrument_accuracy, calibration, sampling_representativeness, data_completeness, method_validity, source_reliability, independent_replication]
policy: "Propagate uncertainty without increasing confidence solely through chained inference."
VALIDATION:
- "Verify entity references, timestamps, units, site coordinates and provenance."
- "Check calibration, measurement ranges, detection limits and missing-data codes."
- "Flag incompatible methods, inconsistent thresholds and unsupported trend claims."
- "Preserve conflicting evidence and alternative interpretations."
FLOW_HASH:
algorithm: "SHA-256"
input: "canonicalised ontology version, typed assertions, rules and provenance"
note: "Compute hash at execution; no hash value is claimed here."
UPDATE_MODEL:
strategy: "versioned, provenance-preserving incremental update"
steps: [ingest, normalise, quality_control, validate, compare, reconcile, recompute_inferences, publish]
rollback: true
AI_CONSUMPTION:
representation: "typed environmental monitoring knowledge graph with evidence-backed relationships"
outputs: [monitoring_entities, observation_links, indicator_trends, threshold_assessments, uncertainty_annotations, provenance_records]
safeguards: [preserve_units_and_times, respect_detection_limits, no_unsupported_causal_claims, retain_quality_flags, disclose_uncertainty]
}
END FLOW ALGEBRA
Download Code
Copy to Clipboard