glam/docs/ontology/HC_STORAGE_ONTOLOGY.md
2026-01-04 13:12:32 +01:00

415 lines
15 KiB
Markdown

# Heritage Custodian Storage Ontology (hc-storage)
**Version:** 1.0.0
**Namespace:** `https://nde.nl/ontology/hc/`
**Prefix:** `hc:`
**Location:** `frontend/public/ontology/hc-storage.ttl`
**Created:** 2026-01-02
**License:** CC BY 4.0
## Overview
The Heritage Custodian Storage Ontology (`hc-storage`) is an extension ontology for modeling heritage storage facilities, environmental zones, storage units, and preservation activities. It extends CIDOC-CRM with specialized classes and properties for heritage collection storage management.
### Purpose
This ontology addresses the need to:
1. **Model storage infrastructure** - Facilities, zones, and units where heritage collections are preserved
2. **Track environmental conditions** - Temperature, humidity, light levels, and other factors affecting preservation
3. **Document storage activities** - Assignments, relocations, and custody transfers
4. **Integrate sensor data** - SOSA/SSN compatible environmental monitoring
5. **Support preservation planning** - Environmental requirements and compliance tracking
### Base Ontology Alignments
| Ontology | Usage |
|----------|-------|
| **CIDOC-CRM v7.1.3** | Core classes and predicates for cultural heritage |
| **SOSA/SSN** | Environmental sensor observations |
| **PROV-O** | Provenance and activity tracking |
| **RiC-O** | Records in Contexts for archival storage |
| **PREMIS** | Preservation metadata |
---
## Class Hierarchy
```
owl:Thing
├── crm:E27_Site (Physical Place)
│ ├── hc:StorageFacility
│ ├── hc:EnvironmentalZone
│ └── hc:StorageUnit
├── crm:E7_Activity (Activity)
│ └── hc:StorageAssignment
├── crm:E9_Move (Movement)
│ └── hc:StorageRelocation
├── crm:E10_Transfer_of_Custody
│ └── hc:StorageCustodyTransfer
├── crm:E14_Condition_Assessment
│ └── hc:StorageConditionAssessment
├── crm:E29_Design_or_Procedure
│ └── hc:EnvironmentalRequirement
├── crm:E54_Dimension
│ └── hc:StorageCapacitySpecification
├── sosa:Observation
│ └── hc:StorageEnvironmentObservation
└── sosa:Platform
└── hc:EnvironmentalSensorPlatform
```
---
## Classes
### Storage Location Classes
#### hc:StorageFacility
A dedicated facility for storing heritage objects (museum depot, archive repository, library stack).
| Property | Type | Description |
|----------|------|-------------|
| Parent Class | `crm:E27_Site` | Physical location |
| Related Concepts | `schema:SelfStorage`, `wd:Q35127` (warehouse), `aat:300005534` (storage buildings) |
**Key Relationships:**
- Contains `hc:EnvironmentalZone` via `hc:hasStorageSection`
- Contains `hc:StorageUnit` via `hc:hasStorageSection`
- Stores objects via `hc:currentlyStores`
---
#### hc:EnvironmentalZone
A climate-controlled area within a storage facility with specific environmental parameters.
| Property | Type | Description |
|----------|------|-------------|
| Parent Class | `crm:E27_Site` | Physical location |
| Related Concepts | `wd:Q1759899` (climate control), `aat:300265612` (climate control technique) |
**Environmental Parameters:**
- Target temperature (°C)
- Temperature tolerance (±°C)
- Target relative humidity (%)
- Humidity tolerance (±%)
- Maximum light level (lux)
- Maximum annual light exposure (lux-hours)
---
#### hc:StorageUnit
An individual storage compartment, shelf, cabinet, drawer, or other discrete unit.
| Property | Type | Description |
|----------|------|-------------|
| Parent Class | `crm:E27_Site` | Physical location |
| Related Concepts | `wd:Q1186447` (storage unit), `aat:300038892` (storage containers) |
**Location Attributes:**
- Row number
- Bay number
- Shelf number
- Local identifier/barcode
---
### Activity Classes
#### hc:StorageAssignment
The activity of assigning a heritage object to a specific storage location.
| Property | Type | Description |
|----------|------|-------------|
| Parent Class | `crm:E7_Activity` | General activity |
| Related Concepts | `aat:300054711` (storage activity) |
---
#### hc:StorageRelocation
The movement of a heritage object from one storage location to another.
| Property | Type | Description |
|----------|------|-------------|
| Parent Class | `crm:E9_Move` | Movement event |
| Related Concepts | `aat:300054644` (relocation) |
**Uses CIDOC-CRM predicates:**
- `crm:P26_moved_to` (destination)
- `crm:P27_moved_from` (origin)
---
#### hc:StorageCustodyTransfer
Transfer of physical custody responsibility for stored heritage objects.
| Property | Type | Description |
|----------|------|-------------|
| Parent Class | `crm:E10_Transfer_of_Custody` | Custody transfer |
| Related Concepts | `rico:InstantiationToInstantiationRelation` |
**Uses CIDOC-CRM predicates:**
- `crm:P28_custody_surrendered_by`
- `crm:P29_custody_received_by`
- `crm:P30_transferred_custody_of`
---
#### hc:StorageConditionAssessment
An assessment of environmental conditions and suitability of a storage location.
| Property | Type | Description |
|----------|------|-------------|
| Parent Class | `crm:E14_Condition_Assessment` | Condition assessment |
| Related Concepts | `aat:300054642` (condition assessment) |
---
### Environmental Monitoring Classes (SOSA Integration)
#### hc:StorageEnvironmentObservation
An observation of environmental conditions in a storage location.
| Property | Type | Description |
|----------|------|-------------|
| Parent Class | `sosa:Observation` | Sensor observation |
**SOSA Semantics:**
- Storage location is `sosa:FeatureOfInterest`
- Environmental property is `sosa:ObservableProperty`
---
#### hc:EnvironmentalSensorPlatform
A platform hosting environmental monitoring sensors in a storage facility.
| Property | Type | Description |
|----------|------|-------------|
| Parent Class | `sosa:Platform` | Sensor platform |
**Examples:** Data loggers (Hanwell, Meaco), building management systems, IoT sensor networks
---
### Specification Classes
#### hc:EnvironmentalRequirement
A specification of environmental conditions required for safe storage.
| Property | Type | Description |
|----------|------|-------------|
| Parent Class | `crm:E29_Design_or_Procedure` | Design/procedure |
| Related Concepts | `aat:300265612` (climate control technique) |
---
#### hc:StorageCapacitySpecification
A measurement of storage capacity (linear meters, cubic meters, item count).
| Property | Type | Description |
|----------|------|-------------|
| Parent Class | `crm:E54_Dimension` | Dimension |
---
## Properties
### Location Relationships
| Property | Domain | Range | Description |
|----------|--------|-------|-------------|
| `hc:hasStorageSection` | `StorageFacility` | `EnvironmentalZone` \| `StorageUnit` | Links facility to sections (subprop of `crm:P59_has_section`) |
| `hc:isStorageSectionOf` | `EnvironmentalZone` \| `StorageUnit` | `StorageFacility` | Inverse of hasStorageSection |
| `hc:currentlyStores` | Storage locations | `crm:E18_Physical_Thing` | Objects currently stored (subprop of `crm:P55`) |
| `hc:isStoredIn` | `crm:E18_Physical_Thing` | Storage locations | Object's current location |
| `hc:hasPermanentStorageLocation` | `crm:E18_Physical_Thing` | Storage locations | Designated permanent location (subprop of `crm:P54`) |
### Environmental Properties
| Property | Domain | Range | Description |
|----------|--------|-------|-------------|
| `hc:hasEnvironmentalRequirement` | Zone/Object/Collection | `EnvironmentalRequirement` | Required conditions |
| `hc:meetsRequirement` | Storage locations | `EnvironmentalRequirement` | Compliance indicator |
| `hc:hasEnvironmentalObservation` | Zone/Assessment | `StorageEnvironmentObservation` | Sensor observations |
| `hc:monitoredByPlatform` | `EnvironmentalZone` | `EnvironmentalSensorPlatform` | Monitoring system |
### Environmental Parameter Properties (Datatype)
| Property | Domain | Range | Description |
|----------|--------|-------|-------------|
| `hc:targetTemperature` | `EnvironmentalRequirement` | `xsd:decimal` | Target temp (°C) |
| `hc:temperatureTolerance` | `EnvironmentalRequirement` | `xsd:decimal` | Tolerance (±°C) |
| `hc:targetRelativeHumidity` | `EnvironmentalRequirement` | `xsd:decimal` | Target RH (%) |
| `hc:relativeHumidityTolerance` | `EnvironmentalRequirement` | `xsd:decimal` | Tolerance (±%) |
| `hc:maxLightLevel` | `EnvironmentalRequirement` | `xsd:decimal` | Max light (lux) |
| `hc:maxAnnualLightExposure` | `EnvironmentalRequirement` | `xsd:decimal` | Max annual (lux-hours) |
### Storage Unit Attributes
| Property | Domain | Range | Description |
|----------|--------|-------|-------------|
| `hc:storageUnitIdentifier` | `StorageUnit` | `xsd:string` | Local ID/barcode |
| `hc:storageUnitType` | `StorageUnit` | `crm:E55_Type` | Unit type |
| `hc:rowNumber` | `StorageUnit` | `xsd:string` | Row/aisle ID |
| `hc:bayNumber` | `StorageUnit` | `xsd:string` | Bay/section ID |
| `hc:shelfNumber` | `StorageUnit` | `xsd:integer` | Shelf level |
### Capacity Properties
| Property | Domain | Range | Description |
|----------|--------|-------|-------------|
| `hc:hasStorageCapacity` | Storage locations | `StorageCapacitySpecification` | Capacity spec |
| `hc:totalCapacityValue` | `StorageCapacitySpecification` | `xsd:decimal` | Total capacity |
| `hc:availableCapacityValue` | `StorageCapacitySpecification` | `xsd:decimal` | Available capacity |
| `hc:capacityUnit` | `StorageCapacitySpecification` | `crm:E58_Measurement_Unit` | Unit of measure |
### Assignment Properties
| Property | Domain | Range | Description |
|----------|--------|-------|-------------|
| `hc:assignedToLocation` | `StorageAssignment` | Storage locations | Target location |
| `hc:assignedObject` | `StorageAssignment` | `crm:E18_Physical_Thing` | Object assigned |
| `hc:assignmentReason` | `StorageAssignment` | `xsd:string` | Reason for assignment |
| `hc:assignedBy` | `StorageAssignment` | `crm:E39_Actor` | Responsible agent |
| `hc:storageDocumentation` | Assignment/Relocation | `crm:E31_Document` | Related documentation |
---
## Named Individuals
### Storage Unit Types
| Individual | Label | Description | AAT/Wikidata |
|------------|-------|-------------|--------------|
| `hc:ArchiveBox` | Archive Box | Acid-free archival box | aat:300045703 |
| `hc:FlatFileDrawer` | Flat File Drawer | Drawer for oversized flat materials | aat:300038899 |
| `hc:HangingRack` | Hanging Rack | Rack for textiles/paintings | - |
| `hc:CompactShelving` | Compact Shelving | Mobile shelving (Compactus) | aat:300221807 |
| `hc:SpecimenCabinet` | Specimen Cabinet | Cabinet for specimens/artifacts | - |
| `hc:ColdStorageVault` | Cold Storage Vault | Refrigerated storage | wd:Q1199549 |
### Environmental Presets
| Individual | Label | Temp | RH | Light | Standard |
|------------|-------|------|-----|-------|----------|
| `hc:StandardArchiveEnvironment` | Standard Archive | 18°C ±2 | 50% ±5 | 50 lux | ISO 11799 |
| `hc:PhotographicMaterialsEnvironment` | Photographic | 15°C ±2 | 35% ±5 | 50 lux | ISO 18934 |
| `hc:ColdStorageEnvironment` | Cold Storage | -5°C ±3 | 30% ±5 | 0 lux | ISO 18911 |
| `hc:TextileStorageEnvironment` | Textile | 18°C ±2 | 50% ±5 | 50 lux, 15k lux-hr/yr | - |
---
## LinkML Integration
The ontology integrates with LinkML schema classes:
| LinkML Class | HC Ontology Class | File |
|--------------|-------------------|------|
| `Storage` | `hc:StorageFacility` | `Storage.yaml` |
| `StorageUnit` | `hc:StorageUnit` | `StorageUnit.yaml` |
| `EnvironmentalZone` | `hc:EnvironmentalZone` | `EnvironmentalZone.yaml` |
| `StorageCondition` | `hc:StorageConditionAssessment` | `StorageCondition.yaml` |
| `StorageConditionPolicy` | `hc:EnvironmentalRequirement` | `StorageConditionPolicy.yaml` |
### Enumeration Mappings
| LinkML Enum | HC Ontology Mapping |
|-------------|---------------------|
| `StorageUnitTypeEnum.ARCHIVE_BOX` | `hc:ArchiveBox` |
| `StorageUnitTypeEnum.FLAT_FILE_DRAWER` | `hc:FlatFileDrawer` |
| `StorageUnitTypeEnum.COMPACT_SHELVING` | `hc:CompactShelving` |
| `EnvironmentalZoneTypeEnum.ARCHIVE_STANDARD` | `hc:StandardArchiveEnvironment` |
| `EnvironmentalZoneTypeEnum.COLD_STORAGE` | `hc:ColdStorageEnvironment` |
| `EnvironmentalZoneTypeEnum.PHOTOGRAPHIC` | `hc:PhotographicMaterialsEnvironment` |
---
## Usage Examples
### Example 1: Storage Facility with Zones
```turtle
@prefix hc: <https://nde.nl/ontology/hc/> .
@prefix crm: <http://www.cidoc-crm.org/cidoc-crm/> .
<https://nde.nl/storage/na-depot-a> a hc:StorageFacility ;
crm:P87_is_identified_by "Nationaal Archief Depot A"@nl ;
hc:hasStorageSection <https://nde.nl/zone/na-depot-a-standard> ;
hc:hasStorageSection <https://nde.nl/zone/na-depot-a-cold> .
<https://nde.nl/zone/na-depot-a-standard> a hc:EnvironmentalZone ;
crm:P87_is_identified_by "Standard Archive Zone"@en ;
hc:hasEnvironmentalRequirement hc:StandardArchiveEnvironment ;
hc:isStorageSectionOf <https://nde.nl/storage/na-depot-a> .
```
### Example 2: Storage Unit Location
```turtle
<https://nde.nl/unit/na-r12-b3-s4> a hc:StorageUnit ;
crm:P87_is_identified_by "Row 12, Bay 3, Shelf 4"@en ;
hc:storageUnitIdentifier "NA-2024-BOX-00145" ;
hc:storageUnitType hc:ArchiveBox ;
hc:rowNumber "12" ;
hc:bayNumber "3" ;
hc:shelfNumber 4 ;
hc:isStorageSectionOf <https://nde.nl/zone/na-depot-a-standard> ;
hc:currentlyStores <https://nde.nl/object/doc-1234> .
```
### Example 3: Environmental Observation
```turtle
@prefix sosa: <http://www.w3.org/ns/sosa/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
<https://nde.nl/obs/temp-2024-01-15> a hc:StorageEnvironmentObservation ;
sosa:hasFeatureOfInterest <https://nde.nl/zone/na-depot-a-standard> ;
sosa:observedProperty <http://example.org/temperature> ;
sosa:hasSimpleResult "18.2"^^xsd:decimal ;
sosa:resultTime "2024-01-15T10:00:00Z"^^xsd:dateTime .
```
---
## Environmental Standards Reference
| Material Type | Temperature | RH | Light | Standard |
|---------------|------------|-----|-------|----------|
| Paper/archives | 16-20°C | 45-55% | <50 lux | ISO 11799 |
| Photographs | 10-18°C | 30-40% | <50 lux | ISO 18934 |
| Film (B&W) | -5°C | 30% | dark | ISO 18911 |
| Film (color) | -20°C | 30% | dark | ISO 18911 |
| Textiles | 15-20°C | 45-55% | <50 lux | - |
| Metals | 15-25°C | <35% | varies | - |
| Digital media | 18-22°C | 35-45% | - | - |
---
## See Also
- [CIDOC-CRM v7.1.3](https://www.cidoc-crm.org/)
- [SOSA/SSN Ontology](http://www.w3.org/ns/sosa/)
- [RiC-O Ontology](https://www.ica.org/standards/RiC/ontology)
- [PREMIS v3](http://www.loc.gov/premis/rdf/v3/)
- [Getty AAT](http://vocab.getty.edu/aat/)