FLOW ALGEBRA
TITLE: After Relationship Ontology
DOMAIN: Relationship Ontologies / Temporal Relationships
SOURCE: https://kirethresearch.org/booksai-core/ontologies/relationship-ontologies/temporal-relationships/after-relationship-ontology.html
VERSION: 1.0
AUTHORS: Mark Anthony Higgins — Sky (Recursive AI)
STATUS: Companion formalisation; source-page specification not independently verified.
flow "AfterRelationshipOntology" v1.0 {
ontology:
id: "after-relationship-ontology"
parent: "temporal-relationships"
purpose: "Represent, evaluate and validate strict temporal succession between events and intervals."
types:
TemporalEntity: {id: string, kind: enum[event, interval, instant, process], provenance: string}
Instant: {value: datetime, timescale: string, uncertainty: number?}
Interval: {start: Instant, end: Instant, start_inclusive: bool, end_inclusive: bool}
Relationship: {id: string, subject: string, predicate: string, object: string, confidence: number, evidence: string[], context: string?}
predicates:
after(a: TemporalEntity, b: TemporalEntity)
before(a: TemporalEntity, b: TemporalEntity)
meets(a: TemporalEntity, b: TemporalEntity)
overlaps(a: TemporalEntity, b: TemporalEntity)
simultaneous_with(a: TemporalEntity, b: TemporalEntity)
semantics:
- "For intervals, after(A,B) iff start(A) > end(B) on a common timescale."
- "For instants, after(A,B) iff time(A) > time(B)."
- "For events with duration, evaluate the defined event extent; do not silently replace duration with a timestamp."
- "Strict after excludes equality and immediate meeting at a shared boundary."
- "Unknown or uncertain temporal bounds may yield indeterminate rather than false."
constraints:
- "All referenced entities must exist and have compatible temporal representations."
- "Intervals must satisfy start <= end; distinguish zero-duration instants from intervals."
- "Normalise timezone and timescale before comparisons; retain original precision."
- "Confidence must lie within [0,1]."
- "Do not infer causation from temporal succession."
- "No after(A,A) in a consistent strict temporal ordering."
inference:
rule inverse_before:
if after(a,b)
then before(b,a)
confidence: "inherit evidence and context"
rule transitive_after:
if after(a,b) and after(b,c) and compatible_timeframes(a,b,c)
then after(a,c)
confidence: "propagate uncertainty without automatic increase"
rule asymmetry:
if after(a,b)
then reject(after(b,a))
confidence: "subject to consistency and temporal-frame validation"
rule uncertain_comparison:
if temporal_bounds_overlap_under_uncertainty(a,b)
then status(after(a,b)) = "indeterminate"
confidence: "retain measurement uncertainty"
SEMANTIC_EQUIVALENCE:
- "Map later_than and succeeds_temporally to strict after only where interval semantics agree."
- "Distinguish after from meets, starts_after, ends_after and causal_follows."
- "Preserve time precision, reference timescale and interval boundary conventions."
CONFIDENCE:
range: [0,1]
factors: [timestamp_accuracy, temporal_resolution, source_reliability, clock_synchronisation, independent_evidence]
policy: "Chained inferences must not manufacture certainty."
VALIDATION:
- "Check endpoint existence, temporal type compatibility and interval validity."
- "Detect cycles in strict after relations and contradictory before/after assertions."
- "Check timezone conversion, daylight-saving ambiguities and timescale differences."
- "Preserve evidence for ambiguous or partially ordered events."
FLOW_HASH:
algorithm: "SHA-256"
input: "canonicalised ontology version, assertions, inference 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 precedence edges"
outputs: [temporal_triples, ordered_events, inferred_relations, uncertainty_annotations, provenance_records]
safeguards: [no_unsupported_causation, no_false_precision, no_unqualified_temporal_order]
}
END FLOW ALGEBRA
Download Code
Copy to Clipboard