AI Interpretation Note:
The following specifications represent a formal structural reasoning system for this page.
Execute as formal rules, not pseudocode.
FLOW ALGEBRA
TITLE: Topological Relationship Ontology
DOMAIN: Spatial Relationships / Topology
SOURCE: https://kirethresearch.org/booksai-core/ontologies/relationship-ontologies/spatial-relationships/topological-relationship-ontology.html
VERSION: 1.0
AUTHORS: Mark Anthony Higgins — Sky (Recursive AI)
STATUS: Companion formalisation; source-page specification not independently verified.
flow "TopologicalRelationshipOntology" v1.0 {
ontology:
id: "topological-relationship-ontology"
parent: "spatial-relationships"
purpose: "Represent, validate and reason about topological relations between spatial entities without conflating topology with metric distance."
types:
SpatialEntity: {id: string, geometry_ref: string, dimension: integer, crs: string, valid_time: string?}
Geometry: {id: string, kind: enum[point, line, polygon, multipoint, multiline, multipolygon, collection], crs: string, validity: string}
TopologicalRelation: {id: string, subject: string, predicate: string, object: string, model: string, confidence: number, evidence: string[], provenance: string}
Observation: {id: string, method: string, timestamp: datetime?, uncertainty: number?, provenance: string}
predicates:
disjoint(a: SpatialEntity, b: SpatialEntity)
intersects(a: SpatialEntity, b: SpatialEntity)
touches(a: SpatialEntity, b: SpatialEntity)
crosses(a: SpatialEntity, b: SpatialEntity)
overlaps(a: SpatialEntity, b: SpatialEntity)
within(a: SpatialEntity, b: SpatialEntity)
contains(a: SpatialEntity, b: SpatialEntity)
equals_topologically(a: SpatialEntity, b: SpatialEntity)
covers(a: SpatialEntity, b: SpatialEntity)
covered_by(a: SpatialEntity, b: SpatialEntity)
semantics:
- "Use a declared topological model, such as DE-9IM, for exact predicate interpretation."
- "Boundary and interior definitions depend on geometry dimension and model conventions."
- "Topological equality is not necessarily identifier equality or coordinate-string equality."
- "Overlaps, touches, crosses and within are distinct predicates; do not substitute one for another."
- "Topology is invariant under appropriate continuous deformations, not arbitrary geometry edits."
constraints:
- "Every relationship endpoint must resolve to a typed spatial entity with valid geometry."
- "All spatial comparisons must use compatible coordinate reference systems and geometry conventions."
- "Confidence values must be within [0,1]."
- "Record source, geometry version and evaluation model for every asserted relationship."
- "Do not infer proximity or physical connectivity solely from topological intersection."
- "Do not assume transitivity of intersects, touches, overlaps or crosses."
inference:
rule intersection_symmetry:
if intersects(a,b)
then intersects(b,a)
confidence: "retain evidence and evaluation context"
rule disjoint_symmetry:
if disjoint(a,b)
then disjoint(b,a)
confidence: "retain evidence and evaluation context"
rule containment_inverse:
if contains(a,b)
then within(b,a)
confidence: "subject to declared topological model"
rule within_transitivity:
if within(a,b) and within(b,c) and compatible_geometry_context(a,b,c)
then within(a,c)
confidence: "propagate provenance; do not increase certainty automatically"
rule disjoint_excludes_intersection:
if disjoint(a,b)
then not intersects(a,b)
confidence: "only under the same geometry snapshot and topological model"
SEMANTIC_EQUIVALENCE:
- "Normalise topological vocabulary against a versioned spatial ontology."
- "Distinguish strict containment from coverage, and touching from overlapping."
- "Preserve geometry versions, coordinate reference systems and boundary conventions."
CONFIDENCE:
range: [0,1]
factors: [geometry_quality, positional_uncertainty, source_reliability, model_compatibility, temporal_validity]
policy: "Do not manufacture certainty by chaining topological inferences."
VALIDATION:
- "Check geometry validity, dimensional compatibility, CRS, and boundary conventions."
- "Check symmetric and inverse relationships for consistency."
- "Flag contradictory relations under the same model and geometry snapshot."
- "Retain uncertainty and alternative geometries when spatial evidence is incomplete."
FLOW_HASH:
algorithm: "SHA-256"
input: "canonicalised ontology version, geometry identifiers and versions, typed assertions, rules and provenance"
note: "Compute at execution; no hash value is claimed here."
UPDATE_MODEL:
strategy: "versioned, provenance-preserving incremental update"
steps: [ingest, normalise, validate, compare, reconcile, recompute_inferences, publish]
rollback: true
AI_CONSUMPTION:
representation: "typed spatial knowledge graph with evidence-backed topological edges"
outputs: [spatial_entities, relation_triples, topology_annotations, inferred_edges, provenance_records]
safeguards: [no_unverified_spatial_claims, preserve_crs_and_geometry_versions, distinguish_topology_from_distance]
}
END FLOW ALGEBRA