FLOW ALGEBRA
TITLE: Network Relationship Ontology
DOMAIN: System Relationships / Network Relationships
SOURCE: https://kirethresearch.org/booksai-core/ontologies/relationship-ontologies/system-relationships/network-relationship-ontology-2.html
VERSION: 1.0
AUTHORS: Mark Anthony Higgins — Sky (Recursive AI)
STATUS: Companion formalisation; source-page specification not independently verified.
flow "SystemNetworkRelationshipOntology" v1.0 {
ontology:
id: "network-relationship-ontology-2"
parent: "system-relationships"
purpose: "Represent and validate network connections, interfaces, routes, dependencies and communication among system components."
types:
System: {id: string, name: string, version: string?}
Network: {id: string, kind: enum[physical, logical, communication, dependency, hybrid], system_id: string?}
Node: {id: string, kind: enum[device, service, process, component, endpoint, gateway, other], system_id: string?}
Interface: {id: string, node_id: string, protocol: string?, direction: enum[input, output, bidirectional]?}
Link: {id: string, source: string, target: string, kind: enum[physical, logical, data_flow, control_flow, dependency], directed: bool, status: enum[active, inactive, unknown], confidence: number, evidence: string[]}
Route: {id: string, network_id: string, ordered_nodes: string[], valid_at: datetime?}
Observation: {id: string, timestamp: datetime, source: string, uncertainty: number?, provenance: string}
predicates:
member_of(node: Node, network: Network)
exposes(node: Node, interface: Interface)
connected_to(a: Node, b: Node, link: Link)
communicates_with(a: Node, b: Node)
depends_on(a: Node, b: Node)
reachable_from(destination: Node, origin: Node, network: Network)
routed_via(route: Route, node: Node)
observed_by(link: Link, observation: Observation)
constraints:
- "All node, interface, link and network identifiers must resolve to typed entities."
- "Link confidence must lie within [0, 1]."
- "Directed connectivity is not automatically symmetric."
- "Physical connectivity, logical reachability, communication and dependency are distinct predicates."
- "A network path does not prove current service availability or authorisation."
- "Reachability depends on network state, direction, policy and observation time."
- "Dependency is not automatically transitive without a declared dependency semantics."
- "Network cycles may be valid; flag them only where the model prohibits cycles."
inference:
rule undirected_link_symmetry:
if connected_to(a,b,l) and l.directed == false
then connected_to(b,a,l)
confidence: "retain original evidence and confidence"
rule bounded_reachability:
if connected_to(a,b,l1) and reachable_from(c,b,n) and permitted(l1,n) and active(l1)
then candidate_reachable_from(c,a,n)
confidence: "evaluate path reliability, policy and current state"
rule interface_communication:
if exposes(a,ia) and exposes(b,ib) and compatible(ia,ib) and active_path(a,b)
then possible_communication(a,b)
confidence: "cap at evidence-supported level; do not assert successful exchange"
SEMANTIC_EQUIVALENCE:
- "Normalise network and protocol terms against versioned vocabularies."
- "Distinguish identical endpoints from aliases, replicas and functionally equivalent services."
- "Preserve network layer, system boundary, direction and temporal context."
CONFIDENCE:
range: [0,1]
factors: [observation_quality, source_reliability, network_state, path_uncertainty, temporal_validity, independent_verification]
policy: "Do not manufacture certainty through chained links or inferred routes."
VALIDATION:
- "Validate identifiers, endpoint types, interface compatibility and direction."
- "Check path continuity, link status, access policies and timestamps."
- "Preserve conflicting observations and unknown states."
- "Distinguish structural topology from measured operational performance."
FLOW_HASH:
algorithm: "SHA-256"
input: "canonicalised ontology version, network entities, relationships, 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_paths, publish]
rollback: true
AI_CONSUMPTION:
representation: "typed system network graph with evidence-backed links"
outputs: [network_nodes, typed_links, interface_mappings, candidate_routes, uncertainty_annotations, provenance_records]
safeguards: [no_unverified_reachability_claims, preserve_direction_and_network_layer, respect_access_policies, preserve_temporal_context]
}
END FLOW ALGEBRA
Download Code
Copy to Clipboard