FLOW ALGEBRA
TITLE: Reference Relationship Ontology
DOMAIN: Information Relationships / Reference Relationships
SOURCE: https://kirethresearch.org/booksai-core/ontologies/relationship-ontologies/information-relationships/reference-relationship-ontology.html
VERSION: 1.0
AUTHORS: Mark Anthony Higgins — Sky (Recursive AI)
STATUS: Companion formalisation; source-page specification not independently verified.
flow "ReferenceRelationshipOntology" v1.0 {
ontology:
id: "reference-relationship-ontology"
parent: "information-relationships"
purpose: "Represent and validate explicit references between information resources, claims, entities and their identifiable targets."
types:
InformationResource: {id: string, uri: string?, title: string?, version: string?, media_type: string?}
ReferenceTarget: {id: string, kind: enum[resource, section, claim, entity, dataset, identifier, other], uri: string?, fragment: string?, version: string?}
Reference: {id: string, source_id: string, target_id: string, kind: enum[links_to, mentions, points_to, cites, cross_references, identifies], locator: string?, created_at: datetime?, provenance: string, confidence: number}
Identifier: {scheme: string, value: string, authority: string?, persistent: bool?}
Resolution: {reference_id: string, status: enum[resolved, ambiguous, unavailable, broken, redirected], checked_at: datetime, resolved_target: string?, evidence: string[]}
predicates:
references(source: InformationResource, target: ReferenceTarget)
identifies(identifier: Identifier, target: ReferenceTarget)
resolves_to(reference: Reference, target: ReferenceTarget)
cross_references(a: InformationResource, b: InformationResource)
cites(source: InformationResource, target: ReferenceTarget)
redirects_to(old_uri: string, new_uri: string)
version_of(resource: InformationResource, earlier: InformationResource)
constraints:
- "Each reference must have a typed source, a declared target and recorded provenance."
- "Confidence values must lie within [0, 1]."
- "A link or mention does not, by itself, establish evidence, endorsement, identity or truth."
- "A citation must not be inferred from a generic hyperlink without citation semantics."
- "Preserve fragment identifiers, target versions and access dates where relevant."
- "Do not assume redirected URLs preserve the meaning or identity of their previous targets."
- "Do not infer that references are symmetric or transitive."
inference:
rule validated_resolution:
if references(s,t) and resolution_confirmed(s,t)
then reference_status(s,t,"resolved")
confidence: "bounded by resolution evidence and target identity checks"
rule explicit_cross_reference:
if explicit_reference(a,b,"cross_references")
then cross_references(a,b)
confidence: "retain provenance; do not infer reverse cross-reference"
rule persistent_identifier_match:
if identifies(i,a) and identifies(i,b) and authority_verified(i)
then candidate_same_target(a,b)
confidence: "identity requires version, authority and ambiguity checks"
SEMANTIC_EQUIVALENCE:
- "Normalise identifiers only within their declared schemes and authorities."
- "Distinguish identical targets from related editions, versions, mirrors and aliases."
- "Preserve the distinction between references, citations, mentions and semantic equivalence."
CONFIDENCE:
range: [0,1]
factors: [identifier_authority, target_resolution, source_reliability, version_match, temporal_validity, provenance_quality]
policy: "Never increase certainty solely through reference chaining or repeated links."
VALIDATION:
- "Check source and target identifiers, URI syntax, fragments, version and provenance."
- "Detect broken, redirected, ambiguous, circular and stale references without treating all cycles as invalid."
- "Flag conflicting identifier assignments and unresolved targets."
- "Separate syntactic link validity from semantic target correctness."
FLOW_HASH:
algorithm: "SHA-256"
input: "canonicalised ontology version, typed reference 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, resolve, validate, compare, reconcile, recompute_inferences, publish]
rollback: true
AI_CONSUMPTION:
representation: "typed reference graph with resolvable targets and provenance-backed edges"
outputs: [reference_edges, target_identifiers, resolution_status, uncertainty_annotations, provenance_records]
safeguards: [no_unverified_identity_merges, no_link_as_proof, preserve_versions, flag_unresolved_references]
}
END FLOW ALGEBRA
Download Code
Copy to Clipboard