glam/schemas/20251121/linkml/modules/classes/StorageUnit.yaml
2026-01-04 13:12:32 +01:00

433 lines
13 KiB
YAML

# StorageUnit Class - Individual storage compartments within facilities
#
# Represents individual storage units (shelves, cabinets, drawers, boxes)
# where heritage objects are physically placed.
#
# Wikidata references:
# - Q1186447 (storage unit)
# - Q854619 (archive box)
#
# HC Ontology Extension (hc-storage.ttl):
# - Primary class: hc:StorageUnit (subclass of crm:E27_Site)
# - Storage unit types defined as named individuals:
# - hc:ArchiveBox
# - hc:FlatFileDrawer
# - hc:HangingRack
# - hc:CompactShelving
# - hc:SpecimenCabinet
# - hc:ColdStorageVault
#
# CIDOC-CRM Alignment (v7.1.3):
# - Base class: crm:E27_Site (piece of land or sea floor)
# - Hierarchy predicate: P59 has section (parent/child relationships)
# - Location predicates: P53, P54, P55 (object locations)
#
# Generation date: 2026-01-02
#
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
classes:
StorageUnit:
class_uri: hc:StorageUnit
description: |
An individual storage compartment, shelf, cabinet, drawer, or other
discrete unit where heritage objects are physically placed.
**DEFINITION**:
StorageUnit represents the lowest level of spatial organization for
object storage within a heritage institution. This is where physical
objects are actually located. Examples include:
- Archive boxes on shelves
- Flat file drawers for maps/prints
- Museum storage cabinets
- Hanging racks for textiles
- Specimen cabinets for natural history
**Wikidata Alignment**:
- Q1186447 (storage unit)
- Q854619 (archive box)
**HC Ontology Extension (hc-storage.ttl)**:
Primary class: `hc:StorageUnit` (subclass of `crm:E27_Site`)
The HC ontology provides:
- Named individuals for common storage unit types:
- `hc:ArchiveBox` - Acid-free boxes for archival materials
- `hc:FlatFileDrawer` - Drawers for oversized flat materials
- `hc:HangingRack` - Racks for textiles/paintings
- `hc:CompactShelving` - Mobile shelving systems
- `hc:SpecimenCabinet` - Cabinets for specimens/artifacts
- `hc:ColdStorageVault` - Refrigerated storage
Key HC properties for storage units:
- `hc:storageUnitIdentifier` - Local ID/barcode
- `hc:storageUnitType` - Type classification
- `hc:rowNumber` - Row/aisle identifier
- `hc:bayNumber` - Bay/section within row
- `hc:shelfNumber` - Shelf level within bay
- `hc:isStorageSectionOf` - Link to parent facility/zone
- `hc:currentlyStores` - Objects in this unit
See: `frontend/public/ontology/hc-storage.ttl`
**CIDOC-CRM Alignment (v7.1.3)**:
Base class: `crm:E27_Site` - Storage units are physical locations.
Hierarchy: Uses P59 has section / P59i is located on or within
to model the containment relationship:
```
StorageFacility
└── P59 has_section → EnvironmentalZone
└── P59 has_section → StorageUnit (row/bay/shelf)
└── P55 currently_holds → E18_Physical_Thing
```
**RELATIONSHIP TO OTHER CLASSES**:
```
Storage (facility)
├── has_section → EnvironmentalZone[]
│ └── has_section → StorageUnit[] (THIS CLASS)
│ ├── unit_type (StorageUnitTypeEnum)
│ ├── row_number, bay_number, shelf_number
│ ├── stores_objects → HeritageObject[]
│ └── part_of → EnvironmentalZone | Storage
└── stores_collections → CustodianCollection[]
```
**USE CASES**:
1. **Archive Box Location**:
- unit_type: ARCHIVE_BOX
- row_number: "A", bay_number: "12", shelf_number: 3
- stores_objects: [document_123, document_456]
2. **Flat File Drawer**:
- unit_type: FLAT_FILE_DRAWER
- unit_identifier: "FF-MAP-0042"
- stores_objects: [map_1890_netherlands, blueprint_123]
3. **Mobile Shelving Bay**:
- unit_type: COMPACT_SHELVING
- row_number: "12", bay_number: "C"
- part_of: [depot_a_zone_1]
exact_mappings:
- hc:StorageUnit
- crm:E27_Site
- wikidata:Q1186447
close_mappings:
- aat:300038892 # storage containers
related_mappings:
- hc:StorageFacility
- hc:EnvironmentalZone
- schema:Place
slots:
- unit_id
- unit_identifier
- unit_name
- unit_type
- unit_description
- row_number
- bay_number
- shelf_number
- drawer_number
- box_number
- capacity_items
- current_item_count
- part_of_storage
- part_of_zone
- stores_objects
- 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
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"
# Slot definitions
slots:
unit_id:
description: Unique identifier for storage unit
range: uriorcurie
unit_identifier:
description: Local barcode/inventory number
range: string
# NOTE: unit_name imported from ../slots/unit_name.yaml
# NOTE: unit_type imported from ../slots/unit_type.yaml
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
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