FLOW ALGEBRA
TITLE: During Relationship Ontology
DOMAIN: Relationship Ontologies / Temporal Relationships
SOURCE: https://kirethresearch.org/booksai-core/ontologies/relationship-ontologies/temporal-relationships/during-relationship-ontology.html
VERSION: 1.0
AUTHORS: Mark Anthony Higgins — Sky (Recursive AI)
STATUS: Companion formalisation; source-page specification not independently verified.
flow "DuringRelationshipOntology" v1.0 {
ontology:
id: "during-relationship-ontology"
parent: "temporal-relationships"
purpose: "Represent and validate strict temporal containment of events and intervals."
types:
Instant: {value: datetime, timezone: string?, precision: string?}
Interval: {id: string, start: Instant, end: Instant, start_closed: bool, end_closed: bool}
Event: {id: string, interval: Interval?, provenance: string}
TemporalRelation: {id: string, subject: string, predicate: string, object: string, confidence: number, evidence: string[], context: string?}
predicates:
during(inner: Interval, outer: Interval)
contains(outer: Interval, inner: Interval)
starts_before(a: Interval, b: Interval)
ends_before(a: Interval, b: Interval)
overlaps(a: Interval, b: Interval)
simultaneous(a: Interval, b: Interval)
semantics:
- "Strict Allen during: during(a,b) iff start(b) < start(a) AND end(a) < end(b)."
- "Intervals sharing either endpoint are not strictly during; use starts, finishes, or equality as appropriate."
- "The inverse of during is contains, using the same strict definition."
- "Event-level during requires explicitly identified event intervals."
constraints:
- "Each interval must have start <= end, with valid temporal precision."
- "Compare instants only after normalising compatible time scales and time zones."
- "Confidence must lie within [0,1]."
- "Do not equate during with generic overlap or causal dependence."
- "Uncertain endpoints require qualified, not absolute, temporal claims."
inference:
rule inverse_containment:
if during(a,b)
then contains(b,a)
confidence: "retain source evidence and context"
rule transitive_during:
if during(a,b) and during(b,c) and compatible_temporal_frames(a,b,c)
then during(a,c)
confidence: "propagate uncertainty without manufacturing certainty"
rule implies_overlap:
if during(a,b) and nonempty(a)
then overlaps(a,b)
confidence: "derived from interval semantics"
SEMANTIC_EQUIVALENCE:
- "Normalise during, temporally_inside, and strictly_contained_in only when definitions agree."
- "Distinguish strict during from inclusive containment, overlap, starts, and finishes."
- "Preserve time zone, time scale, granularity, and boundary conventions."
CONFIDENCE:
range: [0,1]
factors: [timestamp_accuracy, interval_precision, source_reliability, clock_synchronisation, independent_confirmation]
policy: "Do not increase confidence solely through inference chaining."
VALIDATION:
- "Verify typed endpoints, valid interval bounds and temporal frame compatibility."
- "Detect contradictions between during, before, after and disjoint assertions."
- "Retain provenance and unresolved temporal uncertainty."
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, validate, compare, reconcile, recompute_inferences, publish]
rollback: true
AI_CONSUMPTION:
representation: "typed temporal knowledge graph with evidence-backed relations"
outputs: [interval_entities, temporal_relation_triples, inferred_relations, confidence_annotations, provenance_records]
safeguards: [preserve_boundary_semantics, preserve_temporal_precision, avoid_unsupported_causation]
}
END FLOW ALGEBRA
Download Code
Copy to Clipboard