Skip to main content

Organisational Relationship Ontology

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

flow "OrganisationalRelationshipOntology" v1.0 {
  ontology:
    id: "organisational-relationship-ontology"
    parent: "human-relationships"
    purpose: "Represent evidence-backed roles, membership, authority, reporting, collaboration and governance within organisations."

  types:
    Person: {id: string, name: string?, privacy_class: string?}
    Organisation: {id: string, name: string, kind: string?, jurisdiction: string?}
    OrganisationalUnit: {id: string, organisation_id: string, name: string}
    Role: {id: string, title: string, scope: string?, responsibilities: string[]}
    Appointment: {id: string, person_id: string, role_id: string, unit_id: string?, start: datetime?, end: datetime?, evidence: string[]}
    Authority: {id: string, scope: string, granted_by: string?, valid_from: datetime?, valid_until: datetime?}
    Evidence: {id: string, source: string, observed_at: datetime?, reliability: number?}
    Relationship: {id: string, subject: string, predicate: string, object: string, valid_from: datetime?, valid_until: datetime?, confidence: number, evidence: string[]}

  predicates:
    member_of(person: Person, organisation: Organisation)
    belongs_to(unit: OrganisationalUnit, organisation: Organisation)
    holds_role(person: Person, role: Role)
    assigned_to(person: Person, unit: OrganisationalUnit)
    reports_to(person: Person, manager: Person)
    manages(person: Person, unit: OrganisationalUnit)
    collaborates_with(a: Person, b: Person)
    delegates(authority: Authority, from_person: Person, to_person: Person)
    accountable_for(person: Person, responsibility: string)
    affiliated_with(a: Organisation, b: Organisation)

  constraints:
    - "All relationship endpoints must resolve to declared compatible entity types."
    - "Confidence and evidence reliability must lie within [0, 1]."
    - "Roles, reporting lines, and membership are time-bounded where dates are known."
    - "A reporting relationship must not be inferred solely from job titles or seniority."
    - "Membership does not imply employment, management authority, or legal ownership."
    - "Collaboration and affiliation are not automatically transitive."
    - "Delegated authority must specify scope and validity; delegation does not imply unlimited powers."
    - "Sensitive personal data must be minimised and access controlled."

  inference:
    rule inverse_reporting:
      if reports_to(a,b) and valid_at(relation, time)
      then supervises(b,a)
      confidence: "retain originating evidence and temporal scope"
    rule unit_organisation:
      if assigned_to(p,u) and belongs_to(u,o) and current(u,o)
      then associated_with(p,o)
      confidence: "association only; do not infer employment"
    rule bounded_delegation:
      if delegates(auth,a,b) and active(auth,time)
      then authorised_for(b,auth.scope,time)
      confidence: "require evidence of valid delegation"

  SEMANTIC_EQUIVALENCE:
    - "Normalise role titles and organisation identifiers against versioned vocabularies."
    - "Distinguish organisational identity from name similarity and shared addresses."
    - "Preserve role scope, jurisdiction, dates, and employment status distinctions."

  CONFIDENCE:
    range: [0,1]
    factors: [source_reliability, evidence_recency, identity_resolution, temporal_validity, independent_confirmation]
    policy: "Never raise certainty merely by chaining organisational relationships."

  VALIDATION:
    - "Validate entity types, organisational membership, role scopes and effective dates."
    - "Flag conflicting reporting lines without assuming they are invalid; matrix reporting may be legitimate."
    - "Check delegated authority against its grant, scope, expiry and revocation."
    - "Preserve conflicting evidence and protect personal information."

  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, reconcile, expire_outdated_roles, recompute_inferences, publish]
    rollback: true

  AI_CONSUMPTION:
    representation: "typed organisational knowledge graph with evidence-backed and time-scoped edges"
    outputs: [organisational_entities, reporting_edges, role_assignments, authority_scopes, confidence_annotations, provenance_records]
    safeguards: [privacy_by_design, no_unverified_employment_claims, no_unbounded_authority_inference, preserve_temporal_context]
}

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