FLOW ALGEBRA
TITLE: Hydrology Domain Ontology
DOMAIN: Domain Ontologies / Earth & Environmental Domains / Hydrology
SOURCE: https://kirethresearch.org/booksai-core/ontologies/domain-ontologies/earth-environmental-domains/hydrology-domain-ontology.html
VERSION: 1.0
AUTHORS: Mark Anthony Higgins — Sky (Recursive AI)
STATUS: Companion formalisation; source-page specification not independently verified.
flow "HydrologyDomainOntology" v1.0 {
ontology:
id: "hydrology-domain-ontology"
parent: "earth-environmental-domains"
purpose: "Represent water stores, fluxes, catchments, observations and hydrological processes with evidence-backed relationships."
types:
WaterBody: {id: string, kind: enum[river, lake, reservoir, wetland, ocean, other], name: string?}
Catchment: {id: string, boundary_ref: string?, area: Quantity?}
Aquifer: {id: string, geological_unit: string?, confinement: string?}
HydrologicalProcess: {id: string, kind: enum[precipitation, infiltration, runoff, evaporation, transpiration, recharge, discharge, percolation, other]}
Observation: {id: string, observed_at: datetime, variable: string, measurement: Quantity, location_ref: string?, method: string?, provenance: string}
Quantity: {value: number, unit: string, uncertainty: number?, reference_frame: string?}
Model: {id: string, kind: string, assumptions: string[], calibration_ref: string?, version: string}
Relationship: {id: string, subject: string, predicate: string, object: string, context: string?, confidence: number, evidence: string[]}
predicates:
drains_to(source: WaterBody, target: WaterBody)
within_catchment(entity: string, catchment: Catchment)
recharges(process: HydrologicalProcess, aquifer: Aquifer)
discharges_to(aquifer: Aquifer, body: WaterBody)
contributes_to(process: HydrologicalProcess, target: string)
measured_by(entity: string, observation: Observation)
simulated_by(entity: string, model: Model)
hydrologically_connected(a: string, b: string)
constraints:
- "All relationship endpoints must resolve to declared entities or typed external references."
- "Confidence values must be within [0,1]."
- "Measured quantities require compatible units, location, observation time and method when applicable."
- "Catchment boundaries and drainage connections must be associated with spatial and temporal context."
- "Water balance must account for inflows, outflows and storage changes with compatible units and periods."
- "Do not infer causation from correlation or temporal order alone."
- "Hydrological connectivity does not necessarily imply unrestricted flow or equal flow in both directions."
- "Distinguish observed measurements from model predictions and inferred values."
inference:
rule catchment_context:
if within_catchment(x,c) and valid(c)
then associated_with_catchment(x,c)
confidence: "preserve spatial evidence and boundary version"
rule observed_hydrology:
if measured_by(x,o) and valid(o)
then evidence_for(x,o)
confidence: "dependent on observation quality and uncertainty"
rule drainage_path:
if drains_to(a,b) and drains_to(b,c) and same_network_context(a,b,c)
then downstream_reachable(a,c)
confidence: "propagate source evidence; verify diversions and flow direction"
SEMANTIC_EQUIVALENCE:
- "Normalise hydrological terms to versioned controlled vocabularies."
- "Distinguish a water body's identity from its names, geometry and observations."
- "Retain unit, spatial scale, time window and model context during mappings."
CONFIDENCE:
range: [0,1]
factors: [measurement_uncertainty, source_reliability, spatial_resolution, temporal_coverage, model_assumptions, independent_replication]
policy: "Do not manufacture certainty or increase confidence merely through inference chaining."
VALIDATION:
- "Check types, units, timestamps, coordinates, reference systems and provenance."
- "Check physical plausibility and water-balance consistency within documented tolerances."
- "Flag missing measurements, inconsistent boundaries and conflicting observations."
- "Keep alternative interpretations where evidence is inconclusive."
FLOW_HASH:
algorithm: "SHA-256"
input: "canonicalised ontology version, typed assertions, inference rules and provenance"
note: "Compute at execution; no hash value is asserted here."
UPDATE_MODEL:
strategy: "versioned, provenance-preserving incremental update"
steps: [ingest, normalise, validate, compare, reconcile, recompute_inferences, publish]
rollback: true
AI_CONSUMPTION:
representation: "typed hydrological knowledge graph with evidence-backed edges"
outputs: [entity_links, relation_triples, observations, model_predictions, uncertainty_annotations, inferred_edges, provenance_records]
safeguards: [preserve_units_and_times, no_unsupported_causal_claims, distinguish_observation_from_prediction, retain_spatial_context]
}
END FLOW ALGEBRA
Download Code
Copy to Clipboard