glam/schemas/20251121/linkml/modules/classes/StorageUnit.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

168 lines
8 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
- ../enums/CapacityTypeEnum
- ../enums/StorageUnitTypeEnum
- ../slots/current_item_count
- ../slots/has_or_had_capacity
- ../slots/has_or_had_description
- ../slots/has_or_had_drawer
- ../slots/has_or_had_identifier
- ../slots/has_or_had_label
- ../slots/has_or_had_score
- ../slots/has_or_had_type
- ../slots/part_of_storage
- ../slots/part_of_zone
- ../slots/row_number
- ../slots/shelf_number
- ../slots/stores_or_stored
- ../slots/temporal_extent
classes:
StorageUnit:
class_uri: hc:StorageUnit
description: "An individual storage compartment, shelf, cabinet, drawer, or other\ndiscrete 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 \u2514\u2500\u2500 P59 has_section \u2192 EnvironmentalZone\n \u2514\u2500\u2500 P59 has_section \u2192 StorageUnit (row/bay/shelf)\n \u2514\u2500\u2500 P55 currently_holds \u2192 E18_Physical_Thing\n\
```\n\n**RELATIONSHIP TO OTHER CLASSES**:\n\n```\nStorage (facility)\n \u2502\n \u251C\u2500\u2500 has_section \u2192 EnvironmentalZone[]\n \u2502 \u2514\u2500\u2500 has_section \u2192 StorageUnit[] (THIS CLASS)\n \u2502 \u251C\u2500\u2500 unit_type (StorageUnitTypeEnum)\n \u2502 \u251C\u2500\u2500 row_number, bay_number, shelf_number\n \u2502 \u251C\u2500\u2500 stores_objects \u2192 HeritageObject[]\n \u2502 \u2514\u2500\u2500 part_of \u2192 EnvironmentalZone | Storage\n \u2502\n \u2514\u2500\u2500 stores_collections \u2192 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:
- has_or_had_identifier
- has_or_had_capacity
- current_item_count
- has_or_had_drawer
- part_of_storage
- part_of_zone
- row_number
- shelf_number
- stores_or_stored
- has_or_had_score
- has_or_had_description
- has_or_had_label
- has_or_had_type
- temporal_extent
slot_usage:
has_or_had_label:
range: string
examples:
- value: Archive Box 145 - WWII Correspondence
- value: Map Drawer 42 - Netherlands 19th Century
has_or_had_type:
range: StorageUnitTypeEnum
required: true
has_or_had_description:
multivalued: true
row_number:
range: string
examples:
- value: A
- value: '12'
- value: North-3
has_or_had_identifier:
range: uriorcurie
multivalued: true
required: true
identifier: true
examples:
- value: https://nde.nl/ontology/hc/unit/na-depot-a-r12-b3-s4
- value: '{"type": "UnitIdentifier", "value": "BOX-2024-00145"}'
- value: '{"type": "BayNumber", "value": "3"}'
shelf_number:
range: integer
examples:
- value: 4
has_or_had_drawer:
range: Drawer
multivalued: true
inlined: true
examples:
- value:
has_or_had_identifier:
has_or_had_capacity:
range: Capacity
multivalued: true
inlined_as_list: true
examples:
- value:
- capacity_value: 50
capacity_type: ITEM_COUNT
has_or_had_measurement_unit:
has_or_had_type: ITEM
has_or_had_symbol: items
current_item_count:
range: integer
part_of_storage:
range: Storage
part_of_zone:
range: EnvironmentalZone
stores_or_stored:
range: HeritageObject
multivalued: true
inlined_as_list: true
temporal_extent:
range: TimeSpan
inlined: true
required: false
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
has_or_had_description:
- description_text: Acid-free archive box containing Ministry of Defense correspondence from 1940-1945. Handle with care.
description_type: unit
language: en
row_number: '12'
has_or_had_identifier:
- value: '3'
_type: BayNumber
shelf_number: 4
part_of_zone: https://nde.nl/ontology/hc/zone/na-depot-a-standard
- value:
unit_id: https://nde.nl/ontology/hc/unit/rm-depot-ff-042
unit_identifier: FF-MAPS-042
has_or_had_description:
- description_text: Flat file drawer containing oversized maps of the Netherlands, 1850-1920. Climate-controlled environment.
description_type: unit
language: en
has_or_had_drawer:
- has_or_had_identifier:
has_or_had_capacity:
- capacity_value: 50
capacity_type: ITEM_COUNT
has_or_had_measurement_unit:
has_or_had_type: ITEM
has_or_had_symbol: maps
current_item_count: 38
part_of_storage: https://nde.nl/ontology/hc/storage/rm-depot-prints
annotations:
specificity_score: 0.1
specificity_rationale: Generic utility class/slot created during migration
custodian_types: "['*']"