- Created the Country class with ISO 3166-1 alpha-2 and alpha-3 codes, ensuring minimal design without additional metadata. - Integrated the Country class into CustodianPlace and LegalForm schemas to support country-specific feature types and legal forms. - Removed duplicate keys in FeatureTypeEnum.yaml, resulting in 294 unique feature types. - Eliminated "Hypernyms:" text from FeatureTypeEnum descriptions, verifying that semantic relationships are now conveyed through ontology mappings. - Created example instance file demonstrating integration of Country with CustodianPlace and LegalForm. - Updated documentation to reflect the completion of the Country class implementation and hypernyms removal.
298 lines
11 KiB
YAML
298 lines
11 KiB
YAML
# Heritage Custodian Collection Class
|
|
# This class represents the COLLECTION dimension of a heritage custodian
|
|
|
|
id: https://nde.nl/ontology/hc/class/CustodianCollection
|
|
name: custodian-collection-class
|
|
title: CustodianCollection Class
|
|
|
|
imports:
|
|
- linkml:types
|
|
- ./Custodian
|
|
- ./CustodianObservation
|
|
- ./ReconstructionActivity
|
|
- ./TimeSpan
|
|
- ./OrganizationalStructure
|
|
|
|
classes:
|
|
CustodianCollection:
|
|
class_uri: crm:E78_Curated_Holding
|
|
description: >-
|
|
Represents a heritage collection as a multi-aspect entity with independent temporal lifecycle.
|
|
|
|
Collections are curatedHoldings (CIDOC-CRM E78) with provenance tracking, custody history,
|
|
and organizational management relationships.
|
|
|
|
Phase 4 (2025-11-22): Added managing_unit bidirectional relationship with OrganizationalStructure.
|
|
Phase 8 (2025-11-22): Added validation constraints via slot_usage.
|
|
|
|
slots:
|
|
- id
|
|
- collection_name
|
|
- collection_description
|
|
- collection_type
|
|
- collection_scope
|
|
- temporal_coverage
|
|
- extent
|
|
- access_rights
|
|
- digital_surrogates
|
|
- managing_unit
|
|
- custody_history
|
|
- refers_to_custodian
|
|
- was_derived_from
|
|
- valid_from
|
|
- valid_to
|
|
|
|
# Validation Constraints (Phase 8)
|
|
slot_usage:
|
|
collection_name:
|
|
required: true
|
|
pattern: "^.{1,500}$" # 1-500 characters
|
|
description: "Collection name is required and must be 1-500 characters"
|
|
|
|
managing_unit:
|
|
required: false
|
|
description: >-
|
|
Optional reference to organizational unit managing this collection.
|
|
If provided, temporal consistency is validated:
|
|
- Collection.valid_from >= OrganizationalStructure.valid_from
|
|
- Collection.valid_to <= OrganizationalStructure.valid_to (if unit dissolved)
|
|
|
|
Bidirectional relationship: OrganizationalStructure.managed_collections must include this collection.
|
|
|
|
valid_from:
|
|
required: false
|
|
description: >-
|
|
Date when collection custody began under current managing unit.
|
|
|
|
Validation Rule 1 (Collection-Unit Temporal Consistency):
|
|
- Must be >= managing_unit.valid_from (if managing_unit is set)
|
|
- Validated by SHACL shapes and custom Python validators
|
|
|
|
valid_to:
|
|
required: false
|
|
description: >-
|
|
Date when collection custody ended (if applicable).
|
|
|
|
Validation Rule 1 (Collection-Unit Temporal Consistency):
|
|
- Must be <= managing_unit.valid_to (if managing_unit is dissolved)
|
|
- Validated by SHACL shapes and custom Python validators
|
|
|
|
slot_usage:
|
|
id:
|
|
identifier: true
|
|
required: true
|
|
description: >-
|
|
Unique identifier for this collection aspect (URI).
|
|
Format: https://nde.nl/ontology/hc/collection/{custodian-id}
|
|
|
|
refers_to_custodian:
|
|
slot_uri: crm:P46i_forms_part_of
|
|
range: Custodian
|
|
required: true
|
|
description: >-
|
|
Links this collection aspect back to the Custodian hub it represents.
|
|
CIDOC-CRM: P46i_forms_part_of (inverse of P46_is_composed_of).
|
|
|
|
This property enables navigation from aspect → hub:
|
|
- From collection aspect: refers_to_custodian → Custodian hub
|
|
- From hub: has_collection → CustodianCollection
|
|
|
|
managing_unit:
|
|
slot_uri: org:unitOf
|
|
range: OrganizationalStructure
|
|
required: false
|
|
description: >-
|
|
Organizational unit (department, division, section) responsible for managing this collection.
|
|
|
|
**Bidirectional Relationship**:
|
|
- **Forward**: CustodianCollection → OrganizationalStructure (managing_unit)
|
|
- **Reverse**: OrganizationalStructure → CustodianCollection (managed_collections)
|
|
|
|
**Use Cases**:
|
|
1. **Collection Management**: "Which department manages the Medieval Manuscripts collection?"
|
|
2. **Staffing Cross-Reference**: "Who are the curators managing this collection?"
|
|
- Follow: managing_unit → OrganizationalStructure → staff_members → PersonObservation
|
|
3. **Organizational Change Impact**: Track collection custody through mergers, splits, reorganizations
|
|
|
|
**Examples**:
|
|
```yaml
|
|
CustodianCollection:
|
|
id: ".../collection/rm-paintings"
|
|
collection_name: "Paintings Collection"
|
|
managing_unit: ".../org-unit/rm-paintings-dept"
|
|
# Query curators: managing_unit.staff_members (role = CURATOR)
|
|
|
|
CustodianCollection:
|
|
id: ".../collection/na-digital-archives"
|
|
collection_name: "Born-Digital Archives"
|
|
managing_unit: ".../org-unit/na-digital-preservation"
|
|
# Query digital preservation staff: managing_unit.staff_members
|
|
```
|
|
|
|
**Temporal Consistency**:
|
|
- Collection custody dates (valid_from, valid_to) should align with managing_unit validity
|
|
- During organizational restructuring, managing_unit changes:
|
|
```yaml
|
|
# Before merger (2013-02-28)
|
|
CustodianCollection:
|
|
id: ".../collection/rm-paintings-in-conservation"
|
|
managing_unit: ".../org-unit/rm-paintings-conservation"
|
|
valid_to: "2013-02-28"
|
|
|
|
# After merger (2013-03-01)
|
|
CustodianCollection:
|
|
id: ".../collection/rm-paintings-in-conservation"
|
|
managing_unit: ".../org-unit/rm-conservation-division"
|
|
valid_from: "2013-03-01"
|
|
```
|
|
|
|
**SPARQL Query Pattern**:
|
|
```sparql
|
|
# Find managing unit and curators for a collection
|
|
PREFIX org: <http://www.w3.org/ns/org#>
|
|
PREFIX hc: <https://nde.nl/ontology/hc/class/>
|
|
PREFIX schema: <http://schema.org/>
|
|
|
|
SELECT ?unit ?unit_name ?curator ?curator_name
|
|
WHERE {
|
|
<.../collection/rm-paintings>
|
|
org:unitOf ?unit .
|
|
|
|
?unit hc:unit_name ?unit_name ;
|
|
org:hasMember ?curator .
|
|
|
|
?curator hc:staff_role hc:CURATOR ;
|
|
schema:name ?curator_name .
|
|
}
|
|
```
|
|
|
|
**Notes**:
|
|
- If managing_unit is null, collection may be managed at institutional level (not department-specific)
|
|
- Collections may split across multiple units → create separate CustodianCollection instances
|
|
- Custody transfers tracked via managing_unit changes + temporal validity
|
|
|
|
collection_name:
|
|
slot_uri: dcterms:title
|
|
range: string
|
|
required: false
|
|
description: >-
|
|
Name of the collection (may differ from custodian name).
|
|
Examples:
|
|
- "Rijksmuseum Collection"
|
|
- "Notarial Archives of Amsterdam"
|
|
- "Wallace Collection"
|
|
- "Vatican Apostolic Library Holdings"
|
|
|
|
collection_description:
|
|
slot_uri: dcterms:description
|
|
range: string
|
|
required: false
|
|
description: >-
|
|
Narrative description of the collection's contents, scope, and significance.
|
|
|
|
collection_type:
|
|
slot_uri: dcterms:type
|
|
range: string
|
|
multivalued: true
|
|
description: >-
|
|
Type(s) of heritage materials in collection.
|
|
Multiple types may apply (e.g., archives + library).
|
|
|
|
Examples:
|
|
- "archival_records" (rico:RecordSet)
|
|
- "museum_objects" (crm:E78_Curated_Holding)
|
|
- "library_holdings" (bf:Collection)
|
|
- "monuments" (crm:E27_Site)
|
|
- "archaeological_materials"
|
|
- "natural_history_specimens"
|
|
- "digital_born" (born-digital collections)
|
|
- "photographs"
|
|
- "manuscripts"
|
|
|
|
collection_scope:
|
|
slot_uri: dcterms:coverage
|
|
range: string
|
|
required: false
|
|
description: >-
|
|
Subject scope or thematic focus of collection.
|
|
Examples:
|
|
- "17th-century Dutch painting"
|
|
- "Municipal government records, 1578-present"
|
|
- "Medieval manuscripts"
|
|
- "East Asian art"
|
|
|
|
temporal_coverage:
|
|
slot_uri: dcterms:temporal
|
|
range: TimeSpan
|
|
required: false
|
|
description: >-
|
|
Time period covered by collection materials (NOT when collected).
|
|
Examples:
|
|
- Collection of 18th-century documents: temporal_coverage = 1700-1799
|
|
- Medieval manuscript collection: temporal_coverage = 800-1500
|
|
|
|
extent:
|
|
slot_uri: dcterms:extent
|
|
range: string
|
|
required: false
|
|
description: >-
|
|
Size/quantity of collection.
|
|
Examples:
|
|
- "1,200 linear meters"
|
|
- "45,000 objects"
|
|
- "2.3 million books"
|
|
- "150 manuscript volumes"
|
|
|
|
arrangement_system:
|
|
slot_uri: rico:hasRecordSetType
|
|
range: string
|
|
required: false
|
|
description: >-
|
|
Intellectual arrangement or classification system.
|
|
Examples:
|
|
- "Archival fonds organized by provenance" (RiC-O)
|
|
- "Dewey Decimal Classification" (libraries)
|
|
- "Thematic galleries" (museums)
|
|
- "Chronological arrangement"
|
|
|
|
provenance_note:
|
|
slot_uri: crm:P24_transferred_title_of
|
|
range: string
|
|
required: false
|
|
description: >-
|
|
Notes on collection provenance, acquisition history, custody transfers.
|
|
Documents metonymic relationship: how collection identifies custodian.
|
|
|
|
was_generated_by:
|
|
slot_uri: prov:wasGeneratedBy
|
|
range: ReconstructionActivity
|
|
required: false
|
|
description: >-
|
|
Links to the ReconstructionActivity that generated this collection aspect.
|
|
If present, indicates formal entity resolution process was used.
|
|
If absent, indicates direct extraction without reconstruction.
|
|
|
|
was_derived_from:
|
|
slot_uri: prov:wasDerivedFrom
|
|
range: CustodianObservation
|
|
multivalued: true
|
|
required: true
|
|
description: >-
|
|
Links to the observation(s) from which this collection aspect was derived.
|
|
Multiple observations may contribute evidence for a single collection aspect.
|
|
|
|
valid_from:
|
|
slot_uri: time:hasBeginning
|
|
range: date
|
|
required: false
|
|
description: >-
|
|
Start date of collection's existence or custodian's stewardship.
|
|
(e.g., founding collection date, acquisition date)
|
|
|
|
valid_to:
|
|
slot_uri: time:hasEnd
|
|
range: date
|
|
required: false
|
|
description: >-
|
|
End date of collection's existence or custodian's stewardship.
|
|
(e.g., deaccessioned, transferred to another custodian, destroyed)
|