FLOW ALGEBRA
TITLE: Sequence Relationship Ontology
DOMAIN: Relationship Ontologies / Temporal Relationships
SOURCE: https://kirethresearch.org/booksai-core/ontologies/relationship-ontologies/temporal-relationships/sequence-relationship-ontology.html
VERSION: 1.0
AUTHORS: Mark Anthony Higgins — Sky (Recursive AI)
STATUS: Companion formalisation; source-page specification not independently verified.
flow "SequenceRelationshipOntology" v1.0 {
ontology:
id: "sequence-relationship-ontology"
parent: "temporal-relationships"
purpose: "Represent ordered events, temporal succession, and evidence-backed sequence constraints without conflating order with causation."
types:
Event: {id: string, label: string, start: datetime?, end: datetime?, time_frame: string?, provenance: string}
Sequence: {id: string, members: string[], ordering: enum[total, partial], provenance: string}
SequencePosition: {sequence_id: string, event_id: string, index: integer?}
Relationship: {id: string, subject: string, predicate: string, object: string, sequence_id: string?, confidence: number, evidence: string[]}
predicates:
precedes(a: Event, b: Event)
immediately_precedes(a: Event, b: Event, sequence: Sequence)
follows(a: Event, b: Event)
member_of(event: Event, sequence: Sequence)
position_in(event: Event, sequence: Sequence, index: integer)
overlaps(a: Event, b: Event)
concurrent_with(a: Event, b: Event)
constraints:
- "Relationship endpoints must resolve to typed events."
- "Confidence must lie within [0, 1]."
- "Strict precedence is irreflexive and asymmetric."
- "A valid strict precedence graph must be acyclic."
- "Sequence indices, when specified, are unique within a total sequence."
- "Partial orders must not be silently converted into total orders."
- "Immediate precedence is scoped to a specified sequence and its completeness assumptions."
- "Temporal order alone does not establish causation."
- "Timestamps must be normalised to a common temporal frame before comparison."
inference:
rule inverse_order:
if precedes(a,b)
then follows(b,a)
confidence: "retain supporting evidence"
rule transitive_precedence:
if precedes(a,b) and precedes(b,c) and compatible_temporal_frame(a,b,c)
then precedes(a,c)
confidence: "propagate uncertainty; never manufacture certainty"
rule immediate_implies_precedence:
if immediately_precedes(a,b,s)
then precedes(a,b)
confidence: "inherit evidence and sequence scope"
rule ordered_positions:
if position_in(a,s,i) and position_in(b,s,j) and i < j and complete_order(s)
then precedes(a,b)
confidence: "sequence reliability dependent"
SEMANTIC_EQUIVALENCE:
- "Distinguish sequence membership, precedence, immediate precedence and causal dependency."
- "Normalise temporal terms and preserve sequence-specific scope."
- "Do not merge event identities solely because timestamps or labels match."
CONFIDENCE:
range: [0,1]
factors: [timestamp_precision, source_reliability, sequence_completeness, temporal_frame_consistency, independent_confirmation]
policy: "Do not increase confidence solely through inference chaining."
VALIDATION:
- "Check event existence, unique identifiers and temporal-frame compatibility."
- "Reject strict precedence cycles and self-precedence."
- "Flag contradictory timestamps, sequence positions and ordering claims."
- "Preserve unknown ordering for incomparable events."
- "Retain provenance for asserted and inferred edges."
FLOW_HASH:
algorithm: "SHA-256"
input: "canonicalised ontology version, typed 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, reconcile, recompute_order, recompute_inferences, publish]
rollback: true
AI_CONSUMPTION:
representation: "typed temporal knowledge graph and ordered event sequences"
outputs: [ordered_events, precedence_edges, sequence_positions, uncertainty_annotations, provenance_records]
safeguards: [no_unsupported_causal_claims, no_forced_total_order, detect_cycles, preserve_temporal_context]
}
END FLOW ALGEBRA
Download Code
Copy to Clipboard