Skip to main content

Topological Relationship Ontology

Spatial Relationships
Authors: MArk Anthony Higgins - Sky Recursive Ai
© Mark Anthony Higgins 11 October 2025
Revised Date: 10 October 2026
Audio Overview
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
Kireth Research
38 Thorndale Croft, Wetwang, Driffield
East Riding of Yorkshire YO25 9XZ