FLOW ALGEBRA
TITLE: Component Relationship Ontology
DOMAIN: Relationship Ontologies / System Relationships
SOURCE: https://kirethresearch.org/booksai-core/ontologies/relationship-ontologies/system-relationships/component-relationship-ontology.html
VERSION: 1.0
AUTHORS: Mark Anthony Higgins — Sky (Recursive AI)
STATUS: Companion formalisation; source-page specification not independently verified.
flow "ComponentRelationshipOntology" v1.0 {
ontology:
id: "component-relationship-ontology"
parent: "system-relationships"
purpose: "Represent typed relationships among system components, their interfaces, containment, dependencies and operational contexts."
types:
System: {id: string, name: string, version: string?, boundary: string?}
Component: {id: string, name: string, kind: string, version: string?, lifecycle_state: string?}
Interface: {id: string, provider: string, contract: string, version: string?}
Resource: {id: string, kind: string, unit: string?}
Requirement: {id: string, statement: string, provenance: string}
Evidence: {id: string, source: string, timestamp: datetime?, method: string?}
Relationship: {id: string, subject: string, predicate: string, object: string, context: string?, confidence: number, evidence: string[]}
predicates:
component_of(component: Component, system: System)
contains_component(parent: Component, child: Component)
exposes(component: Component, interface: Interface)
consumes(component: Component, interface: Interface)
connects_to(a: Component, b: Component)
depends_on(a: Component, b: Component)
exchanges_with(a: Component, b: Component)
uses_resource(component: Component, resource: Resource)
satisfies(component: Component, requirement: Requirement)
verified_by(relationship: Relationship, evidence: Evidence)
constraints:
- "Relationship endpoints must resolve to compatible typed entities."
- "Confidence must lie within [0, 1]."
- "Containment must be acyclic within a single structural hierarchy."
- "A component cannot directly contain itself."
- "Do not infer operational dependence solely from physical connectivity."
- "Interface compatibility must be checked against explicit contracts and versions."
- "Component membership and dependency may change with system version and operating context."
- "Do not assume connects_to, depends_on or exchanges_with are transitive."
inference:
rule inverse_containment:
if contains_component(parent, child)
then contained_in(child, parent)
confidence: "inherit evidence and context"
rule indirect_containment:
if contains_component(a,b) and contains_component(b,c) and same_structure_version(a,b,c)
then indirectly_contains(a,c)
confidence: "retain complete derivation path"
rule interface_interaction_candidate:
if exposes(a,i) and consumes(b,i) and compatible(i,a,b)
then potential_interaction(a,b,i)
confidence: "requires operational evidence for confirmed interaction"
rule dependency_impact:
if depends_on(a,b) and unavailable(b)
then potential_impact(a,b)
confidence: "evaluate redundancy and failure handling before asserting disruption"
SEMANTIC_EQUIVALENCE:
- "Normalise component and interface identifiers using versioned registries."
- "Distinguish same component, equivalent function, compatible interface and shared role."
- "Do not merge components based only on matching names or descriptions."
CONFIDENCE:
range: [0,1]
factors: [source_reliability, interface_verification, configuration_freshness, operational_evidence, independent_replication]
policy: "Propagate uncertainty and do not increase confidence solely by chaining inferred relationships."
VALIDATION:
- "Verify component identifiers, endpoint types, hierarchy consistency and lifecycle versions."
- "Check interface contracts, resource units and evidence provenance."
- "Detect containment cycles, incompatible connections and unsupported dependency claims."
- "Preserve competing models when system topology is uncertain."
FLOW_HASH:
algorithm: "SHA-256"
input: "canonicalised ontology version, typed assertions, rules 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 system-component knowledge graph with evidence-backed edges"
outputs: [component_links, interface_mappings, dependency_paths, impact_candidates, uncertainty_annotations, provenance_records]
safeguards: [no_unverified_dependencies, no_unqualified_identity_merges, preserve_versions_and_context, distinguish_potential_from_confirmed_interactions]
}
END FLOW ALGEBRA
Download Code
Copy to Clipboard