glam/schemas/20251121/linkml/modules/classes/StorageConditionPolicy.yaml
kempersc 174a420c08
All checks were successful
Deploy Frontend / build-and-deploy (push) Successful in 3m57s
refactor(schema): centralize 1515 inline slot definitions per Rule 48
- Remove inline slot definitions from 144 class files
- Create 7 new centralized slot files in modules/slots/:
  - custodian_type_broader.yaml
  - custodian_type_narrower.yaml
  - custodian_type_related.yaml
  - definition.yaml
  - finding_aid_access_restriction.yaml
  - finding_aid_description.yaml
  - finding_aid_temporal_coverage.yaml
- Add centralize_inline_slots.py automation script
- Update manifest with new timestamp

Rule 48: Class files must NOT define inline slots - all slots
must be imported from modules/slots/ directory.

Note: Pre-existing IdentifierFormat duplicate class definition
(in Standard.yaml and IdentifierFormat.yaml) not addressed in
this commit - requires separate schema refactor.
2026-01-11 22:02:14 +01:00

524 lines
17 KiB
YAML

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/has_or_had_access_restriction
- ../slots/policy_id
- ../slots/policy_name
- ../slots/note
- ../slots/temperature_tolerance
- ../slots/humidity_tolerance
- ../slots/has_air_changes_per_hour
- ../slots/fire_suppression_type
- ../slots/flood_protection_required
- ../slots/humidity_max
- ../slots/humidity_min
- ../slots/humidity_target
- ../slots/light_max_lux
- ../slots/particulate_max
- ../slots/pest_management_required
- ../slots/policy_approved_by
- ../slots/policy_description
- ../slots/policy_effective_from
- ../slots/policy_effective_to
- ../slots/policy_review_date
- ../slots/specificity_annotation
- ../slots/standards_compliance
- ../slots/storage_security_level
- ../slots/temperature_max
- ../slots/temperature_min
- ../slots/temperature_target
- ../slots/template_specificity
- ../slots/uv_filtered_required
- ./SpecificityAnnotation
- ./TemplateSpecificityScores
classes:
StorageConditionPolicy:
class_uri: odrl:Policy
description: "Designed environmental and safety conditions for a storage facility.\n\n**DEFINITION**:\n\nStorageConditionPolicy\
\ specifies what conditions SHOULD BE maintained\nin a storage facility according to institutional policy, standards\n\
requirements, and preservation best practices.\n\n**CRITICAL DISTINCTION**:\n\n- **StorageConditionPolicy** (THIS CLASS):\
\ What SHOULD BE - designed conditions\n- **StorageCondition**: What IS - actual observed state\n\nThe gap between policy\
\ and reality is often significant and represents\na key transparency metric for heritage preservation assessment.\n\
\n**STANDARDS ALIGNMENT**:\n\nThis class captures requirements from:\n- **ISO/TR 19815:2018**: Environmental management\
\ framework\n- **EN 16893:2018**: Building specifications for storage\n- **EN 15757:2010**: Temperature and relative\
\ humidity control\n- **ISO 9706:2025**: Paper permanence requirements\n- **PAS 198**: Archive storage requirements\n\
- **ASHRAE**: HVAC specifications for cultural heritage\n\n**POLICY vs. OBSERVATION PATTERN**:\n\n```\nStorage Facility\n\
\ │\n ├── condition_policy → StorageConditionPolicy (THIS CLASS)\n │ ├── temperature_target: 18°C\n │ ├──\
\ temperature_tolerance: ±2°C\n │ ├── humidity_target: 50%\n │ ├── standards_compliance: [EN_15757_2010, ISO_TR_19815_2018]\n\
\ │ └── policy_effective_from: 2020-01-01\n │\n └── storage_conditions[] → StorageCondition (observations)\n\
\ ├── Observation 1: Temperature 19°C ✓ (within policy)\n ├── Observation 2: Temperature 25°C ✗ (exceeds\
\ policy)\n └── Observation 3: Humidity 65% ✗ (exceeds policy)\n```\n\n**ODRL ALIGNMENT**:\n\n`odrl:Policy` -\
\ \"A Policy is a named entity for a rule-based system\nfor specifying permissions, prohibitions, and obligations.\"\
\n\nWhile ODRL is primarily for digital rights, the policy pattern applies:\n- Policy defines RULES for acceptable conditions\n\
- Observations are checked against policy RULES\n- Violations trigger OBLIGATIONS (remediation)\n\n**USE CASES**:\n\n\
1. **Archive Climate Policy**:\n - Based on ISO/TR 19815:2018\n - Temperature: 18°C ±2°C\n - Humidity: 50% RH\
\ ±5%\n - Light: <50 lux for sensitive materials\n \n2. **Cold Storage Policy**:\n - Based on Image Permanence\
\ Institute guidelines\n - Temperature: -18°C ±2°C\n - Humidity: 30% RH ±5%\n - For film negatives and photographs\n\
\ \n3. **Art Storage Policy**:\n - Based on museum industry standards\n - Temperature: 21°C ±1°C\n - Humidity:\
\ 50% RH ±3%\n - Strict light and UV control\n"
exact_mappings:
- odrl:Policy
close_mappings:
- hc:EnvironmentalRequirement
- premis:PreservationPolicy
- schema:Policy
- crm:E29_Design_or_Procedure
slots:
- has_or_had_access_restriction
- has_air_changes_per_hour
- fire_suppression_type
- flood_protection_required
- humidity_max
- humidity_min
- humidity_target
- humidity_tolerance
- light_max_lux
- note
- particulate_max
- pest_management_required
- policy_approved_by
- policy_description
- policy_effective_from
- policy_effective_to
- policy_id
- policy_name
- policy_review_date
- specificity_annotation
- standards_compliance
- storage_security_level
- temperature_max
- temperature_min
- temperature_target
- temperature_tolerance
- template_specificity
- uv_filtered_required
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_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_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_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
has_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_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_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_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
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
has_or_had_access_restriction:
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:
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_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'
note:
slot_uri: schema:description
description: 'Additional notes about this policy.
'
range: string
specificity_annotation:
range: SpecificityAnnotation
inlined: true
template_specificity:
range: TemplateSpecificityScores
inlined: true
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