glam/schemas/20251121/linkml/modules/classes/CustodianCollection.yaml
2026-01-19 00:09:28 +01:00

255 lines
10 KiB
YAML

id: https://nde.nl/ontology/hc/class/CustodianCollection
name: custodian_collection_class
title: CustodianCollection Class
imports:
- linkml:types
- ./Custodian
- ./CustodianObservation
- ./ReconstructionActivity
- ./TimeSpan
- ./OrganizationalStructure
- ./CollectionManagementSystem
- ./ReconstructedEntity
- ../slots/preservation_level
- ../slots/digitization_status
# REMOVED 2026-01-18: ../slots/collection_name - migrated to has_or_had_label + Label (Rule 53)
- ../slots/has_or_had_label
- ./Label
# REMOVED 2026-01-18: ../slots/collection_description - migrated to has_or_had_description + Description (Rule 53)
- ../slots/has_or_had_description
- ../slots/collection_type
# REMOVED 2026-01-18: ../slots/collection_scope - migrated to has_or_had_scope + CollectionScope (Rule 53)
- ../slots/has_or_had_scope
- ./CollectionScope
- ../slots/has_or_had_content # was: temporal_coverage - migrated per Rule 53/56 (2026-01-16)
- ./Content
- ../slots/extent
- ../slots/managing_unit
- ../slots/temporal_extent # was: valid_from + valid_to - migrated per Rule 53
# REMOVED 2026-01-14: valid_from + valid_to - migrated to temporal_extent (Rule 53)
- ../slots/refers_to_custodian
- ../slots/is_or_was_derived_from # was: was_derived_from - migrated per Rule 53
- ../slots/has_or_had_arrangement_system
- ../slots/is_or_was_generated_by # was: was_generated_by - migrated per Rule 53
- ../slots/has_or_had_custodian_type
- ../slots/custody_history
- ../slots/digital_surrogate
- ../slots/id
- ../slots/has_or_had_managed_by_cm
- ../slots/has_or_had_provenance # was: provenance_note - migrated per Rule 53/56 (2026-01-18)
- ./Provenance
- ./Description
- ../slots/specificity_annotation
- ../slots/has_or_had_score # was: template_specificity - migrated per Rule 53 (2026-01-17)
- ./SpecificityAnnotation
- ./TemplateSpecificityScore # was: TemplateSpecificityScores - migrated per Rule 53 (2026-01-17)
- ./TemplateSpecificityType
- ./TemplateSpecificityTypes
- ../slots/has_or_had_access_right
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
crm: http://www.cidoc-crm.org/cidoc-crm/
dcterms: http://purl.org/dc/terms/
rico: https://www.ica.org/standards/RiC/ontology#
prov: http://www.w3.org/ns/prov#
time: http://www.w3.org/2006/time#
org: http://www.w3.org/ns/org#
premis: http://www.loc.gov/premis/rdf/v3/
bf: http://id.loc.gov/ontologies/bibframe/
classes:
CustodianCollection:
is_a: ReconstructedEntity
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.
Phase 9 (2025-11-26): Added PREMIS mappings for digital preservation (digital_surrogates,
digitization_status, preservation_level).
'
close_mappings:
- premis:IntellectualEntity
- rico:RecordSet
- bf:Collection
related_mappings:
- premis:relationship
- dcterms:hasPart
slots:
- has_or_had_access_right
- has_or_had_arrangement_system
# REMOVED 2026-01-18: collection_description - migrated to has_or_had_description + Description (Rule 53)
- has_or_had_description
# REMOVED 2026-01-18: collection_name - migrated to has_or_had_label + Label (Rule 53)
- has_or_had_label
# REMOVED 2026-01-18: collection_scope - migrated to has_or_had_scope + CollectionScope (Rule 53)
- has_or_had_scope
- collection_type
- has_or_had_custodian_type
- custody_history
- digital_surrogate
- digitization_status
- extent
- id
- has_or_had_managed_by_cm
- managing_unit
- preservation_level
- has_or_had_provenance # was: provenance_note - migrated per Rule 53/56 (2026-01-18)
- refers_to_custodian
- specificity_annotation
- has_or_had_score # was: template_specificity - migrated per Rule 53 (2026-01-17)
- has_or_had_content # was: temporal_coverage - migrated per Rule 53/56 (2026-01-16)
- temporal_extent # was: valid_from + valid_to - migrated per Rule 53
- is_or_was_derived_from # was: was_derived_from - migrated per Rule 53
- is_or_was_generated_by # was: was_generated_by - migrated per Rule 53
slot_usage:
has_or_had_label: # was: collection_name - migrated per Rule 53/56 (2026-01-18)
description: |
MIGRATED from collection_name per slot_fixes.yaml (Rule 53/56, 2026-01-18).
The name of this custodian collection.
Uses Label class for structured labeling.
range: Label
inlined: true
required: true
pattern: ^.{1,500}$
managing_unit:
range: OrganizationalStructure
required: false
temporal_extent: # was: valid_from + valid_to - migrated per Rule 53
description: |
Collection validity period using CIDOC-CRM TimeSpan.
MIGRATED from valid_from + valid_to per slot_fixes.yaml (Rule 53).
range: TimeSpan
inlined: true
required: false
id:
identifier: true
required: true
refers_to_custodian:
range: Custodian
required: true
has_or_had_description: # was: collection_description - migrated per Rule 53/56 (2026-01-18)
description: |
MIGRATED from collection_description per slot_fixes.yaml (Rule 53/56, 2026-01-18).
Narrative description of the custodian collection's scope and significance.
Uses Description class with description_type for type discrimination.
Use description_type: "collection_description" to indicate collection narrative format.
range: Description
inlined: true
required: false
multivalued: true
inlined_as_list: true
examples:
- value:
description_text: "The Nationaal Archief holdings comprise over 137 km of archival records documenting Dutch government and society from the medieval period to the present."
description_type: collection_description
description: National archive custodian collection description
collection_type:
range: string
multivalued: true
has_or_had_scope: # was: collection_scope - migrated per Rule 53/56 (2026-01-18)
description: |
MIGRATED from collection_scope per slot_fixes.yaml (Rule 53/56, 2026-01-18).
Subject scope or thematic focus of the collection.
Uses CollectionScope class for structured scope representation.
Use scope_type: "collection_scope" to indicate collection scope format.
range: CollectionScope
inlined: true
required: false
examples:
- value:
scope_description: "17th-century Dutch painting"
scope_type: collection_scope
description: Art collection scope example
- value:
scope_description: "Municipal government records, 1578-present"
scope_type: archival_scope
description: Archival collection scope example
has_or_had_content:
# was: temporal_coverage - migrated per Rule 53/56 (2026-01-16)
range: Content
multivalued: true
inlined_as_list: true
required: false
description: |
Content scope including temporal, spatial, and topical coverage.
MIGRATED from temporal_coverage per slot_fixes.yaml (Rule 53/56, 2026-01-16).
examples:
- value:
has_or_had_label: "Colonial Archives"
temporal_extent:
begin_of_the_begin: '1602-01-01'
end_of_the_end: '1800-12-31'
description: Colonial period content coverage
extent:
range: string
required: false
has_or_had_access_right:
range: string
required: false
digital_surrogate:
range: string
multivalued: true
required: false
digitization_status:
range: string
required: false
examples:
- value: PARTIAL
description: 30% of collection digitized as of 2024
- value: COMPLETE
description: Full collection digitized 2019-2021
preservation_level:
range: string
required: false
examples:
- value: FULL
description: Long-term preservation with format migration
- value: BIT_LEVEL
description: Bit-level preservation in institutional repository
has_or_had_managed_by_cm:
range: CollectionManagementSystem
multivalued: true
required: false
examples:
- value: https://nde.nl/ontology/hc/cms/rijksmuseum-adlib
description: Collection managed by Rijksmuseum Adlib CMS
has_or_had_arrangement_system:
range: string
required: false
has_or_had_provenance: # was: provenance_note - migrated per Rule 53/56 (2026-01-18)
description: |
Custody transfer notes for this collection.
MIGRATED from provenance_note per slot_fixes.yaml (Rule 53/56, 2026-01-18).
Uses Provenance class with has_or_had_description for text content.
Use description_type: "provenance_note" to indicate custody transfer format.
required: false
range: Provenance
inlined: true
examples:
- value:
has_or_had_description:
- description_text: "Transferred from private donor 2015; previously held by estate since 1923."
description_type: provenance_note
description: Custody transfer note example
is_or_was_generated_by: # was: was_generated_by - migrated per Rule 53
range: ReconstructionActivity
required: false
is_or_was_derived_from: # was: was_derived_from - migrated per Rule 53
range: CustodianObservation
multivalued: true
required: true
has_or_had_custodian_type:
equals_expression: '["*"]'