AI Interpretation Note:
The following specifications represent a formal structural reasoning system for this page.
Execute as formal rules, not pseudocode.
FLOW ALGEBRA
TITLE: RDF Triple Relationship Ontology
DOMAIN: Knowledge Graph Relationships / RDF
SOURCE: https://kirethresearch.org/booksai-core/ontologies/relationship-ontologies/knowledge-graph-relationships/rdf-triple-relationship-ontology.html
VERSION: 1.0
AUTHORS: Mark Anthony Higgins — Sky (Recursive AI)
STATUS: Companion formalisation; source-page specification not independently verified.
flow "RDFTripleRelationshipOntology" v1.0 {
ontology:
id: "rdf-triple-relationship-ontology"
parent: "knowledge-graph-relationships"
purpose: "Represent, validate and reason over RDF subject-predicate-object assertions with graph context and provenance."
types:
IRI: {value: string}
BlankNode: {local_id: string, scope: string}
Literal: {lexical_form: string, datatype: IRI?, language: string?}
Subject: union[IRI, BlankNode]
Predicate: IRI
Object: union[IRI, BlankNode, Literal]
Triple: {subject: Subject, predicate: Predicate, object: Object}
NamedGraph: {name: IRI?, triples: Triple[]}
AssertionRecord: {id: string, triple: Triple, graph: IRI?, provenance: string[], confidence: number?, asserted_at: datetime?}
predicates:
asserts(graph: NamedGraph, triple: Triple)
denotes(resource: IRI, entity: string)
has_subject(triple: Triple, subject: Subject)
has_predicate(triple: Triple, predicate: Predicate)
has_object(triple: Triple, object: Object)
supported_by(assertion: AssertionRecord, evidence: string)
derived_from(assertion: AssertionRecord, source: AssertionRecord)
constraints:
- "Every RDF triple has exactly one subject, one predicate and one object."
- "Subjects are IRIs or blank nodes; predicates are IRIs; objects are IRIs, blank nodes or literals."
- "Literal language tags and datatypes must satisfy the chosen RDF version's constraints."
- "Blank-node identifiers are scoped and cannot be treated as global entity identifiers."
- "Graph membership and provenance are assertion metadata, not intrinsic fourth triple components."
- "Do not assume unique names, a closed world or the truth of an arbitrary inferred identity."
- "Confidence metadata must be in [0,1] when supplied and must not change RDF entailment semantics."
inference:
rule predicate_typing:
if valid_triple(t)
then typed_subject(t.subject) and typed_predicate(t.predicate) and typed_object(t.object)
confidence: "structural validation only"
rule rdfs_subproperty:
if triple(p, rdfs:subPropertyOf, q) and triple(s, p, o) and rdfs_entailment_enabled()
then triple(s, q, o)
confidence: "preserve premises and entailment regime"
rule rdfs_subclass:
if triple(c, rdfs:subClassOf, d) and triple(x, rdf:type, c) and rdfs_entailment_enabled()
then triple(x, rdf:type, d)
confidence: "preserve premises and entailment regime"
rule provenance_trace:
if inferred(t) and used_premise(t,p)
then derived_from(t,p)
confidence: "no unsupported certainty increase"
SEMANTIC_EQUIVALENCE:
- "Canonicalise IRIs and literals only under explicitly documented normalisation rules."
- "Distinguish lexical similarity, owl:sameAs identity, schema equivalence and graph isomorphism."
- "Blank-node renaming may preserve graph isomorphism without creating global identity."
- "Do not equate different predicates or resources solely because their labels match."
CONFIDENCE:
range: [0,1]
factors: [source_reliability, evidence_quality, inference_validity, temporal_relevance, independent_corroboration]
policy: "Keep confidence annotations separate from formal RDF truth and entailment."
VALIDATION:
- "Check RDF term kinds and syntax using the declared RDF version."
- "Validate language tags, literal datatypes, IRI syntax and blank-node scope."
- "Run optional SHACL constraints separately from RDF/RDFS entailment."
- "Record named-graph context, provenance, contradictory claims and applicable reasoning regime."
- "Check that inferred triples are justified by traceable premises."
FLOW_HASH:
algorithm: "SHA-256"
input: "versioned canonical representation of graph assertions, entailment rules and provenance"
note: "Use a documented RDF dataset canonicalisation method where blank nodes occur; compute hash at execution."
UPDATE_MODEL:
strategy: "versioned, provenance-preserving graph updates"
steps: [ingest, parse, normalise, validate, diff, reconcile, recompute_entailments, publish]
rollback: true
AI_CONSUMPTION:
representation: "RDF triples and named graphs with typed terms and evidence-backed annotations"
outputs: [triples, named_graphs, entity_links, inferred_triples, provenance_records, validation_reports]
safeguards: [respect_open_world_semantics, avoid_unsupported_identity_merges, preserve_blank_node_scope, retain_inference_provenance]
}
END FLOW ALGEBRA