- Created PlantUML diagrams for custodian types, full schema, legal status, and organizational structure. - Implemented a script to generate GraphViz DOT diagrams from OWL/RDF ontology files. - Developed a script to generate UML diagrams from modular LinkML schema, supporting both Mermaid and PlantUML formats. - Enhanced class definitions and relationships in UML diagrams to reflect the latest schema updates.
14 KiB
EncompassingBody Implementation Complete
Date: 2025-11-23
Status: ✅ COMPLETE
Purpose: Model extra-organizational governance relationships for heritage custodians
Overview
The EncompassingBody class hierarchy models organizations that encompass, oversee, or coordinate heritage custodian institutions. This extends governance modeling beyond internal organizational structure (OrganizationalStructure) and legal entity governance (GovernanceStructure) to capture external parent-child and membership relationships.
Three Types of Encompassing Bodies
1. UmbrellaOrganisation (Legal Parent)
Characteristics:
- PERMANENT hierarchical legal structure
- Defined in articles of association, statutes, or legislation
- Strong governance authority (budgets, appointments, policy)
- Legal subordination relationship
Examples:
- Ministry of OCW → National Archives (Dutch Heritage Act)
- Gemeente Amsterdam → Amsterdam Museum (municipal oversight)
- Universiteit Leiden → Leiden University Library (university charter)
- Franciscan Order → Monastery archives (religious constitution)
Ontology: org:FormalOrganization (W3C ORG)
2. NetworkOrganisation (Service Provider)
Characteristics:
- TEMPORARY agreements for centralized services
- Voluntary membership (join for service benefits)
- Limited authority (coordinates services, no governance)
- Service-oriented (infrastructure, training, coordination)
Examples:
- Digital Heritage Network (digital preservation storage)
- DPLA (metadata aggregation)
- Europeana (digitization aggregation)
- Regional conservation lab networks
Ontology: schema:Organization (Schema.org)
3. Consortium (Mutual Assistance)
Characteristics:
- TEMPORARY peer-to-peer collaboration
- Mutual assistance (members help each other)
- Minimal authority (coordination only)
- Reciprocal services (not centralized provider)
Examples:
- UKB Consortium (Dutch university libraries - shared cataloging)
- Interlibrary loan consortia (reciprocal borrowing)
- Bulk licensing consortia (collective negotiations)
- Amsterdam Museums Consortium (joint marketing)
Ontology: schema:Consortium (Schema.org)
Key Distinctions
EncompassingBody vs. GovernanceStructure
| Aspect | EncompassingBody | GovernanceStructure |
|---|---|---|
| Scope | EXTERNAL parent organizations | INTERNAL legal structure |
| Location | On Custodian class | On CustodianLegalStatus class |
| Example | Ministry → National Archives | Board of Trustees (internal) |
| Relationship | Beyond custodian entity | Within legal entity |
EncompassingBody vs. OrganizationalStructure
| Aspect | EncompassingBody | OrganizationalStructure |
|---|---|---|
| Scope | EXTERNAL umbrella/networks | INTERNAL operational units |
| Location | On Custodian class | On Custodian class |
| Example | Digital Heritage Network | Digital Preservation Department |
| Relationship | Between organizations | Within organization |
NetworkOrganisation vs. Consortium
| Aspect | NetworkOrganisation | Consortium |
|---|---|---|
| Service Model | Centralized provider | Peer-to-peer mutual assistance |
| Direction | Network → Members | Members ↔ Members |
| Example | DPLA provides aggregation | Libraries lend to each other |
| Authority | Service standards | Coordination only |
Schema Files Created
-
Class Definition:
/schemas/20251121/linkml/modules/classes/EncompassingBody.yaml- EncompassingBody (abstract parent)
- UmbrellaOrganisation (legal parent)
- NetworkOrganisation (service provider)
- Consortium (mutual assistance)
-
Enumeration:
/schemas/20251121/linkml/modules/enums/EncompassingBodyTypeEnum.yaml- UMBRELLA (legal hierarchy)
- NETWORK (service provision)
- CONSORTIUM (peer collaboration)
-
Slot Definition:
/schemas/20251121/linkml/modules/slots/encompassing_body.yamlencompassing_bodyslot withorg:subOrganizationOfproperty
-
Examples:
/schemas/20251121/linkml/modules/examples/encompassing_body_examples.yaml- National Archives with Ministry umbrella
- Amsterdam Museum with multiple encompassing bodies
- Leiden University Library with university + consortium
- Regional archive with provincial umbrella
- Monastery archive with religious order umbrella
-
Custodian Class Updated:
/schemas/20251121/linkml/modules/classes/Custodian.yaml- Added
encompassing_bodyslot to slots list - Added comprehensive slot_usage documentation with examples
- Added
Ontological Mappings
EncompassingBody (Abstract)
- Primary:
org:Organization(W3C ORG) - Close:
tooi:Samenwerkingsorganisatie(TOOI),schema:Organization,cpov:PublicOrganisation
UmbrellaOrganisation
- Primary:
org:FormalOrganization(W3C ORG) - Close:
tooi:Ministerie,cpov:PublicOrganisation,schema:GovernmentOrganization
NetworkOrganisation
- Primary:
schema:Organization(Schema.org) - Close:
tooi:Samenwerkingsorganisatie,org:Organization
Consortium
- Primary:
schema:Consortium(Schema.org) - Close:
tooi:Samenwerkingsorganisatie,org:Organization
Relationship Property
- Primary:
org:subOrganizationOf(Custodian → EncompassingBody) - Inverse:
org:hasSubOrganization(EncompassingBody → Custodian) - Close:
schema:parentOrganization,schema:memberOf
Properties and Slots
Core Properties (All EncompassingBody Types)
id(required) - Unique URI identifierorganization_name(required) - Official name (SKOS prefLabel)organization_type(required) - UMBRELLA | NETWORK | CONSORTIUMdescription- Textual description of role and scopelegal_form- Legal entity type (ministry, foundation, etc.)founding_date- Establishment datedissolution_date- Dissolution date (if applicable)member_custodians- Custodians governed/coordinated by this bodyidentifiers- External IDs (Wikidata, VIAF, etc.)website- Official website
Type-Specific Properties
UmbrellaOrganisation (required):
governance_authority- Legal basis and governance powers
NetworkOrganisation (required):
service_offerings- Services provided to membersmembership_criteria- Eligibility and fees
Consortium (required):
service_offerings- Peer-to-peer services (mutual assistance)membership_criteria- Participation requirements
Usage Patterns
Single Umbrella Organization
custodian:
hc_id: "https://nde.nl/ontology/hc/nl-na"
preferred_label: "Nationaal Archief"
encompassing_body:
- id: ".../umbrella/nl-ministry-ocw"
organization_type: "UMBRELLA"
governance_authority: "Heritage Act 2016"
Multiple Encompassing Bodies
custodian:
hc_id: "https://nde.nl/ontology/hc/nl-nh-ams-m-am"
preferred_label: "Amsterdam Museum"
encompassing_body:
- id: ".../umbrella/nl-municipality-amsterdam"
organization_type: "UMBRELLA"
- id: ".../network/digital-heritage-nl"
organization_type: "NETWORK"
- id: ".../consortium/amsterdam-museums-consortium"
organization_type: "CONSORTIUM"
Peer Collaboration Consortium
encompassing_body:
id: ".../consortium/dutch-univ-lib-consortium"
organization_name: "UKB Consortium"
organization_type: "CONSORTIUM"
service_offerings:
- "Shared union catalog"
- "Bulk licensing negotiations"
- "Reciprocal interlibrary loan"
member_custodians:
- hc_id: ".../nl-zh-lei-l-ub"
- hc_id: ".../nl-ut-utr-l-ub"
- hc_id: ".../nl-nh-ams-l-uba"
Temporal Dynamics
Custodians can change umbrella organizations, join/leave networks, or participate in multiple consortia over time.
Track Changes:
founding_date/dissolution_dateon EncompassingBody- Temporal validity tracked via EncompassingBody instances
- Changes recorded in organizational change events (future enhancement)
Example - Network Membership Change:
# 2015-2020: Member of old network
encompassing_body:
- id: ".../network/old-network"
dissolution_date: "2020-12-31"
# 2021-present: Member of new network
encompassing_body:
- id: ".../network/new-network"
founding_date: "2021-01-01"
SPARQL Query Examples
Find All Custodians Under a Ministry
PREFIX org: <http://www.w3.org/ns/org#>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
PREFIX hc: <https://nde.nl/ontology/hc/class/>
SELECT ?custodian_name ?custodian_type WHERE {
?custodian org:subOrganizationOf <.../ministry-ocw> ;
skos:prefLabel ?custodian_name ;
hc:custodian_type ?custodian_type .
}
Find All Networks a Custodian Belongs To
SELECT ?network_name ?services WHERE {
<.../custodian/amsterdam-museum> org:subOrganizationOf ?network .
?network a hc:NetworkOrganisation ;
skos:prefLabel ?network_name ;
hc:service_offerings ?services .
}
Find All Consortia with Reciprocal Interlibrary Loan
SELECT ?consortium_name ?member_count WHERE {
?consortium a hc:Consortium ;
skos:prefLabel ?consortium_name ;
hc:service_offerings ?service .
FILTER(CONTAINS(?service, "interlibrary loan"))
{
SELECT ?consortium (COUNT(?member) AS ?member_count) WHERE {
?consortium org:hasSubOrganization ?member .
}
GROUP BY ?consortium
}
}
Integration with Existing Classes
Custodian Hub Class
EncompassingBody connects to Custodian via encompassing_body slot:
- Custodians can have 0 or more encompassing bodies
- Typical patterns: 1 umbrella + multiple networks/consortia
- Slot is multivalued and uses
org:subOrganizationOfproperty
CustodianLegalStatus
Complementary, not overlapping:
- CustodianLegalStatus.governance_structure: INTERNAL legal structure (board, trustees)
- Custodian.encompassing_body: EXTERNAL parent organizations
OrganizationalStructure
Complementary, not overlapping:
- OrganizationalStructure: INTERNAL operational units (departments, teams)
- EncompassingBody: EXTERNAL organizations custodian is part of
Data Quality Considerations
High-Quality Data Includes
- Temporal Validity: Founding/dissolution dates for encompassing bodies
- Governance Documentation: Legal basis for UmbrellaOrganisations
- Service Descriptions: Detailed service offerings for Networks/Consortia
- External Identifiers: Wikidata IDs for encompassing organizations
- Membership Criteria: Clear eligibility requirements
Common Data Gaps
- Missing service descriptions for networks
- Unclear distinction between network and consortium
- Temporal validity not tracked (membership start/end dates)
- Governance authority not documented for umbrella organizations
Design Decisions
Why Three Types?
Three types reflect fundamentally different governance models:
- Legal hierarchy (permanent, strong authority)
- Service provision (temporary, centralized, limited authority)
- Peer collaboration (temporary, distributed, minimal authority)
Why Not More Types?
Additional categories considered but rejected:
- Funding bodies: Captured via provenance metadata, not governance
- Professional associations: Use Consortium if peer-to-peer, Network if service provider
- Regulatory bodies: Use UmbrellaOrganisation if legal authority exists
Why on Custodian, Not CustodianLegalStatus?
EncompassingBody relationships affect the entire custodian (all aspects: place, collection, legal, name), not just the legal entity. Example: Religious order (umbrella) governs monastery archive (custodian) including its place (monastery building), collection (manuscripts), legal status (foundation), and name (emic identity).
Next Steps (Future Enhancements)
- Temporal Tracking: Add
membership_start_date/membership_end_dateto track when custodians join/leave networks - Event Integration: Link EncompassingBody changes to OrganizationalChangeEvent (e.g., "transferred to new ministry")
- Service Contracts: Model service agreements for NetworkOrganisations (SLAs, pricing tiers)
- Governance Roles: Model specific roles within umbrella organizations (e.g., "ministry appoints director")
- Network Topology: Visualize multi-level governance hierarchies (ministry → agency → branch archive)
Files Modified/Created
Modified:
/schemas/20251121/linkml/modules/classes/Custodian.yaml(added encompassing_body slot)
Created:
/schemas/20251121/linkml/modules/classes/EncompassingBody.yaml/schemas/20251121/linkml/modules/enums/EncompassingBodyTypeEnum.yaml/schemas/20251121/linkml/modules/slots/encompassing_body.yaml/schemas/20251121/linkml/modules/examples/encompassing_body_examples.yamlENCOMPASSING_BODY_IMPLEMENTATION_COMPLETE.md(this file)
Line Count Summary
| File | Lines |
|---|---|
| EncompassingBody.yaml | 570 |
| EncompassingBodyTypeEnum.yaml | 120 |
| encompassing_body slot | 50 |
| encompassing_body_examples.yaml | 520 |
| Custodian.yaml (additions) | 140 |
| TOTAL | 1,400 lines |
Ontology Alignment Summary
✅ W3C ORG Ontology: Primary alignment for organizational relationships
✅ TOOI Ontology: Dutch government and collaborative organizations
✅ Schema.org: Consortium and organization types
✅ CPOV: EU public sector organizations
✅ FOAF: General agent/organization concepts
Implementation Status: ✅ COMPLETE
Next Agent Handoff: EncompassingBody class system fully implemented and ready for use