Skip to main content

Service Relationship Ontology

System Relationships
Authors: MArk Anthony Higgins - Sky Recursive Ai
© Mark Anthony Higgins 11 October 2025
Revised Date: 10 October 2026
Audio Overview
FLOW ALGEBRA
TITLE: Service Relationship Ontology
DOMAIN: System Relationships / Service Architecture
SOURCE: https://kirethresearch.org/booksai-core/ontologies/relationship-ontologies/system-relationships/service-relationship-ontology.html
VERSION: 1.0
AUTHORS: Mark Anthony Higgins — Sky (Recursive AI)
STATUS: Companion formalisation; source-page specification not independently verified.

flow "ServiceRelationshipOntology" v1.0 {
  ontology:
    id: "service-relationship-ontology"
    parent: "system-relationships"
    purpose: "Represent evidence-backed relationships among services, providers, consumers, interfaces, contracts, dependencies and execution outcomes."

  types:
    System: {id: string, name: string, version: string?}
    Service: {id: string, name: string, version: string, lifecycle: enum[proposed, active, deprecated, retired]}
    Actor: {id: string, kind: enum[person, organisation, software_agent, system]}
    Interface: {id: string, protocol: string?, schema: string?, version: string?}
    Contract: {id: string, version: string, preconditions: string[], postconditions: string[], obligations: string[]}
    Operation: {id: string, service_id: string, input_schema: string?, output_schema: string?}
    Execution: {id: string, operation_id: string, timestamp: datetime, status: enum[pending, running, succeeded, failed, cancelled], provenance: string}
    Relationship: {id: string, subject: string, predicate: string, object: string, context: string?, confidence: number, evidence: string[]}

  predicates:
    provides(provider: Actor, service: Service)
    consumes(consumer: Actor, service: Service)
    exposes(service: Service, interface: Interface)
    governed_by(service: Service, contract: Contract)
    offers(service: Service, operation: Operation)
    depends_on(service_a: Service, service_b: Service)
    composes(service_a: Service, service_b: Service)
    hosted_by(service: Service, system: System)
    invokes(execution: Execution, operation: Operation)
    fulfils(execution: Execution, contract: Contract)

  constraints:
    - "All relationship endpoints must resolve to typed, versioned entities where applicable."
    - "Confidence values must lie within [0,1]."
    - "A service provider is not necessarily its owner, host or operator."
    - "A dependency does not imply service availability, successful execution or transitive contractual obligations."
    - "Contract fulfilment requires evaluated preconditions, postconditions and relevant evidence."
    - "Cycles in service dependencies must be detected and evaluated, not automatically rejected."
    - "Interface compatibility must consider protocol, schema, version and operational context."
    - "Do not infer successful execution from invocation alone."

  inference:
    rule provider_service_link:
      if provides(a,s) and valid(a) and valid(s)
      then service_provider_record(s,a)
      confidence: "evidence dependent"
    rule dependency_impact:
      if depends_on(a,b) and unavailable(b) and requires_runtime_access(a,b)
      then potential_impact(a,b)
      confidence: "context and redundancy dependent"
    rule operation_exposure:
      if offers(s,o) and exposes(s,i) and binds(o,i)
      then operation_accessible_via(o,i)
      confidence: "subject to interface and access validation"
    rule execution_evidence:
      if invokes(e,o) and execution_status(e,"succeeded") and verified_postconditions(e)
      then verified_success(e,o)
      confidence: "retain original execution evidence"

  SEMANTIC_EQUIVALENCE:
    - "Map service aliases to canonical, version-aware identifiers."
    - "Distinguish equivalent service capabilities from identical service instances."
    - "Do not merge services solely because their names or interfaces match."
    - "Preserve provider, deployment, contract and temporal context."

  CONFIDENCE:
    range: [0,1]
    factors: [source_reliability, interface_validation, contract_evidence, execution_observation, temporal_validity, independent_confirmation]
    policy: "Preserve uncertainty; do not increase confidence solely through inference chaining."

  VALIDATION:
    - "Check endpoint types, service and contract versions, and referenced identifiers."
    - "Validate interface bindings and input/output schemas."
    - "Check dependency cycles, lifecycle status and stale service declarations."
    - "Distinguish observed outcomes from expected outcomes and inferred capabilities."
    - "Retain provenance for each assertion and derived relationship."

  FLOW_HASH:
    algorithm: "SHA-256"
    input: "canonicalised ontology version, typed assertions, inference rules and provenance"
    note: "Compute 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, version-aware service relationship graph"
    outputs: [service_links, provider_consumer_edges, interface_contract_links, dependency_graphs, execution_evidence, uncertainty_annotations, provenance_records]
    safeguards: [no_unverified_service_claims, no_automatic_identity_merges, preserve_versions_and_contracts, flag_unverified_dependencies]
}

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