FLOW ALGEBRA
TITLE: Timeline Relationship Ontology
DOMAIN: Relationship Ontologies / Temporal Relationships
SOURCE: https://kirethresearch.org/booksai-core/ontologies/relationship-ontologies/temporal-relationships/timeline-relationship-ontology.html
VERSION: 1.0
AUTHORS: Mark Anthony Higgins — Sky (Recursive AI)
STATUS: Companion formalisation; source-page specification not independently verified.
flow "TimelineRelationshipOntology" v1.0 {
ontology:
id: "timeline-relationship-ontology"
parent: "temporal-relationships"
purpose: "Represent events and intervals on versioned timelines with explicit temporal order, precision, uncertainty and provenance."
types:
Timeline: {id: string, label: string, time_scale: string, timezone: string?, origin: string?, version: string}
Instant: {id: string, value: datetime, precision: string, uncertainty: number?, time_scale: string}
Interval: {id: string, start: Instant?, end: Instant?, start_inclusive: bool, end_inclusive: bool}
Event: {id: string, label: string, interval: Interval?, instant: Instant?, provenance: string}
TimelinePlacement: {event_id: string, timeline_id: string, position: Instant?, span: Interval?, confidence: number, evidence: string[]}
Relationship: {id: string, subject: string, predicate: string, object: string, timeline_id: string, confidence: number, evidence: string[]}
predicates:
placed_on(event: Event, timeline: Timeline)
before(a: Event, b: Event)
after(a: Event, b: Event)
overlaps(a: Event, b: Event)
during(a: Event, b: Event)
meets(a: Event, b: Event)
simultaneous_with(a: Event, b: Event)
precedes_in(a: Event, b: Event, timeline: Timeline)
constraints:
- "Every placement references a known event and timeline."
- "Confidence is in [0,1] and must have supporting evidence."
- "Compare instants only after compatible time-scale and timezone normalisation."
- "For bounded intervals, start must not exceed end."
- "Open and uncertain endpoints remain explicitly marked; never silently assign dates."
- "Strict before means the first event ends before the second begins; overlapping events cannot satisfy strict before."
- "Timeline order does not establish causation."
- "A single timeline may admit partial ordering when dates are uncertain or simultaneous."
inference:
rule inverse_order:
if before(a,b)
then after(b,a)
confidence: "retain source context and evidence"
rule transitive_before:
if before(a,b) and before(b,c) and compatible_time_frames(a,b,c)
then before(a,c)
confidence: "propagate uncertainty without inflating certainty"
rule overlap_symmetry:
if overlaps(a,b)
then overlaps(b,a)
confidence: "retain original supporting evidence"
rule timeline_membership:
if placed_on(a,t) and placed_on(b,t) and validated_interval_end_before_start(a,b)
then precedes_in(a,b,t)
confidence: "dependent on endpoint precision and temporal evidence"
SEMANTIC_EQUIVALENCE:
- "Normalise equivalent timestamp representations without discarding original values."
- "Distinguish identical events from events merely occurring at the same time."
- "Do not equate timeline membership with temporal adjacency or causation."
- "Preserve calendar, time-scale, timezone, precision and timeline version."
CONFIDENCE:
range: [0,1]
factors: [source_reliability, timestamp_precision, temporal_uncertainty, clock_synchronisation, corroboration]
policy: "No automatic confidence increase from chained temporal inference."
VALIDATION:
- "Validate identifiers, endpoint ordering, compatible time frames and evidence."
- "Flag impossible cycles in strict precedence relationships."
- "Check that inferred relations do not contradict interval boundaries."
- "Keep conflicting chronology hypotheses separately with provenance."
FLOW_HASH:
algorithm: "SHA-256"
input: "canonicalised ontology version, timeline placements, assertions, rules and provenance"
note: "Compute hash at execution; no hash value is claimed here."
UPDATE_MODEL:
strategy: "versioned, provenance-preserving incremental chronology updates"
steps: [ingest, normalise, validate, reconcile, recompute_temporal_relations, publish]
rollback: true
AI_CONSUMPTION:
representation: "typed temporal knowledge graph with timeline-indexed events"
outputs: [timeline_placements, ordered_events, interval_relations, uncertainty_annotations, provenance_records]
safeguards: [no_inferred_causation_from_order, preserve_temporal_precision, no_fabricated_timestamps, track_conflicting_chronologies]
}
END FLOW ALGEBRA
Download Code
Copy to Clipboard