628 lines
20 KiB
YAML
628 lines
20 KiB
YAML
# StorageConditionPolicy Class - Designed/intended storage conditions
|
|
#
|
|
# Represents POLICY conditions (what SHOULD BE), which may differ
|
|
# from StorageCondition observations (what IS).
|
|
#
|
|
# Based on ISO/TR 19815:2018, EN 16893:2018, and EN 15757:2010
|
|
# standards for heritage storage facilities.
|
|
#
|
|
# Generation date: 2025-11-29
|
|
#
|
|
id: https://nde.nl/ontology/hc/class/StorageConditionPolicy
|
|
name: storage_condition_policy_class
|
|
title: Storage Condition Policy Class
|
|
|
|
prefixes:
|
|
linkml: https://w3id.org/linkml/
|
|
hc: https://nde.nl/ontology/hc/
|
|
crm: http://www.cidoc-crm.org/cidoc-crm/
|
|
premis: http://www.loc.gov/premis/rdf/v3/
|
|
prov: http://www.w3.org/ns/prov#
|
|
schema: http://schema.org/
|
|
dcterms: http://purl.org/dc/terms/
|
|
odrl: http://www.w3.org/ns/odrl/2/
|
|
|
|
default_prefix: hc
|
|
|
|
imports:
|
|
- linkml:types
|
|
- ./TimeSpan
|
|
- ../enums/StorageStandardEnum
|
|
- ../enums/StorageConditionStatusEnum
|
|
- ../slots/access_restrictions
|
|
- ../slots/policy_id
|
|
- ../slots/policy_name
|
|
|
|
classes:
|
|
StorageConditionPolicy:
|
|
class_uri: odrl:Policy
|
|
description: |
|
|
Designed environmental and safety conditions for a storage facility.
|
|
|
|
**DEFINITION**:
|
|
|
|
StorageConditionPolicy specifies what conditions SHOULD BE maintained
|
|
in a storage facility according to institutional policy, standards
|
|
requirements, and preservation best practices.
|
|
|
|
**CRITICAL DISTINCTION**:
|
|
|
|
- **StorageConditionPolicy** (THIS CLASS): What SHOULD BE - designed conditions
|
|
- **StorageCondition**: What IS - actual observed state
|
|
|
|
The gap between policy and reality is often significant and represents
|
|
a key transparency metric for heritage preservation assessment.
|
|
|
|
**STANDARDS ALIGNMENT**:
|
|
|
|
This class captures requirements from:
|
|
- **ISO/TR 19815:2018**: Environmental management framework
|
|
- **EN 16893:2018**: Building specifications for storage
|
|
- **EN 15757:2010**: Temperature and relative humidity control
|
|
- **ISO 9706:2025**: Paper permanence requirements
|
|
- **PAS 198**: Archive storage requirements
|
|
- **ASHRAE**: HVAC specifications for cultural heritage
|
|
|
|
**POLICY vs. OBSERVATION PATTERN**:
|
|
|
|
```
|
|
Storage Facility
|
|
│
|
|
├── condition_policy → StorageConditionPolicy (THIS CLASS)
|
|
│ ├── temperature_target: 18°C
|
|
│ ├── temperature_tolerance: ±2°C
|
|
│ ├── humidity_target: 50%
|
|
│ ├── standards_compliance: [EN_15757_2010, ISO_TR_19815_2018]
|
|
│ └── policy_effective_from: 2020-01-01
|
|
│
|
|
└── storage_conditions[] → StorageCondition (observations)
|
|
├── Observation 1: Temperature 19°C ✓ (within policy)
|
|
├── Observation 2: Temperature 25°C ✗ (exceeds policy)
|
|
└── Observation 3: Humidity 65% ✗ (exceeds policy)
|
|
```
|
|
|
|
**ODRL ALIGNMENT**:
|
|
|
|
`odrl:Policy` - "A Policy is a named entity for a rule-based system
|
|
for specifying permissions, prohibitions, and obligations."
|
|
|
|
While ODRL is primarily for digital rights, the policy pattern applies:
|
|
- Policy defines RULES for acceptable conditions
|
|
- Observations are checked against policy RULES
|
|
- Violations trigger OBLIGATIONS (remediation)
|
|
|
|
**USE CASES**:
|
|
|
|
1. **Archive Climate Policy**:
|
|
- Based on ISO/TR 19815:2018
|
|
- Temperature: 18°C ±2°C
|
|
- Humidity: 50% RH ±5%
|
|
- Light: <50 lux for sensitive materials
|
|
|
|
2. **Cold Storage Policy**:
|
|
- Based on Image Permanence Institute guidelines
|
|
- Temperature: -18°C ±2°C
|
|
- Humidity: 30% RH ±5%
|
|
- For film negatives and photographs
|
|
|
|
3. **Art Storage Policy**:
|
|
- Based on museum industry standards
|
|
- Temperature: 21°C ±1°C
|
|
- Humidity: 50% RH ±3%
|
|
- Strict light and UV control
|
|
|
|
exact_mappings:
|
|
- odrl:Policy
|
|
|
|
close_mappings:
|
|
- premis:PreservationPolicy
|
|
- schema:Policy
|
|
|
|
slots:
|
|
- policy_id
|
|
- policy_name
|
|
- policy_description
|
|
- temperature_target
|
|
- temperature_min
|
|
- temperature_max
|
|
- temperature_tolerance
|
|
- humidity_target
|
|
- humidity_min
|
|
- humidity_max
|
|
- humidity_tolerance
|
|
- light_max_lux
|
|
- uv_filtered_required
|
|
- air_changes_per_hour
|
|
- particulate_max
|
|
- pest_management_required
|
|
- fire_suppression_type
|
|
- flood_protection_required
|
|
- storage_security_level
|
|
- access_restrictions
|
|
- standards_compliance
|
|
- policy_effective_from
|
|
- policy_effective_to
|
|
- policy_approved_by
|
|
- policy_review_date
|
|
- notes
|
|
|
|
slot_usage:
|
|
policy_id:
|
|
slot_uri: dcterms:identifier
|
|
description: |
|
|
Unique identifier for this condition policy.
|
|
Format: URI following NDE Heritage Custodian ontology conventions.
|
|
range: uriorcurie
|
|
required: true
|
|
identifier: true
|
|
examples:
|
|
- value: "https://nde.nl/ontology/hc/policy/rijksmuseum-depot-climate-2020"
|
|
|
|
policy_name:
|
|
slot_uri: dcterms:title
|
|
description: |
|
|
Human-readable name for this policy.
|
|
range: string
|
|
required: true
|
|
examples:
|
|
- value: "Rijksmuseum Depot Climate Control Policy"
|
|
- value: "National Archives Cold Storage Requirements"
|
|
|
|
policy_description:
|
|
slot_uri: dcterms:description
|
|
description: |
|
|
Full description of the policy including rationale, scope,
|
|
and any special considerations.
|
|
range: string
|
|
examples:
|
|
- value: >-
|
|
Climate control policy for main art storage depot at Amersfoort.
|
|
Designed to maintain stable conditions for mixed media collections
|
|
including oil paintings, works on paper, and decorative arts.
|
|
Based on EN 15757:2010 and museum industry best practices.
|
|
|
|
# Temperature parameters
|
|
temperature_target:
|
|
slot_uri: schema:value
|
|
description: |
|
|
Target temperature in degrees Celsius.
|
|
|
|
This is the set point for HVAC systems, with allowable
|
|
deviation specified in temperature_tolerance.
|
|
range: float
|
|
unit:
|
|
ucum_code: "Cel"
|
|
examples:
|
|
- value: 18.0
|
|
description: "18°C for archive storage"
|
|
- value: -18.0
|
|
description: "-18°C for cold storage"
|
|
|
|
temperature_min:
|
|
slot_uri: schema:minValue
|
|
description: |
|
|
Minimum acceptable temperature in degrees Celsius.
|
|
|
|
Below this value, alarm should trigger.
|
|
range: float
|
|
unit:
|
|
ucum_code: "Cel"
|
|
examples:
|
|
- value: 16.0
|
|
|
|
temperature_max:
|
|
slot_uri: schema:maxValue
|
|
description: |
|
|
Maximum acceptable temperature in degrees Celsius.
|
|
|
|
Above this value, alarm should trigger.
|
|
range: float
|
|
unit:
|
|
ucum_code: "Cel"
|
|
examples:
|
|
- value: 22.0
|
|
|
|
temperature_tolerance:
|
|
slot_uri: schema:value
|
|
description: |
|
|
Acceptable deviation from target temperature (±).
|
|
|
|
Used when min/max not explicitly specified.
|
|
Example: ±2°C means 18°C target allows 16-20°C.
|
|
range: float
|
|
unit:
|
|
ucum_code: "Cel"
|
|
examples:
|
|
- value: 2.0
|
|
description: "±2°C tolerance"
|
|
|
|
# Humidity parameters
|
|
humidity_target:
|
|
slot_uri: schema:value
|
|
description: |
|
|
Target relative humidity as percentage.
|
|
range: float
|
|
minimum_value: 0.0
|
|
maximum_value: 100.0
|
|
examples:
|
|
- value: 50.0
|
|
description: "50% RH for general storage"
|
|
- value: 30.0
|
|
description: "30% RH for cold storage"
|
|
|
|
humidity_min:
|
|
slot_uri: schema:minValue
|
|
description: |
|
|
Minimum acceptable relative humidity percentage.
|
|
range: float
|
|
minimum_value: 0.0
|
|
maximum_value: 100.0
|
|
examples:
|
|
- value: 45.0
|
|
|
|
humidity_max:
|
|
slot_uri: schema:maxValue
|
|
description: |
|
|
Maximum acceptable relative humidity percentage.
|
|
range: float
|
|
minimum_value: 0.0
|
|
maximum_value: 100.0
|
|
examples:
|
|
- value: 55.0
|
|
|
|
humidity_tolerance:
|
|
slot_uri: schema:value
|
|
description: |
|
|
Acceptable deviation from target humidity (±).
|
|
range: float
|
|
examples:
|
|
- value: 5.0
|
|
description: "±5% RH tolerance"
|
|
|
|
# Light parameters
|
|
light_max_lux:
|
|
slot_uri: schema:maxValue
|
|
description: |
|
|
Maximum light level in lux for storage areas.
|
|
|
|
EN 15757:2010 recommends:
|
|
- <50 lux for highly sensitive materials (textiles, works on paper)
|
|
- <150 lux for moderately sensitive (oil paintings)
|
|
- <300 lux for low sensitivity (stone, metal)
|
|
range: float
|
|
examples:
|
|
- value: 50.0
|
|
description: "50 lux max for sensitive materials"
|
|
|
|
uv_filtered_required:
|
|
slot_uri: schema:requiredProperty
|
|
description: |
|
|
Whether UV-filtered lighting is required.
|
|
|
|
UV radiation causes fading and material degradation.
|
|
All heritage storage should use UV-filtered sources.
|
|
range: boolean
|
|
examples:
|
|
- value: true
|
|
|
|
# Air quality parameters
|
|
air_changes_per_hour:
|
|
slot_uri: schema:value
|
|
description: |
|
|
Required air changes per hour for ventilation.
|
|
|
|
ISO/TR 19815:2018 specifies minimum ventilation rates.
|
|
range: float
|
|
examples:
|
|
- value: 1.5
|
|
description: "1.5 air changes per hour minimum"
|
|
|
|
particulate_max:
|
|
slot_uri: schema:maxValue
|
|
description: |
|
|
Maximum particulate count (particles per cubic meter).
|
|
|
|
HEPA filtration typically required for heritage storage.
|
|
range: float
|
|
examples:
|
|
- value: 100000.0
|
|
description: "ISO Class 8 clean room equivalent"
|
|
|
|
# Pest management
|
|
pest_management_required:
|
|
slot_uri: schema:requiredProperty
|
|
description: |
|
|
Whether Integrated Pest Management (IPM) program is required.
|
|
|
|
All heritage storage should have IPM including:
|
|
- Monitoring traps
|
|
- Quarantine procedures
|
|
- Treatment protocols
|
|
- Regular inspections
|
|
range: boolean
|
|
examples:
|
|
- value: true
|
|
|
|
# Fire safety
|
|
fire_suppression_type:
|
|
slot_uri: dcterms:type
|
|
description: |
|
|
Type of fire suppression system required.
|
|
|
|
Options:
|
|
- INERT_GAS: Argon, Nitrogen, or Inergen (preferred for archives)
|
|
- WATER_MIST: Fine mist systems (less water damage)
|
|
- SPRINKLER: Traditional wet sprinkler (risk of water damage)
|
|
- DRY_CHEMICAL: Powder systems (cleanup issues)
|
|
- NONE: No automatic suppression
|
|
range: string
|
|
examples:
|
|
- value: "INERT_GAS"
|
|
description: "Inert gas suppression for archive materials"
|
|
|
|
# Flood protection
|
|
flood_protection_required:
|
|
slot_uri: schema:requiredProperty
|
|
description: |
|
|
Whether flood protection measures are required.
|
|
|
|
May include:
|
|
- Raised storage (minimum 10cm from floor)
|
|
- Leak detection sensors
|
|
- Drainage systems
|
|
- Waterproof barriers
|
|
range: boolean
|
|
examples:
|
|
- value: true
|
|
|
|
# Security
|
|
storage_security_level:
|
|
slot_uri: schema:value
|
|
description: |
|
|
Required security level for the storage area.
|
|
|
|
Levels:
|
|
- HIGH: 24/7 monitoring, biometric access, multiple barriers
|
|
- MEDIUM: Access control, CCTV, alarm system
|
|
- STANDARD: Key/card access, basic monitoring
|
|
- LOW: Basic locks, occasional checks
|
|
range: string
|
|
examples:
|
|
- value: "HIGH"
|
|
description: "High-value collection storage"
|
|
|
|
access_restrictions:
|
|
slot_uri: schema:eligibleRegion
|
|
description: |
|
|
Access restriction policy for the storage area.
|
|
|
|
Describes who can access and under what conditions.
|
|
range: string
|
|
examples:
|
|
- value: >-
|
|
Staff access only. Two-person rule for vault access.
|
|
Visitor access requires Director approval and escort.
|
|
|
|
# Standards compliance
|
|
standards_compliance:
|
|
slot_uri: dcterms:conformsTo
|
|
description: |
|
|
Standards this policy is designed to meet.
|
|
|
|
Reference to StorageStandardEnum values.
|
|
range: StorageStandardEnum
|
|
multivalued: true
|
|
examples:
|
|
- value:
|
|
- "EN_15757_2010"
|
|
- "EN_16893_2018"
|
|
- "ISO_TR_19815_2018"
|
|
|
|
# Policy metadata
|
|
policy_effective_from:
|
|
slot_uri: schema:validFrom
|
|
description: |
|
|
Date when this policy became effective.
|
|
range: date
|
|
required: true
|
|
examples:
|
|
- value: "2020-01-01"
|
|
|
|
policy_effective_to:
|
|
slot_uri: schema:validThrough
|
|
description: |
|
|
Date when this policy expires or was superseded.
|
|
NULL if current policy.
|
|
range: date
|
|
|
|
policy_approved_by:
|
|
slot_uri: prov:wasAttributedTo
|
|
description: |
|
|
Person or body that approved this policy.
|
|
range: string
|
|
examples:
|
|
- value: "Collections Committee"
|
|
- value: "Director of Collections"
|
|
|
|
policy_review_date:
|
|
slot_uri: schema:scheduledTime
|
|
description: |
|
|
Date when policy is due for review.
|
|
|
|
Best practice: annual policy review.
|
|
range: date
|
|
examples:
|
|
- value: "2025-12-31"
|
|
|
|
notes:
|
|
slot_uri: schema:description
|
|
description: |
|
|
Additional notes about this policy.
|
|
range: string
|
|
|
|
comments:
|
|
- "Policy defines INTENDED conditions, not actual state"
|
|
- "Actual conditions tracked separately in StorageCondition observations"
|
|
- "Gap between policy and observation is key transparency metric"
|
|
- "Policy should reference applicable standards (ISO, EN, PAS)"
|
|
- "Policy should be reviewed and updated regularly"
|
|
- "Multiple policies may apply to different storage zones"
|
|
|
|
see_also:
|
|
- "https://www.iso.org/standard/68893.html"
|
|
- "https://www.en-standard.eu/bs-en-16893-2018/"
|
|
- "https://www.en-standard.eu/bs-en-15757-2010/"
|
|
|
|
examples:
|
|
- value:
|
|
policy_id: "https://nde.nl/ontology/hc/policy/rijksmuseum-depot-climate-2020"
|
|
policy_name: "Rijksmuseum Depot Climate Control Policy"
|
|
policy_description: |
|
|
Climate control policy for off-site art storage depot at Amersfoort.
|
|
Designed for mixed media including oil paintings, works on paper,
|
|
and decorative arts. Based on EN 15757:2010 and museum best practices.
|
|
temperature_target: 18.0
|
|
temperature_tolerance: 2.0
|
|
humidity_target: 50.0
|
|
humidity_tolerance: 5.0
|
|
light_max_lux: 50.0
|
|
uv_filtered_required: true
|
|
pest_management_required: true
|
|
fire_suppression_type: "INERT_GAS"
|
|
flood_protection_required: true
|
|
storage_security_level: "HIGH"
|
|
standards_compliance:
|
|
- "EN_15757_2010"
|
|
- "EN_16893_2018"
|
|
policy_effective_from: "2020-01-01"
|
|
policy_approved_by: "Collections Committee"
|
|
policy_review_date: "2025-12-31"
|
|
description: "Museum art storage climate policy"
|
|
|
|
- value:
|
|
policy_id: "https://nde.nl/ontology/hc/policy/nationaal-archief-cold-storage"
|
|
policy_name: "National Archives Cold Storage Policy"
|
|
policy_description: |
|
|
Cold storage policy for photographic materials including film
|
|
negatives, glass plates, and color photographs. Based on Image
|
|
Permanence Institute guidelines for extended preservation.
|
|
temperature_target: -18.0
|
|
temperature_tolerance: 2.0
|
|
humidity_target: 30.0
|
|
humidity_tolerance: 5.0
|
|
light_max_lux: 0.0
|
|
uv_filtered_required: true
|
|
pest_management_required: true
|
|
fire_suppression_type: "INERT_GAS"
|
|
flood_protection_required: true
|
|
storage_security_level: "HIGH"
|
|
access_restrictions: >-
|
|
Restricted access - Conservation staff only. Materials must
|
|
acclimate 24 hours before and after access. Gloves required.
|
|
standards_compliance:
|
|
- "IMAGE_PERMANENCE_INSTITUTE"
|
|
- "ISO_TR_19815_2018"
|
|
policy_effective_from: "2015-06-01"
|
|
policy_approved_by: "General Rijksarchivaris"
|
|
policy_review_date: "2025-06-01"
|
|
description: "Archive cold storage policy for photographic materials"
|
|
|
|
# Slot definitions
|
|
slots:
|
|
# policy_id: imported from ../slots/policy_id
|
|
# policy_name: imported from ../slots/policy_name
|
|
|
|
policy_description:
|
|
description: Full policy description
|
|
range: string
|
|
|
|
temperature_target:
|
|
description: Target temperature in Celsius
|
|
range: float
|
|
|
|
temperature_min:
|
|
description: Minimum temperature in Celsius
|
|
range: float
|
|
|
|
temperature_max:
|
|
description: Maximum temperature in Celsius
|
|
range: float
|
|
|
|
temperature_tolerance:
|
|
description: Temperature tolerance ±
|
|
range: float
|
|
|
|
humidity_target:
|
|
description: Target relative humidity %
|
|
range: float
|
|
|
|
humidity_min:
|
|
description: Minimum relative humidity %
|
|
range: float
|
|
|
|
humidity_max:
|
|
description: Maximum relative humidity %
|
|
range: float
|
|
|
|
humidity_tolerance:
|
|
description: Humidity tolerance ±
|
|
range: float
|
|
|
|
light_max_lux:
|
|
description: Maximum light level in lux
|
|
range: float
|
|
|
|
uv_filtered_required:
|
|
description: Whether UV filtering is required
|
|
range: boolean
|
|
|
|
air_changes_per_hour:
|
|
description: Required air changes per hour
|
|
range: float
|
|
|
|
particulate_max:
|
|
description: Maximum particulate count
|
|
range: float
|
|
|
|
pest_management_required:
|
|
description: Whether IPM is required
|
|
range: boolean
|
|
|
|
fire_suppression_type:
|
|
description: Fire suppression system type
|
|
range: string
|
|
|
|
flood_protection_required:
|
|
description: Whether flood protection is required
|
|
range: boolean
|
|
|
|
storage_security_level:
|
|
description: Security level requirement
|
|
range: string
|
|
|
|
# NOTE: access_restrictions imported from global slot ../slots/access_restrictions.yaml
|
|
|
|
standards_compliance:
|
|
description: Standards this policy meets
|
|
range: StorageStandardEnum
|
|
multivalued: true
|
|
|
|
policy_effective_from:
|
|
description: Policy effective date
|
|
range: date
|
|
|
|
policy_effective_to:
|
|
description: Policy expiration date
|
|
range: date
|
|
|
|
policy_approved_by:
|
|
description: Policy approval authority
|
|
range: string
|
|
|
|
policy_review_date:
|
|
description: Policy review due date
|
|
range: date
|
|
|
|
notes:
|
|
description: Additional notes
|
|
range: string
|