glam/schemas/20251121/linkml/modules/classes/StorageUnit.yaml
kempersc b34992b1d3 Migrate all 293 class files to ontology-aligned slots
Extends migration to all class types (museums, libraries, galleries, etc.)

New slots added to class_metadata_slots.yaml:
- RiC-O: rico_record_set_type, rico_organizational_principle,
  rico_has_or_had_holder, rico_note
- Multilingual: label_de, label_es, label_fr, label_nl, label_it, label_pt
- Scope: scope_includes, scope_excludes, custodian_only,
  organizational_level, geographic_restriction
- Notes: privacy_note, preservation_note, legal_note

Migration script now handles 30+ annotation types.
All migrated schemas pass linkml-validate.

Total: 387 class files now use proper slots instead of annotations.
2026-01-06 12:24:54 +01:00

325 lines
12 KiB
YAML

id: https://nde.nl/ontology/hc/class/StorageUnit
name: storage_unit_class
title: Storage Unit Class
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
crm: http://www.cidoc-crm.org/cidoc-crm/
schema: http://schema.org/
dcterms: http://purl.org/dc/terms/
wd: http://www.wikidata.org/entity/
aat: http://vocab.getty.edu/aat/
default_prefix: hc
imports:
- linkml:types
- ./Storage
- ../enums/StorageUnitTypeEnum
- ../slots/unit_name
- ../slots/unit_type
- ../slots/capacity_items
- ../slots/class_metadata_slots
classes:
StorageUnit:
class_uri: hc:StorageUnit
description: "An individual storage compartment, shelf, cabinet, drawer, or other\n\
discrete unit where heritage objects are physically placed.\n\n**DEFINITION**:\n\
\nStorageUnit represents the lowest level of spatial organization for\nobject\
\ storage within a heritage institution. This is where physical\nobjects are\
\ actually located. Examples include:\n- Archive boxes on shelves\n- Flat file\
\ drawers for maps/prints\n- Museum storage cabinets\n- Hanging racks for textiles\n\
- Specimen cabinets for natural history\n\n**Wikidata Alignment**:\n- Q1186447\
\ (storage unit)\n- Q854619 (archive box)\n\n**HC Ontology Extension (hc-storage.ttl)**:\n\
\nPrimary class: `hc:StorageUnit` (subclass of `crm:E27_Site`)\n\nThe HC ontology\
\ provides:\n- Named individuals for common storage unit types:\n - `hc:ArchiveBox`\
\ - Acid-free boxes for archival materials\n - `hc:FlatFileDrawer` - Drawers\
\ for oversized flat materials\n - `hc:HangingRack` - Racks for textiles/paintings\n\
\ - `hc:CompactShelving` - Mobile shelving systems\n - `hc:SpecimenCabinet`\
\ - Cabinets for specimens/artifacts\n - `hc:ColdStorageVault` - Refrigerated\
\ storage\n\nKey HC properties for storage units:\n- `hc:storageUnitIdentifier`\
\ - Local ID/barcode\n- `hc:storageUnitType` - Type classification\n- `hc:rowNumber`\
\ - Row/aisle identifier\n- `hc:bayNumber` - Bay/section within row\n- `hc:shelfNumber`\
\ - Shelf level within bay\n- `hc:isStorageSectionOf` - Link to parent facility/zone\n\
- `hc:currentlyStores` - Objects in this unit\n\nSee: `frontend/public/ontology/hc-storage.ttl`\n\
\n**CIDOC-CRM Alignment (v7.1.3)**:\n\nBase class: `crm:E27_Site` - Storage\
\ units are physical locations.\n\nHierarchy: Uses P59 has section / P59i is\
\ located on or within\nto model the containment relationship:\n```\nStorageFacility\n\
\ └── P59 has_section → EnvironmentalZone\n └── P59 has_section → StorageUnit\
\ (row/bay/shelf)\n └── P55 currently_holds → E18_Physical_Thing\n\
```\n\n**RELATIONSHIP TO OTHER CLASSES**:\n\n```\nStorage (facility)\n │\n\
\ ├── has_section → EnvironmentalZone[]\n │ └── has_section → StorageUnit[]\
\ (THIS CLASS)\n │ ├── unit_type (StorageUnitTypeEnum)\n │ \
\ ├── row_number, bay_number, shelf_number\n │ ├── stores_objects\
\ → HeritageObject[]\n │ └── part_of → EnvironmentalZone | Storage\n\
\ │\n └── stores_collections → CustodianCollection[]\n```\n\n**USE CASES**:\n\
\n1. **Archive Box Location**:\n - unit_type: ARCHIVE_BOX\n - row_number:\
\ \"A\", bay_number: \"12\", shelf_number: 3\n - stores_objects: [document_123,\
\ document_456]\n \n2. **Flat File Drawer**:\n - unit_type: FLAT_FILE_DRAWER\n\
\ - unit_identifier: \"FF-MAP-0042\"\n - stores_objects: [map_1890_netherlands,\
\ blueprint_123]\n \n3. **Mobile Shelving Bay**:\n - unit_type: COMPACT_SHELVING\n\
\ - row_number: \"12\", bay_number: \"C\"\n - part_of: [depot_a_zone_1]\n"
exact_mappings:
- hc:StorageUnit
- crm:E27_Site
- wikidata:Q1186447
close_mappings:
- aat:300038892
related_mappings:
- hc:StorageFacility
- hc:EnvironmentalZone
- schema:Place
slots:
- bay_number
- box_number
- capacity_items
- current_item_count
- drawer_number
- part_of_storage
- part_of_zone
- row_number
- shelf_number
- specificity_annotation
- stores_objects
- template_specificity
- unit_description
- unit_id
- unit_identifier
- unit_name
- unit_type
- valid_from
- valid_to
slot_usage:
unit_id:
slot_uri: dcterms:identifier
description: |
Unique identifier for this storage unit.
Format: URI following NDE Heritage Custodian ontology conventions.
range: uriorcurie
required: true
identifier: true
examples:
- value: https://nde.nl/ontology/hc/unit/na-depot-a-r12-b3-s4
description: National Archives Depot A, Row 12, Bay 3, Shelf 4
unit_identifier:
slot_uri: hc:storageUnitIdentifier
description: |
Local identifier, barcode, or inventory number for this unit.
HC Ontology: `hc:storageUnitIdentifier`
This is the identifier used internally by the institution,
distinct from the global URI identifier.
range: string
examples:
- value: BOX-2024-00145
- value: FF-MAPS-042
- value: RACK-TEXT-A12
unit_name:
slot_uri: crm:P87_is_identified_by
description: |
Human-readable name or label for this storage unit.
CIDOC-CRM: P87 is identified by links place to appellation.
range: string
examples:
- value: Archive Box 145 - WWII Correspondence
- value: Map Drawer 42 - Netherlands 19th Century
unit_type:
slot_uri: hc:storageUnitType
description: |
Type of storage unit from StorageUnitTypeEnum.
HC Ontology: `hc:storageUnitType` links to crm:E55_Type.
Common types with HC named individuals:
- ARCHIVE_BOX → hc:ArchiveBox
- FLAT_FILE_DRAWER → hc:FlatFileDrawer
- HANGING_RACK → hc:HangingRack
- COMPACT_SHELVING → hc:CompactShelving
- SPECIMEN_CABINET → hc:SpecimenCabinet
- COLD_STORAGE_VAULT → hc:ColdStorageVault
range: StorageUnitTypeEnum
required: true
unit_description:
slot_uri: dcterms:description
description: |
Free-text description of this storage unit.
Include:
- Contents or purpose
- Special handling requirements
- Access restrictions
range: string
row_number:
slot_uri: hc:rowNumber
description: |
Row or aisle identifier within the storage area.
HC Ontology: `hc:rowNumber`
range: string
examples:
- value: A
- value: '12'
- value: North-3
bay_number:
slot_uri: hc:bayNumber
description: |
Bay or section identifier within a row.
HC Ontology: `hc:bayNumber`
range: string
examples:
- value: '3'
- value: C
shelf_number:
slot_uri: hc:shelfNumber
description: |
Shelf level within a bay (often numbered from bottom).
HC Ontology: `hc:shelfNumber`
range: integer
examples:
- value: 4
description: Fourth shelf from bottom
drawer_number:
slot_uri: schema:position
description: |
Drawer number within a flat file or cabinet.
range: integer
examples:
- value: 3
box_number:
slot_uri: schema:position
description: |
Box number or position on a shelf.
range: integer
examples:
- value: 12
capacity_items:
slot_uri: schema:value
description: |
Maximum number of items this unit can hold.
range: integer
current_item_count:
slot_uri: schema:value
description: |
Current number of items stored in this unit.
range: integer
part_of_storage:
slot_uri: hc:isStorageSectionOf
description: |
The parent storage facility containing this unit.
HC Ontology: `hc:isStorageSectionOf` (inverse of `hc:hasStorageSection`)
range: Storage
part_of_zone:
slot_uri: hc:isStorageSectionOf
description: |
The environmental zone containing this unit.
HC Ontology: `hc:isStorageSectionOf` (inverse of `hc:hasStorageSection`)
range: EnvironmentalZone
stores_objects:
slot_uri: hc:currentlyStores
description: |
Heritage objects currently stored in this unit.
HC Ontology: `hc:currentlyStores` (extends crm:P55)
Links to specific heritage objects (not collections).
range: string
multivalued: true
inlined_as_list: true
comments:
- Range should be HeritageObject when that class is defined
valid_from:
slot_uri: schema:validFrom
description: |
Date when this storage unit was put into service.
range: date
valid_to:
slot_uri: schema:validThrough
description: |
Date when this storage unit was decommissioned.
NULL if still active.
range: date
specificity_annotation:
range: SpecificityAnnotation
inlined: true
template_specificity:
range: TemplateSpecificityScores
inlined: true
comments:
- StorageUnit is the lowest level of spatial organization
- Objects are stored IN units, which are IN zones, which are IN facilities
- 'Use hc: ontology properties for precise semantic mapping'
- Row/bay/shelf numbers follow institution's internal conventions
see_also:
- https://nde.nl/ontology/hc/StorageUnit
- http://vocab.getty.edu/aat/300038892
- https://www.wikidata.org/wiki/Q1186447
examples:
- value:
unit_id: https://nde.nl/ontology/hc/unit/na-depot-a-r12-b3-s4
unit_identifier: NA-2024-BOX-00145
unit_name: Archive Box 145 - WWII Ministry Records
unit_type: ARCHIVE_BOX
unit_description: |
Acid-free archive box containing Ministry of Defense
correspondence from 1940-1945. Handle with care.
row_number: '12'
bay_number: '3'
shelf_number: 4
part_of_zone: https://nde.nl/ontology/hc/zone/na-depot-a-standard
valid_from: '2020-03-15'
description: Archive box in National Archives depot
- value:
unit_id: https://nde.nl/ontology/hc/unit/rm-depot-ff-042
unit_identifier: FF-MAPS-042
unit_name: Flat File Drawer 42 - Netherlands Maps
unit_type: FLAT_FILE_DRAWER
unit_description: |
Flat file drawer containing oversized maps of the
Netherlands, 1850-1920. Climate-controlled environment.
drawer_number: 42
capacity_items: 50
current_item_count: 38
part_of_storage: https://nde.nl/ontology/hc/storage/rm-depot-prints
description: Flat file drawer for maps
slots:
unit_id:
description: Unique identifier for storage unit
range: uriorcurie
unit_identifier:
description: Local barcode/inventory number
range: string
unit_description:
description: Description of storage unit
range: string
row_number:
description: Row/aisle identifier
range: string
bay_number:
description: Bay/section identifier
range: string
shelf_number:
description: Shelf level number
range: integer
drawer_number:
description: Drawer number
range: integer
box_number:
description: Box position number
range: integer
current_item_count:
description: Current number of items stored in this unit
range: integer
part_of_storage:
description: Parent storage facility
range: Storage
part_of_zone:
description: Parent environmental zone
range: EnvironmentalZone
stores_objects:
description: Objects stored in this unit
range: string
multivalued: true