Relationship Ontologies
Authors:
MArk Anthony Higgins - Sky Recursive Ai
MArk Anthony Higgins - Sky Recursive Ai
© Mark Anthony Higgins 11 October 2025
Revised Date: July 6th 2026
Revised Date: July 6th 2026
AI Interpretation Note:
The following specifications represent a formal structural reasoning system for this page.
Execute as formal rules, not pseudocode.
FLOW ALGEBRA
Ontology: Relationship Ontologies
Domain: AI Core > Ontologies > Relationship Ontologies
Canonical URL: https://kirethresearch.org/booksai-core/ontologies/relationship-ontologies.html
Authors: Mark Anthony Higgins — Sky (Recursive AI)
flow "RelationshipOntologies" v1.0
# ---------- DOMAIN ----------
domain:
class: OntologyDomain
category: RelationshipOntologies
subject: SemanticRelationships
purpose:
- represent typed relationships connecting entities, concepts, events, states, resources, and ontologies
- preserve relationship identity, source, predicate, target, direction, cardinality, scope, context, confidence, validity, and provenance
- support knowledge graphs, semantic search, ontology reasoning, inference, cross-domain mapping, recursive traversal, and Flow Algebra
- distinguish relationship identity from labels, lexical similarity, co-occurrence, correlation, causation, and semantic equivalence
- enable machine-readable reasoning over relationship structure and semantics
# ---------- CORE ----------
entity SemanticRelationship:
type: KnowledgeRelationship
may_include:
- relationship_identifier
- source_entity
- predicate
- target_entity
- direction
- inverse
- cardinality
- domain
- range
- scope
- context
- temporal_state
- confidence
- validity
- provenance
entity RelationshipIdentifier:
type: PersistentIdentifier
identifies: SemanticRelationship
relationships:
SemanticRelationship -> IDENTIFIED_BY -> RelationshipIdentifier
SemanticRelationship -> HAS_SOURCE -> SemanticEntity
SemanticRelationship -> HAS_PREDICATE -> SemanticPredicate
SemanticRelationship -> HAS_TARGET -> SemanticEntity
SemanticPredicate -> MAY_HAVE_INVERSE -> SemanticPredicate
SemanticRelationship -> MAY_HAVE_CONTEXT -> RelationshipContext
SemanticRelationship -> MAY_HAVE_CONFIDENCE -> RelationshipConfidence
SemanticRelationship -> MAY_HAVE_PROVENANCE -> RelationshipProvenance
# ---------- RELATIONSHIP TRIPLE ----------
structure RelationshipTriple:
subject: SemanticEntity
predicate: SemanticPredicate
object: SemanticEntity
rule triple:
relationship triple MUST preserve subject, predicate, and object
rule triple_identity:
same endpoints with different predicate != same semantic relationship
# ---------- PREDICATE / DIRECTION ----------
entity SemanticPredicate:
type: RelationshipType
may_include:
- predicate_identifier
- preferred_label
- definition
- domain
- range
- inverse
- symmetry
- transitivity
- reflexivity
- cardinality_constraints
- semantic_constraints
rule predicate_label:
predicate label != predicate semantic identity
relationship_direction:
- directed
- undirected
- bidirectional
- inverse_defined
- context_dependent
rule direction:
directional relationship MUST preserve direction
rule reversal:
source-target reversal MUST NOT be inferred
unless inverse semantics explicitly permit
# ---------- INVERSE / SYMMETRY / TRANSITIVITY ----------
entity InverseRelationship:
type: SemanticRelationship
rule inverse:
inverse relationship MAY be inferred
only when predicate semantics define valid inverse
rule inverse_identity:
relationship != inverse relationship
entity SymmetricRelationship:
subtype_of: SemanticRelationship
rule symmetry:
IF predicate is symmetric
THEN relationship(a,b) MAY imply relationship(b,a)
rule non_symmetric:
non-symmetric predicate MUST NOT be treated as symmetric
entity TransitiveRelationship:
subtype_of: SemanticRelationship
rule transitivity:
IF predicate is transitive
AND relationship(a,b)
AND relationship(b,c)
THEN MAY infer relationship(a,c)
rule non_transitive:
transitivity MUST NOT be assumed
without predicate semantics
# ---------- CARDINALITY / DOMAIN / RANGE ----------
entity RelationshipCardinality:
type: ConstraintMetadata
may_be:
- one_to_one
- one_to_many
- many_to_one
- many_to_many
- optional
- exactly_one
- at_least_one
- at_most_one
rule cardinality:
relationship cardinality SHOULD preserve ontology constraints
entity RelationshipDomain:
type: TypeConstraint
entity RelationshipRange:
type: TypeConstraint
rule domain_range:
source and target SHOULD satisfy declared predicate domain and range
# ---------- RELATIONSHIP FAMILIES ----------
hierarchical_relationships:
- parent_of
- child_of
- broader_than
- narrower_than
- superclass_of
- subclass_of
- contains
- contained_by
- part_of
- has_part
rule hierarchy:
hierarchical direction MUST be preserved
entity TaxonomicRelationship:
subtype_of: SemanticRelationship
may_be:
- is_a
- subclass_of
- instance_of
- type_of
rule instance:
instance_of != subclass_of
entity MereologicalRelationship:
subtype_of: SemanticRelationship
may_be:
- part_of
- has_part
- component_of
- member_of
- collection_contains
rule part_whole:
part_of != is_a
rule membership:
member_of != subclass_of
entity AssociativeRelationship:
subtype_of: SemanticRelationship
may_be:
- related_to
- associated_with
- similar_to
- connected_to
- interacts_with
rule association:
association != causation
rule similarity:
similarity != semantic identity
entity CausalRelationship:
subtype_of: SemanticRelationship
may_be:
- causes
- caused_by
- contributes_to
- enables
- prevents
- inhibits
rule causation:
correlation != causation
rule contribution:
contributes_to != sole_cause
entity TemporalRelationship:
subtype_of: SemanticRelationship
may_be:
- before
- after
- during
- overlaps
- starts
- finishes
- simultaneous_with
entity SpatialRelationship:
subtype_of: SemanticRelationship
may_be:
- inside
- contains
- adjacent_to
- overlaps
- intersects
- near
- far_from
- north_of
- south_of
- east_of
- west_of
entity DependencyRelationship:
subtype_of: SemanticRelationship
may_be:
- depends_on
- required_by
- prerequisite_of
- uses
- provides
- compatible_with
- incompatible_with
rule dependency:
dependency != semantic identity
entity ProvenanceRelationship:
subtype_of: SemanticRelationship
may_be:
- derived_from
- generated_by
- attributed_to
- sourced_from
- transformed_from
- version_of
rule provenance_relation:
derived_from != identical_to_source
entity EquivalenceRelationship:
subtype_of: SemanticRelationship
may_be:
- equivalent_to
- same_as
- exact_match
- close_match
rule equivalence:
exact equivalence requires stronger semantics
than relatedness or similarity
rule close_match:
close_match != same_as
entity ContrastRelationship:
subtype_of: SemanticRelationship
may_be:
- different_from
- disjoint_with
- conflicts_with
- contradicts
- excludes
# ---------- MAPPING / CONTEXT ----------
entity RelationshipMapping:
type: SemanticMapping
may_include:
- source_relationship
- target_relationship
- mapping_type
- scope
- evidence
- confidence
mapping_types:
- exact
- close
- broader
- narrower
- related
- contextual
rule mapping:
mapped relationship != identical relationship
unless exact mapping is supported
entity RelationshipContext:
type: ContextMetadata
may_include:
- ontology
- domain
- scope
- temporal_context
- spatial_context
- application_context
- interpretation_constraints
rule context:
relationship interpretation SHOULD preserve applicable context
# ---------- CONFIDENCE / VALIDITY / PROVENANCE ----------
entity RelationshipConfidence:
type: EpistemicMetadata
range: [0.0, 1.0]
rule confidence_bounds:
REQUIRE 0.0 <= confidence <= 1.0
rule confidence:
confidence in relationship != confidence in endpoint identity
entity RelationshipValidity:
type: ValidityMetadata
may_include:
- valid_from
- valid_until
- ontology_version
- source_version
- evidence_validity
entity RelationshipProvenance:
type: ProvenanceMetadata
may_include:
- relationship_identifier
- source
- creator
- assertion_time
- evidence
- derivation
- transformation
- ontology_version
- validation_events
rule provenance:
semantic relationship SHOULD preserve origin
and derivation where available
entity InferredRelationship:
subtype_of: SemanticRelationship
may_include:
- premises
- inference_rule
- confidence
- provenance
rule inferred:
inferred relationship != explicitly asserted relationship
# ---------- RECURSIVE TRAVERSAL ----------
entity RecursiveRelationshipTraversal:
type: AIReasoningProcess
may_include:
- starting_entity
- traversed_relationships
- visited_entities
- depth
- stopping_condition
- cycle_policy
rule recursion:
recursive relationship traversal MUST preserve
visited state and stopping or cycle-control behaviour
rule cycle:
graph cycle != infinite recursion
when cycle policy is enforced
# ---------- VALIDATION ----------
validation:
require:
- identifiable_relationship
- source_entity
- predicate
- target_entity
reject:
- relationship_label_presented_as relationship_identity
- directional_relationship_reversed_without inverse_semantics
- non_symmetric_relationship_presented_as symmetric
- non_transitive_relationship_used_transitively
- instance_of_presented_as subclass_of
- is_a_presented_as part_of
- association_presented_as causation
- correlation_presented_as causation
- similarity_presented_as identity
- close_match_presented_as same_as
- inferred_relationship_presented_as explicit_assertion
- mapped_relationship_presented_as exact_identity_without evidence
# ---------- SEMANTIC EQUIVALENCE ----------
SEMANTIC_EQUIVALENCE:
"relationship ontology" ~= "ontology describing typed semantic relationships"
"semantic relationship" ~= "typed connection between semantic entities or concepts"
"relationship predicate" ~= "semantic type defining meaning of a relationship"
"inverse relationship" ~= "relationship whose direction and predicate invert another relationship"
"relationship provenance" ~= "provenance describing origin and derivation of a semantic relationship"
PRESERVE distinctions:
relationship_identity != relationship_label
source != target
relationship != inverse_relationship
instance_of != subclass_of
is_a != part_of
member_of != subclass_of
association != causation
correlation != causation
similarity != identity
related_to != equivalent_to
close_match != same_as
inferred_relationship != asserted_relationship
mapping != identity
confidence != endpoint_identity
# ---------- CONFIDENCE MODEL ----------
CONFIDENCE:
explicit_typed_relationship:
score: 1.00
explicit_relationship_identifier:
score: 1.00
validated_domain_and_range:
score: 0.99
validated_inverse_relationship:
score: 0.99
evidence_supported_inferred_relationship:
score: <= 0.95
contextual_mapping:
score: <= 0.90
similarity_only_relationship:
score: <= 0.70
lexical_cooccurrence_only:
score: <= 0.55
incomplete_relationship_provenance:
score: <= 0.55
action: preserve uncertainty
# ---------- UPDATE MODEL ----------
UPDATE_MODEL:
on_relationship_creation:
- assign RelationshipIdentifier
- identify source, predicate, and target
- validate domain and range
- resolve direction and inverse semantics
- record context and confidence
- initialise provenance
on_relationship_change:
- preserve previous relationship state
- identify changed source, predicate, target, scope, or constraints
- validate semantic impact
- update version and provenance
on_inference:
- resolve predicate inference properties
- validate premises
- derive relationship only when permitted
- preserve inference confidence and provenance
on_mapping:
- identify source and target relationships
- classify mapping type
- preserve evidence and scope
- prevent unsupported identity merge
- update provenance
# ---------- FLOW HASH ----------
FLOW_HASH:
inputs:
- ontology
- relationship_entities
- predicates
- direction_rules
- inverse_rules
- cardinality_rules
- domain_range_rules
- hierarchy_rules
- causal_rules
- temporal_rules
- spatial_rules
- mapping_rules
- validation
- semantic_equivalence
- confidence_model
- update_model
canonicalisation:
- preserve_relationship_identifiers
- preserve_source_predicate_target
- preserve_relationship_direction
- preserve_inverse_semantics
- preserve_domain_and_range
- preserve_cardinality
- preserve_context
- preserve_confidence
- preserve_validity
- preserve_provenance
- preserve_rule_order
output:
deterministic_semantic_hash
# ---------- AI CONSUMPTION ----------
AI_CONSUMPTION:
interpret_as:
- relationship ontology domain
- typed semantic edge and predicate model
- hierarchy, taxonomy, part-whole, association, causality, temporal, spatial, dependency, provenance, and equivalence relationship structure
- confidence-aware and provenance-aware knowledge-graph relationship model
operations:
- identify semantic relationships
- resolve source, predicate, and target
- preserve direction
- resolve valid inverse relationships
- validate domain, range, and cardinality
- inspect symmetry, transitivity, and reflexivity
- distinguish hierarchical and mereological relationships
- distinguish association, correlation, and causation
- inspect temporal and spatial relationships
- map relationships across ontologies
- infer relationships only under declared semantics
- recursively traverse relationships with cycle control
- trace confidence, validity, and provenance
constraints:
- do_not_equate_relationship_label_with identity
- do_not_reverse_directional_relationship_without inverse_semantics
- do_not_assume_symmetry_transitivity_or_reflexivity
- do_not_equate_instance_of_with subclass_of
- do_not_equate_is_a_with part_of
- do_not_equate_association_or_correlation_with causation
- do_not_equate_similarity_or_relatedness_with identity
- do_not_equate_close_match_with same_as
- do_not_equate_inferred_relationship_with explicit_assertion
- preserve_source_predicate_target_direction_context_confidence_and_provenance
# ---------- QUERY MODEL ----------
query:
input:
- relationship_identifier
- source_entity
- predicate
- target_entity
- relationship_type
- ontology
- context
- validity_time
resolve:
1. identify SemanticRelationship
2. resolve source, predicate, and target
3. inspect direction and inverse semantics
4. validate domain, range, and cardinality
5. inspect symmetry, transitivity, and reflexivity
6. classify relationship family
7. inspect context and mappings
8. inspect confidence and validity
9. trace provenance
10. return relationship interpretation
output:
- semantic_relationship
- relationship_identifier
- source
- predicate
- target
- direction
- inverse
- relationship_family
- domain
- range
- cardinality
- context
- confidence
- validity
- provenance
# ---------- INFERENCE ----------
inference:
IF predicate is symmetric
THEN MAY infer reversed relationship
IF predicate is transitive
AND valid relationship chain exists
THEN MAY infer transitive relationship
IF valid inverse predicate exists
THEN MAY infer inverse relationship
WITH preserved direction
IF relationship is only similar, related, or correlated
THEN do_not infer identity or causation
# ---------- OUTPUT CONTRACT ----------
output:
ontology_entity: SemanticRelationship
relationship_identity: machine_interpretable
source_predicate_target: explicit
direction: preserved
inverse_semantics: explicit
domain_and_range: validated
cardinality: explicit
relationship_families: distinguishable
symmetry_transitivity_reflexivity: predicate_governed
mappings: confidence_aware
context: preserved
inferred_vs_asserted: distinguishable
recursive_traversal: cycle_safe
confidence: explicit
validity: temporal
provenance: preserved
uncertainty: explicit
AI_reasoning: enabled
end flow