Skip to main content

Overlap 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: Overlap Relationship Ontology
DOMAIN: Relationship Ontologies / Spatial Relationships
SOURCE: https://kirethresearch.org/booksai-core/ontologies/relationship-ontologies/spatial-relationships/overlap-relationship-ontology.html
VERSION: 1.0
AUTHORS: Mark Anthony Higgins — Sky (Recursive AI)
STATUS: Companion formalisation; source-page specification not independently verified.

flow "OverlapRelationshipOntology" v1.0 {
  ontology:
    id: "overlap-relationship-ontology"
    parent: "spatial-relationships"
    purpose: "Represent evidence-backed spatial overlap, shared extent and topological intersection without conflating overlap with containment or mere boundary contact."

  types:
    SpatialEntity: {id: string, geometry_ref: string, geometry_type: enum[point, line, polygon, volume, raster, other], crs: string, valid_time: string?}
    GeometryContext: {crs: string, dimensionality: integer, tolerance: number?, precision_model: string?, epoch: string?}
    OverlapMeasure: {intersection_measure: number, union_measure: number?, unit: string, dimension: integer, uncertainty: number?}
    Observation: {id: string, method: string, provenance: string, timestamp: datetime?, uncertainty: number?}
    Relationship: {id: string, subject: string, predicate: string, object: string, context: GeometryContext, confidence: number, evidence: string[]}

  predicates:
    intersects(a: SpatialEntity, b: SpatialEntity)
    overlaps(a: SpatialEntity, b: SpatialEntity)
    shares_boundary_with(a: SpatialEntity, b: SpatialEntity)
    contains(a: SpatialEntity, b: SpatialEntity)
    within(a: SpatialEntity, b: SpatialEntity)
    disjoint_from(a: SpatialEntity, b: SpatialEntity)
    has_overlap_measure(a: SpatialEntity, b: SpatialEntity, m: OverlapMeasure)

  semantics:
    - "Use an explicitly selected topology model; under DE-9IM, overlaps requires equal-dimensional geometries whose intersection has the same dimension and neither contains the other."
    - "A non-empty intersection does not necessarily establish overlaps: boundary touching, equality and containment are distinct."
    - "For cross-dimensional or raster applications, define a separate application-specific shared-extent predicate rather than silently changing overlaps semantics."

  constraints:
    - "All relationship endpoints must resolve to typed spatial entities."
    - "Confidence lies in [0,1]."
    - "Geometries must be valid or explicitly flagged, and evaluated in compatible coordinate reference systems."
    - "Metric area or volume calculations require an appropriate projection or geodesic method and declared units."
    - "Overlap is symmetric but not transitive."
    - "Temporal validity must be checked for moving or changing geometries."
    - "Numerical tolerances must be declared; do not silently snap or buffer boundaries."

  inference:
    rule overlap_symmetry:
      if overlaps(a,b) then overlaps(b,a)
      confidence: "preserve original evidence, context and uncertainty"
    rule overlap_implies_intersection:
      if overlaps(a,b) then intersects(a,b)
      confidence: "preserve original evidence"
    rule disjoint_excludes_overlap:
      if disjoint_from(a,b) then not overlaps(a,b)
      condition: "same valid time, geometry versions and topology model"
    rule positive_overlap_measure:
      if has_overlap_measure(a,b,m) and m.intersection_measure > 0
      then intersects(a,b)
      condition: "measurement dimension and topology are compatible; does not alone prove overlaps"

  SEMANTIC_EQUIVALENCE:
    - "Map overlaps to recognised topological vocabularies only when definitions and geometry dimensions match."
    - "Distinguish intersects, overlaps, contains, within, touches and equals."
    - "Retain geometry version, CRS, tolerance, dimensionality and time context."

  CONFIDENCE:
    range: [0,1]
    factors: [geometry_quality, positional_uncertainty, source_reliability, topology_model, temporal_validity, measurement_method]
    policy: "Never increase confidence merely by chaining derived relationships."

  VALIDATION:
    - "Check geometry validity, dimensionality, CRS compatibility, units and provenance."
    - "Check overlap symmetry and consistency with disjointness and containment."
    - "Flag uncertain near-boundary cases instead of asserting exact topology."
    - "Test edge cases: touching only, identical geometries, nested geometries, partial overlap and disjoint geometries."

  FLOW_HASH:
    algorithm: "SHA-256"
    input: "canonicalised ontology version, geometry references, 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, validate, compare, reconcile, recompute_inferences, publish]
    rollback: true

  AI_CONSUMPTION:
    representation: "typed spatial knowledge graph with evidence-backed topological edges"
    outputs: [overlap_triples, geometry_context, overlap_measurements, uncertainty_annotations, provenance_records]
    safeguards: [do_not_conflate_intersection_and_overlap, preserve_crs_and_units, preserve_temporal_context, avoid_unsupported_transitivity]
}

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