glam/schemas/20251121/linkml/modules/classes/CustodianCollection.yaml

468 lines
14 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
- ../slots/collection_name
- ../slots/collection_description
- ../slots/collection_type
- ../slots/collection_scope
- ../slots/temporal_coverage
- ../slots/extent
- ../slots/managing_unit
- ../slots/valid_from
- ../slots/valid_to
- ../slots/refers_to_custodian
- ../slots/was_derived_from
- ../slots/has_or_had_arrangement_system
- ../slots/was_generated_by
- ../slots/has_or_had_custodian_type
- ../slots/custody_history
- ../slots/digital_surrogate
- ../slots/id
- ../slots/has_or_had_managed_by_cm
- ../slots/provenance_note
- ../slots/specificity_annotation
- ../slots/template_specificity
- ./SpecificityAnnotation
- ./TemplateSpecificityScores
- ../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:hasRepresentation
- dcterms:hasPart
slots:
- has_or_had_access_right
- has_or_had_arrangement_system
- collection_description
- collection_name
- collection_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
- provenance_note
- refers_to_custodian
- specificity_annotation
- template_specificity
- temporal_coverage
- valid_from
- valid_to
- was_derived_from
- was_generated_by
slot_usage:
collection_name:
slot_uri: dcterms:title
range: string
required: true
pattern: ^.{1,500}$
description: 'Name of the collection (may differ from custodian name).
Required field, 1-500 characters.
Examples:
- "Rijksmuseum Collection"
- "Notarial Archives of Amsterdam"
- "Wallace Collection"
- "Vatican Apostolic Library Holdings"
'
managing_unit:
slot_uri: org:unitOf
range: OrganizationalStructure
required: false
description: "Organizational unit (department, division, section) responsible for managing this collection.\n\n**Bidirectional\
\ Relationship**:\n- **Forward**: CustodianCollection → OrganizationalStructure (managing_unit)\n- **Reverse**:\
\ OrganizationalStructure → CustodianCollection (managed_collections)\n\n**Validation**: If provided, temporal consistency\
\ is validated:\n- Collection.valid_from >= OrganizationalStructure.valid_from\n- Collection.valid_to <= OrganizationalStructure.valid_to\
\ (if unit dissolved)\n\n**Use Cases**:\n1. **Collection Management**: \"Which department manages the Medieval Manuscripts\
\ collection?\"\n2. **Staffing Cross-Reference**: \"Who are the curators managing this collection?\"\n - Follow:\
\ managing_unit → OrganizationalStructure → staff_members → PersonObservation\n3. **Organizational Change Impact**:\
\ Track collection custody through mergers, splits, reorganizations\n\n**Notes**:\n- If managing_unit is null, collection\
\ may be managed at institutional level\n- Collections may split across multiple units → create separate CustodianCollection\
\ instances\n- Custody transfers tracked via managing_unit changes + temporal validity\n"
valid_from:
slot_uri: time:hasBeginning
range: date
required: false
description: 'Date when collection custody began under current managing unit.
Start date of collection''s existence or custodian''s stewardship
(e.g., founding collection date, acquisition date).
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:
slot_uri: time:hasEnd
range: date
required: false
description: 'Date when collection custody ended (if applicable).
End date of collection''s existence or custodian''s stewardship
(e.g., deaccessioned, transferred to another custodian, destroyed).
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
'
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
'
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"
'
has_or_had_access_right:
slot_uri: dcterms:accessRights
range: string
required: false
description: 'Access conditions and restrictions for the collection.
Examples:
- "Open access"
- "By appointment only"
- "Restricted - researchers with credentials"
- "Closed until 2050"
'
digital_surrogate:
slot_uri: premis:hasRepresentation
range: string
multivalued: true
required: false
description: 'Digital representations/surrogates of collection materials.
PREMIS: hasRepresentation links intellectual entities to digital representations.
A premis:Representation is a digital object that instantiates or renders an
IntellectualEntity (the conceptual work).
Values can be:
- URIs to digital object repositories
- IIIF manifest URLs
- Persistent identifiers (DOIs, handles)
Examples:
- "https://iiif.rijksmuseum.nl/manifest/SK-A-1505"
- "https://doi.org/10.5281/zenodo.1234567"
- "https://archive.org/details/manuscript-collection-x"
'
digitization_status:
slot_uri: premis:hasRelatedStatementInformation
range: string
required: false
description: 'Current status of collection digitization efforts.
PREMIS: hasRelatedStatementInformation for preservation metadata statements.
Values:
- NOT_DIGITIZED: No digital surrogates exist
- PARTIAL: Some materials digitized (use extent to indicate percentage)
- COMPLETE: Entire collection digitized
- ONGOING: Active digitization project
Use with digital_surrogates slot to indicate availability of surrogates.
'
examples:
- value: PARTIAL
description: 30% of collection digitized as of 2024
- value: COMPLETE
description: Full collection digitized 2019-2021
preservation_level:
slot_uri: premis:policy
range: string
required: false
description: 'Level of digital preservation commitment for this collection.
PREMIS: policy for preservation commitment levels.
Aligns with premis:PreservationPolicy vocabulary.
Values:
- FULL: Long-term preservation with format migration commitment
- BIT_LEVEL: Bit preservation only (no format migration)
- ACCESS_ONLY: Access copies maintained, no preservation guarantee
- NONE: No formal digital preservation policy
Applies to digital_surrogates and born-digital materials in collection.
For specific file-level preservation actions, see DigitalPlatform
preservation slots (fixity_check_date, storage_location).
'
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:
slot_uri: crm:P70i_is_documented_in
range: CollectionManagementSystem
multivalued: true
required: false
description: "Collection Management System(s) used to manage this collection.\n\nCIDOC-CRM: P70i_is_documented_in\
\ (inverse of P70_documents).\nThe CMS documents/manages the collection records.\n\n**Bidirectional Relationship**:\n\
- Forward: CustodianCollection → CollectionManagementSystem (managed_by_cms)\n- Reverse: CollectionManagementSystem\
\ → CustodianCollection (manages_collection)\n\n**Use Cases**:\n1. \"What CMS manages this collection?\" → Follow\
\ managed_by_cms\n2. \"What collections are in this CMS?\" → Follow manages_collection\n3. Migration planning: Identify\
\ all collections requiring CMS migration\n\n**Notes**:\n- Multivalued: A collection may be managed by multiple\
\ CMS\n (e.g., legacy system + new system during migration)\n- If null, collection may be managed manually or CMS\
\ is unknown\n"
examples:
- value: https://nde.nl/ontology/hc/cms/rijksmuseum-adlib
description: Collection managed by Rijksmuseum Adlib CMS
has_or_had_arrangement_system:
slot_uri: rico:hasRecordSetType
range: string
required: false
description: 'Intellectual has_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.
'
has_or_had_custodian_type:
equals_expression: '["*"]'
specificity_annotation:
range: SpecificityAnnotation
inlined: true
template_specificity:
range: TemplateSpecificityScores
inlined: true