Skip to main content

Subject 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: Subject Relationship Ontology
DOMAIN: Knowledge Graph Relationships / RDF Subjects
SOURCE: https://kirethresearch.org/booksai-core/ontologies/relationship-ontologies/knowledge-graph-relationships/subject-relationship-ontology.html
VERSION: 1.0
AUTHORS: Mark Anthony Higgins — Sky (Recursive AI)
STATUS: Companion formalisation; source-page specification not independently verified.

flow "SubjectRelationshipOntology" v1.0 {
  ontology:
    id: "subject-relationship-ontology"
    parent: "knowledge-graph-relationships"
    purpose: "Type, validate and reason about subjects as the originating terms of RDF assertions, while preserving identity, scope and provenance."

  types:
    IRI: {value: string}
    BlankNode: {local_id: string, graph_scope: string}
    Literal: {lexical_form: string, datatype: IRI?, language: string?}
    Subject: union[IRI, BlankNode]
    Predicate: IRI
    Object: union[IRI, BlankNode, Literal]
    Graph: {id: string, name: IRI?, version: string?, provenance: string?}
    Triple: {subject: Subject, predicate: Predicate, object: Object, graph_id: string, provenance: string?, confidence: number?}
    SubjectDescription: {subject: Subject, graph_id: string, assertions: Triple[], aliases: string[], provenance: string[]}

  predicates:
    is_subject_of(s: Subject, t: Triple)
    describes(g: Graph, s: Subject)
    has_assertion(s: Subject, p: Predicate, o: Object, g: Graph)
    same_resource_as(a: Subject, b: Subject, evidence: string)
    occurs_in(s: Subject, g: Graph)

  constraints:
    - "RDF triple subjects MUST be IRIs or blank nodes; literals cannot be subjects in standard RDF 1.1."
    - "Predicates MUST be IRIs in standard RDF 1.1."
    - "Every triple references an existing graph and retains provenance where available."
    - "Blank-node identifiers are scoped to their RDF graph or dataset context; equal labels across scopes do not imply identity."
    - "The subject position is a syntactic role and does not imply causation, agency, ownership or grammatical subjecthood."
    - "Matching labels, names or lexical forms alone cannot establish resource identity."
    - "Confidence, when supplied, must be within [0,1] and is annotation metadata, not native RDF truth semantics."

  inference:
    rule subject_occurrence:
      if Triple(s,p,o,g) and valid(Triple(s,p,o,g))
      then is_subject_of(s,Triple(s,p,o,g)) and occurs_in(s,g)
      confidence: "derived structurally; preserve source provenance"
    rule subject_description:
      if has_assertion(s,p,o,g)
      then describes(g,s)
      confidence: "structural assertion only"
    rule rdf_type:
      if has_assertion(s,rdf:type,c,g)
      then candidate_type(s,c,g)
      confidence: "subject to RDF/RDFS entailment regime and source evidence"
    rule identity_guard:
      if lexical_match(a,b) and not identity_evidence(a,b)
      then do_not_merge(a,b)
      confidence: "identity remains unresolved"

  SEMANTIC_EQUIVALENCE:
    - "Normalise IRIs without altering their intended resource identity."
    - "Keep exact identity, aliases, similarity and ontology class membership distinct."
    - "Do not equate blank nodes by local identifier across graph scopes."
    - "Apply owl:sameAs only under an explicitly enabled OWL entailment regime and with documented evidence."

  CONFIDENCE:
    range: [0,1]
    factors: [source_reliability, provenance_quality, identity_evidence, graph_consistency, inference_regime]
    policy: "Never increase certainty merely because several statements repeat the same unsupported assertion."

  VALIDATION:
    - "Verify RDF subject, predicate and object term kinds."
    - "Verify IRI syntax, graph references, blank-node scope and provenance."
    - "Check contradictions under the declared entailment regime; do not assume a closed world."
    - "Distinguish asserted from inferred triples and preserve inference traces."

  FLOW_HASH:
    algorithm: "SHA-256"
    input: "canonicalised ontology version, RDF dataset, inference rules and provenance"
    note: "Use a specified RDF dataset canonicalisation method before hashing; compute at execution."

  UPDATE_MODEL:
    strategy: "versioned, provenance-preserving incremental update"
    steps: [ingest, parse, normalise, validate, resolve_scope, compare, infer, publish]
    rollback: true

  AI_CONSUMPTION:
    representation: "RDF-compatible typed knowledge graph with subject-centric descriptions"
    outputs: [subject_descriptions, rdf_triples, graph_membership, identity_candidates, inference_traces, provenance_records]
    safeguards: [no_literal_subjects_in_rdf11, no_unsupported_identity_merges, preserve_blank_node_scope, preserve_assertion_provenance]
}

END FLOW ALGEBRA
Kireth Research
38 Thorndale Croft, Wetwang, Driffield
East Riding of Yorkshire YO25 9XZ