FLOW ALGEBRA
TITLE: Property Relationship Ontology
DOMAIN: Knowledge Graph Relationships / RDF and OWL Properties
SOURCE: https://kirethresearch.org/booksai-core/ontologies/relationship-ontologies/knowledge-graph-relationships/property-relationship-ontology.html
VERSION: 1.0
AUTHORS: Mark Anthony Higgins — Sky (Recursive AI)
STATUS: Companion formalisation; source-page specification not independently verified.
flow "PropertyRelationshipOntology" v1.0 {
ontology:
id: "property-relationship-ontology"
parent: "knowledge-graph-relationships"
purpose: "Represent typed knowledge-graph properties, their semantics, constraints, assertions and evidence-backed inferences."
types:
Resource: {id: iri_or_blank_node, classes: iri[]}
Literal: {lexical_form: string, datatype: iri?, language: string?}
Property: {id: iri, kind: enum[object_property, datatype_property, annotation_property, generic_rdf_property], domain: iri[]?, range: iri[]?}
Assertion: {id: string, subject: iri_or_blank_node, predicate: iri, object: iri_or_blank_node_or_literal, graph: iri?, provenance: string, confidence: number}
Axiom: {id: string, kind: string, property: iri, related_property: iri?, provenance: string}
Evidence: {id: string, source: string, recorded_at: datetime?, method: string?}
predicates:
has_property(subject: Resource, property: Property, value: Resource|Literal)
subproperty_of(child: Property, parent: Property)
equivalent_property(a: Property, b: Property)
inverse_property(a: Property, b: Property)
property_domain(property: Property, class: iri)
property_range(property: Property, class_or_datatype: iri)
supported_by(assertion: Assertion, evidence: Evidence)
constraints:
- "Subjects are IRIs or blank nodes; predicates are IRIs; objects may be IRIs, blank nodes or literals."
- "Object-property values must be resources; datatype-property values must be literals."
- "RDFS domain and range axioms imply types; they are not closed-world validation checks."
- "Multiple domain or range axioms are conjunctive under RDFS/OWL semantics, not alternative allowed types."
- "Do not assume distinct IRIs identify distinct real-world entities."
- "Do not assume properties are symmetric, transitive, functional or inverse-functional without explicit applicable axioms."
- "Confidence must be in [0,1] and remains metadata rather than RDF/OWL truth semantics."
- "Preserve named-graph context, provenance and datatype or language metadata."
inference:
rule subproperty_propagation:
if has_property(s,p,o) and subproperty_of(p,q)
then has_property(s,q,o)
confidence: "retain provenance and inference lineage"
rule domain_typing:
if has_property(s,p,o) and property_domain(p,C)
then type(s,C)
confidence: "logical entailment subject to ontology semantics"
rule range_typing:
if has_property(s,p,o) and property_range(p,C) and resource(o)
then type(o,C)
confidence: "logical entailment subject to ontology semantics"
rule inverse_assertion:
if has_property(s,p,o) and inverse_property(p,q) and resource(o)
then has_property(o,q,s)
confidence: "preserve axiom and assertion evidence"
rule equivalent_property_propagation:
if has_property(s,p,o) and equivalent_property(p,q)
then has_property(s,q,o)
confidence: "preserve original assertion provenance"
SEMANTIC_EQUIVALENCE:
- "Distinguish property equivalence from subproperty relationships, lexical similarity and aliases."
- "Resolve namespace aliases and versioned vocabulary identifiers without conflating different predicates."
- "Retain entailment regime and ontology version when comparing properties."
CONFIDENCE:
range: [0,1]
factors: [source_reliability, evidence_quality, axiom_validity, context_match, provenance_completeness]
policy: "Do not manufacture certainty through repeated inference or treat confidence as logical probability without a defined model."
VALIDATION:
- "Check RDF term positions, literal datatypes, language tags, and declared property kinds."
- "Use SHACL or an explicit closed-world profile for application constraints."
- "Detect incompatible axioms and unsatisfiable class or property restrictions under the selected reasoner."
- "Record inferred assertions separately from source assertions."
FLOW_HASH:
algorithm: "SHA-256"
input: "canonicalised ontology version, property axioms, assertions, context and provenance"
note: "Compute hash at execution; no hash value is claimed here."
UPDATE_MODEL:
strategy: "versioned, provenance-preserving incremental update"
steps: [ingest, normalise, validate, compare, reconcile, recompute_inferences, publish]
rollback: true
AI_CONSUMPTION:
representation: "typed RDF/OWL property graph with evidence-backed assertions"
outputs: [property_definitions, assertion_triples, inferred_relations, uncertainty_annotations, provenance_records, validation_reports]
safeguards: [respect_open_world_semantics, preserve_literal_types, no_unsupported_identity_merges, no_unjustified_property_characteristics]
}
END FLOW ALGEBRA
Download Code
Copy to Clipboard