FLOW ALGEBRA
ONTOLOGY: Semantic Link Ontology
VERSION: 1.0
SOURCE: https://kirethresearch.org/booksai-core/ontologies/relationship-ontologies/foundations-of-relationships/semantic-link-ontology.html
AUTHORS: Mark Higgins — Sky (Recursive AI)
DATE: 2026-10-08
PURPOSE
Represent, type, validate and reason over semantic links between identifiable resources, concepts, entities and assertions. This is a companion formalisation; source-page-specific claims require separate verification.
ENTITY_TYPES
Resource: {id: URI, label: string?, type: URI?}
Concept extends Resource: {definition: string?}
SemanticLink: {id: URI, source: URI, predicate: URI, target: URI, context: URI?, confidence: decimal, provenance: URI?, valid_from: datetime?, valid_until: datetime?}
Evidence: {id: URI, source_document: URI, method: string?, observed_at: datetime?}
Context: {id: URI, domain: string?, language: string?, scope: string?}
RELATIONSHIP_TYPES
broaderThan, narrowerThan, relatedTo, equivalentTo, partOf, hasPart,
dependsOn, causes, precedes, supports, contradicts, references,
instanceOf, subclassOf, definedBy, derivedFrom.
TYPE_RULES
link.source ∈ Resource
link.target ∈ Resource
link.predicate ∈ RelationshipType
0.0 ≤ link.confidence ≤ 1.0
link.valid_until = null OR link.valid_from = null OR link.valid_from ≤ link.valid_until
link.id uniquely identifies the assertion; identical endpoints may support multiple predicates.
SEMANTIC_EQUIVALENCE
equivalentTo(a,b) => equivalentTo(b,a) [only when equivalence is explicitly asserted and validated]
equivalentTo(a,b) AND equivalentTo(b,c) => candidate_equivalentTo(a,c)
Candidate equivalence requires contextual compatibility and evidence review.
relatedTo(a,b) does NOT imply equivalentTo(a,b).
INFERENCE
broaderThan(a,b) => narrowerThan(b,a)
partOf(a,b) => hasPart(b,a)
subclassOf(a,b) AND instanceOf(x,a) => instanceOf(x,b)
subclassOf(a,b) AND subclassOf(b,c) => candidate_subclassOf(a,c)
No general transitivity for relatedTo, causes, supports or references.
Conflicting predicates are retained as separate evidence-bearing assertions pending resolution.
CONFIDENCE
confidence(link) := calibrated_evidence_score(link.evidence, link.context)
inferred_confidence := min(premise_confidences) * rule_reliability
rule_reliability ∈ [0,1]
Never present inferred confidence as independently observed certainty.
VALIDATION
require resolvable or locally registered identifiers
require declared predicate and domain/range compatibility
reject self-contradictory irreflexive predicates where applicable
flag temporal expiry, unsupported inference, cycles in strict hierarchies,
contradictory equivalence and missing provenance
preserve original evidence and audit history.
FLOW_HASH
canonical_payload := canonicalise(source, predicate, target, context, provenance, validity)
FLOW_HASH := SHA256(UTF8(canonical_payload))
Hash identifies a canonical assertion version; it does not prove truth.
UPDATE_MODEL
input: incoming_links, existing_graph
steps: normalise_identifiers -> validate -> compare_FLOW_HASH ->
merge_nonconflicting_assertions -> retain_conflicts ->
recompute_derived_links -> record_version_and_provenance
output: versioned_semantic_link_graph, validation_report, change_log
AI_CONSUMPTION
expose: typed_triples, contexts, confidence, provenance, validity, inference_status
retrieval: traverse links with predicate and context filters
reasoning: distinguish asserted links from inferred or proposed links
safeguards: respect provenance, uncertainty, temporal scope and contradictions
EXAMPLE
Resource(A) = "Semantic Link"
Resource(B) = "Knowledge Relationship"
SemanticLink(L1) = (A, relatedTo, B, confidence=0.85)
interpretation: illustrative assertion only, not an empirically verified score.
END FLOW ALGEBRA
Download Code
Copy to Clipboard