Skip to main content

RDF Triple Relationship Ontology

Knowledge Graph Relationships
Authors: MArk Anthony Higgins - Sky Recursive Ai
© Mark Anthony Higgins 11 October 2025
Revised Date: 10 October 2026
Audio Overview
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
Kireth Research
38 Thorndale Croft, Wetwang, Driffield
East Riding of Yorkshire YO25 9XZ