All checks were successful
Deploy Frontend / build-and-deploy (push) Successful in 3m57s
- 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.
524 lines
17 KiB
YAML
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
|