glam/schemas/20251121/linkml/modules/classes/StorageLocation.yaml
kempersc fc405445c6 Refactor and update schema definitions
- Removed obsolete slots: `has_or_had_custodian_observation`, `provider`, and `specificity_annotation`.
- Updated `has_or_had_score` slot to use `SpecificityScore` class and modified its description and examples.
- Added new slots: `end_seconds`, `end_time`, `has_archive_path`, `has_or_had_custodian_name`, `protocol_name`, and `protocol_version`.
- Introduced a script `check_annotation_types.py` to validate the presence and structure of `custodian_types` in YAML files.
- Added a script `update_specificity.py` to automate updates related to `SpecificityAnnotation` to `SpecificityScore`.
2026-02-01 19:55:38 +01:00

164 lines
No EOL
6 KiB
YAML

id: https://nde.nl/ontology/hc/class/StorageLocation
name: storage_location_class
title: Storage Location Class
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
premis: http://www.loc.gov/premis/rdf/v3/
schema: http://schema.org/
crm: http://www.cidoc-crm.org/cidoc-crm/
skos: http://www.w3.org/2004/02/skos/core#
dcterms: http://purl.org/dc/terms/
default_prefix: hc
imports:
- linkml:types
- ../metadata
- ../slots/has_or_had_description
- ../slots/has_or_had_identifier
- ../slots/has_or_had_label
- ../slots/has_or_had_score # was: template_specificity
- ../slots/has_or_had_type
- ../slots/has_or_had_url
classes:
StorageLocation:
class_uri: premis:StorageLocation
description: |
A location where heritage materials are stored, either physical or digital.
**PREMIS Alignment**:
`premis:StorageLocation` - "Information needed to retrieve a physical
item from its physical storage location or a file from the storage
system, or to access a bitstream within a file."
**Purpose**:
StorageLocation provides a unified model for:
1. **Physical storage** - References to AuxiliaryPlace instances
(depots, vaults, shelves, cabinets)
2. **Digital storage** - Cloud infrastructure, repositories, archive services
(AWS S3, DANS, Internet Archive)
**RELATIONSHIP TO OTHER CLASSES**:
```
Storage (facility)
└── is_or_was_stored_at → StorageLocation (THIS CLASS)
├── physical_location → AuxiliaryPlace (for physical)
└── storage_url (for digital infrastructure)
DigitalObject
└── is_or_was_stored_at → StorageLocation
└── storage_url → "s3://bucket/path"
```
**Use Cases**:
1. **Physical Collection Storage**:
- Reference to depot building (AuxiliaryPlace)
- Shelf/cabinet location identifier
2. **Digital Preservation Infrastructure**:
- Cloud storage (AWS S3, Azure Blob)
- Trusted digital repository (DANS, Portico)
- Third-party preservation service (Internet Archive)
**Slot Migration** (2026-01-15):
This class supports the migration of `storage_location` slot to
`is_or_was_stored_at` with structured StorageLocation range.
exact_mappings:
- premis:StorageLocation
close_mappings:
- schema:Place
- crm:E53_Place
related_mappings:
- premis:StorageMedium
- schema:DataCatalog
slots:
- has_or_had_identifier
- has_or_had_label
- has_or_had_description
- has_or_had_type
- has_or_had_url
- has_or_had_score # was: template_specificity - migrated per Rule 53 (2026-01-17)
slot_usage:
has_or_had_identifier:
range: uriorcurie
required: true
identifier: true
examples:
- value: https://nde.nl/ontology/hc/storage-location/rijksmuseum-depot-a
- value: https://nde.nl/ontology/hc/storage-location/dans-vault
has_or_had_label:
range: string
required: true
examples:
- value: Depot Amersfoort - Vault A
- value: AWS S3 eu-west-1
- value: DANS Data Archive
has_or_had_description:
range: string
required: false
examples:
- value: "Climate-controlled vault for photographic materials. -18°C, 30% RH."
- value: "DANS is a trusted digital repository for Dutch research data."
has_or_had_type:
range: string
required: false
examples:
- value: PHYSICAL_DEPOT
- value: CLOUD_STORAGE
- value: DIGITAL_REPOSITORY
- value: TRUSTED_ARCHIVE
has_or_had_url:
range: uri
required: false
examples:
- value: https://nde.nl/ontology/hc/aux-place/rijksmuseum-depot-amersfoort
- value: https://easy.dans.knaw.nl/
- value: https://archive.org/
annotations:
custodian_types: '["*"]'
custodian_types_rationale: Storage locations apply to all custodian types.
custodian_types_primary: null
specificity_score: 0.55
specificity_rationale: Moderately specific - relevant for preservation and storage contexts.
migration_date: "2026-01-15"
replaces_slot_range: "storage_location (was uri range, now structured class)"
comments:
- "Unifies physical and digital storage location concepts"
- "PREMIS StorageLocation provides core semantics"
- "For detailed physical location info, reference AuxiliaryPlace via has_or_had_url"
- "Storage (facility) links here via is_or_was_stored_at slot"
see_also:
- http://www.loc.gov/premis/rdf/v3/StorageLocation
- https://www.loc.gov/standards/premis/
examples:
- value:
has_or_had_identifier: https://nde.nl/ontology/hc/storage-location/rijksmuseum-depot-vault-a
has_or_had_label: Rijksmuseum Depot Amersfoort - Vault A
has_or_had_description: "Climate-controlled art storage vault. 18-22°C, 45-55% RH."
has_or_had_type: PHYSICAL_DEPOT
has_or_had_url: https://nde.nl/ontology/hc/aux-place/rijksmuseum-depot-amersfoort
- value:
has_or_had_identifier: https://nde.nl/ontology/hc/storage-location/dans-archive
has_or_had_label: DANS Data Archive
has_or_had_description: "DANS is a Dutch trusted digital repository for research data and cultural heritage collections."
has_or_had_type: TRUSTED_ARCHIVE
has_or_had_url: https://easy.dans.knaw.nl/
- value:
has_or_had_identifier: https://nde.nl/ontology/hc/storage-location/aws-s3-heritage
has_or_had_label: AWS S3 Heritage Bucket (eu-west-1)
has_or_had_description: "Cloud storage for digitized heritage materials. Amsterdam region for GDPR compliance."
has_or_had_type: CLOUD_STORAGE
has_or_had_url: s3://heritage-custodian-archive/