Extends migration to all class types (museums, libraries, galleries, etc.) New slots added to class_metadata_slots.yaml: - RiC-O: rico_record_set_type, rico_organizational_principle, rico_has_or_had_holder, rico_note - Multilingual: label_de, label_es, label_fr, label_nl, label_it, label_pt - Scope: scope_includes, scope_excludes, custodian_only, organizational_level, geographic_restriction - Notes: privacy_note, preservation_note, legal_note Migration script now handles 30+ annotation types. All migrated schemas pass linkml-validate. Total: 387 class files now use proper slots instead of annotations.
503 lines
18 KiB
YAML
503 lines
18 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/access_restrictions
|
|
- ../slots/policy_id
|
|
- ../slots/policy_name
|
|
- ../slots/notes
|
|
- ../slots/temperature_tolerance
|
|
- ../slots/humidity_tolerance
|
|
- ../slots/class_metadata_slots
|
|
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\n1. **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:
|
|
- access_restrictions
|
|
- air_changes_per_hour
|
|
- fire_suppression_type
|
|
- flood_protection_required
|
|
- humidity_max
|
|
- humidity_min
|
|
- humidity_target
|
|
- humidity_tolerance
|
|
- light_max_lux
|
|
- notes
|
|
- 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
|
|
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
|
|
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:
|
|
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'
|
|
notes:
|
|
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
|
|
slots:
|
|
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
|
|
humidity_target:
|
|
description: Target relative humidity %
|
|
range: float
|
|
humidity_min:
|
|
description: Minimum relative humidity %
|
|
range: float
|
|
humidity_max:
|
|
description: Maximum relative humidity %
|
|
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
|
|
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
|