# 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: . @prefix crm: . a hc:StorageFacility ; crm:P87_is_identified_by "Nationaal Archief Depot A"@nl ; hc:hasStorageSection ; hc:hasStorageSection . a hc:EnvironmentalZone ; crm:P87_is_identified_by "Standard Archive Zone"@en ; hc:hasEnvironmentalRequirement hc:StandardArchiveEnvironment ; hc:isStorageSectionOf . ``` ### Example 2: Storage Unit Location ```turtle 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 ; hc:currentlyStores . ``` ### Example 3: Environmental Observation ```turtle @prefix sosa: . @prefix xsd: . a hc:StorageEnvironmentObservation ; sosa:hasFeatureOfInterest ; sosa:observedProperty ; 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/)