glam/schemas/20251121/linkml/modules/classes/StorageCondition.yaml
kempersc fcd1c21c63 Add aliases and enhance slot definitions across various modules
- Added new aliases for existing slots to improve clarity and usability, including:
  - has_deadline: has_embargo_end_date
  - has_extent: has_extent_text
  - has_fonds: has_fond
  - has_laboratory: conservation_lab
  - has_language: has_iso_code639_1, has_iso_code639_3
  - has_legal_basis: legal_basis
  - has_light_exposure: max_light_lux
  - has_measurement_unit: has_unit
  - has_note: has_custodian_observation
  - has_occupation: occupation
  - has_operating_hours: has_operating_hours
  - has_position: position
  - has_quantity: has_artwork_count, link_count
  - has_roadmap: review_date
  - has_skill: skill
  - has_speaker: speaker_label
  - has_specification: specification_url
  - has_statement: rights_statement_url, rights_statement
  - has_type: custodian_only
  - has_user_category: serves_visitors_only
  - hold_record_set: record_count
  - identified_by: has_index_number
  - in_period: has_period
  - in_place: has_place
  - in_series: has_series
  - measure: has_measurement
  - measured_on: measurement_date
  - organized_by: has_organizer
  - originate_from: has_origin
  - part_of: suborganization_of
  - published_on: has_publication_date
  - receive_investment: has_investment
  - related_to: connection_heritage_type
  - require: preservation_requirement
  - safeguarded_by: current_keeper, record_holder_note
  - state: states_or_stated
  - take_comission: takes_or_took_comission
  - take_place_at: takes_or_took_place_at
  - transmit_through: transmits_or_transmitted_through
  - warrant: warrants_or_warranted

- Introduced a new slot definition for evaluated_through to capture evaluation methodologies and review statuses.
2026-02-14 14:41:49 +01:00

384 lines
No EOL
16 KiB
YAML

id: https://nde.nl/ontology/hc/class/StorageCondition
name: storage_condition_class
title: Storage Condition Observation 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/
pico: https://personsincontext.org/model#
default_prefix: hc
imports:
- linkml:types
- ../enums/StorageConditionStatusEnum
- ../enums/StorageObserverTypeEnum
- ../slots/categorized_as
- ../slots/identified_by # was: condition_id
- ../slots/measured_through
- ../slots/has_measurement_type
- ../slots/has_note # was: category_note
- ../slots/has_provenance
- ../slots/has_score # was: template_specificity
- ../slots/has_status
- ../slots/include
- ../slots/indicate # was: follow_up_date
- ../slots/based_on
- ../slots/generated_by
- ../slots/analyze
- ../slots/temporal_extent
- ../slots/observed_by
- ../slots/refer_to
- ../slots/remedy
- ../slots/require
- ../slots/supersede
classes:
StorageCondition:
class_uri: hc:StorageConditionAssessment
description: "An observation-based report of actual storage conditions.\n\n**DEFINITION**:\n\nStorageCondition represents\
\ a specific assessment or observation of\na storage facility's actual state at a point in time. Multiple\nobservations\
\ can exist for the same storage facility, from different\nobservers with potentially different findings.\n\n**CRITICAL\
\ DISTINCTION**:\n\n- **StorageCondition** (THIS CLASS): What IS - actual observed state\n- **StorageConditionPolicy**:\
\ What SHOULD BE - designed/intended conditions\n\nThe gap between policy and observed condition is often significant\n\
and represents a critical transparency concern.\n\n**PiCo OBSERVATION PATTERN**:\n\nFollowing the Person in Context\
\ (PiCo) ontology pattern, observations\nare NOT assertions of truth but reports from specific observers with\ntheir\
\ own perspectives and potential biases.\n\nA journalist discovering white ants in a storage facility creates an\nobservation\
\ with:\n- observer_type: JOURNALIST\n- condition_status: CRITICAL\n- category: PEST_CONTROL\n- observation_notes: \"\
White ants discovered in main document depot\"\n\nThis observation exists ALONGSIDE any official self-assessment, without\n\
requiring reconciliation of conflicting reports.\n\n**PROV-O ALIGNMENT**:\n\n`prov:Activity` - \"An activity is something\
\ that occurs over a period\nof time and acts upon or with entities; it may include consuming,\nprocessing, transforming,\
\ modifying, relocating, using, or generating\nentities.\"\n\nThe observation activity:\n- `prov:wasAssociatedWith`\
\ → observer (prov:Agent)\n- `prov:used` → storage facility being observed\n- `prov:atTime` → observation timestamp\n\
- `prov:generated` → this condition report\n\n**RELATIONSHIP TO STORAGE CLASS**:\n\n```\nStorage\n │\n ├── storage_conditions[]\
\ → StorageCondition (THIS CLASS)\n │ ├── Observation 1: Internal staff, 2024-06 → GOOD\n │ ├── Observation\
\ 2: Journalist, 2024-09 → CRITICAL (pest issue)\n │ └── Observation 3: Government inspector, 2024-10 → POOR\n\
\ │\n └── condition_policy → StorageConditionPolicy (what SHOULD be)\n```\n\n**USE CASES**:\n\n1. **Regular Internal\
\ Assessment**:\n - observer_type: INTERNAL_STAFF\n - is_official_assessment: true\n - category_assessments: Temperature=GOOD,\
\ Humidity=GOOD\n \n2. **Investigative Journalism**:\n - observer_type: JOURNALIST\n - is_official_assessment:\
\ false\n - observation_notes: \"Photographs show water damage in basement storage\"\n - evidence_documentation:\
\ [URLs to published article]\n \n3. **Government Inspection**:\n - observer_type: GOVERNMENT_INSPECTOR\n - is_official_assessment:\
\ true (regulatory authority)\n - compliance_status: \"NON_COMPLIANT\"\n - remediation_required: true\n \n4. **Automated\
\ Monitoring**:\n - observer_type: AUTOMATED_SYSTEM\n - category: TEMPERATURE\n - measurement_value: \"23.5°C\"\
\n - threshold_exceeded: true\n"
exact_mappings:
- hc:StorageConditionAssessment
- crm:E14_Condition_Assessment
- prov:Activity
close_mappings:
- crm:E7_Activity
- premis:Event
- pico:Observation
- hc:StorageEnvironmentObservation
slots:
- include
# REMOVED 2026-01-22: compliance_status - migrated to has_status + ComplianceStatus (Rule 53)
- has_status
- identified_by # was: condition_id - migrated per Rule 53 (2026-01-18)
# REMOVED 2026-01-19: confidence_score - migrated to generated_by (Rule 53)
- generated_by
- has_provenance
- indicate # was: follow_up_date - migrated per Rule 53 (2026-01-26)
- has_status
- analyze
- temporal_extent
- has_note
- temporal_extent
- observed_by
- observed_by
- observed_by
- has_status
- refer_to
- remedy
- require
- supersede
- has_score # was: template_specificity - migrated per Rule 53 (2026-01-17)
# has_assessment_category REMOVED - migrated to categorized_as (Rule 53)
- categorized_as
slot_usage:
identified_by: # was: condition_id - migrated per Rule 53 (2026-01-18)
# range: string # uriorcurie
inlined: false # Fixed invalid inline for primitive type
required: true
identifier: true
examples:
- value:
identifier_value: "https://nde.nl/ontology/hc/condition/rijksmuseum-depot-2024-q2"
refer_to:
range: Storage
required: true
examples:
- value: https://nde.nl/ontology/hc/storage/rijksmuseum-depot-amersfoort
temporal_extent:
range: date
required: true
examples:
- value: '2024-09-15'
temporal_extent:
range: TimeSpan
examples:
- value: Q2 2024 (April-June)
observed_by:
range: StorageObserverTypeEnum
required: true
examples:
- value: JOURNALIST
- value: INTERNAL_STAFF
- value: GOVERNMENT_INSPECTOR
observed_by:
# range: string
examples:
- value: Maria van der Berg
- value: Collections Management Team
- value: Anonymous (confidential source)
observed_by:
# range: string
examples:
- value: De Volkskrant
- value: Rijksdienst voor het Cultureel Erfgoed
- value: ABC Conservation Consultants
has_status:
range: boolean
required: true
examples:
- value: true
- value: false
has_status:
range: StorageConditionStatusEnum
required: true
examples:
- value: CRITICAL
- value: GOOD
include:
range: StorageConditionCategoryAssessment
multivalued: true
inlined_as_list: true
examples:
- value:
- categorized_as:
has_type: TEMPERATURE
has_status:
has_type: GOOD
measure:
- has_unit:
has_label: Celsius
measurement_value: 19.5
- categorized_as:
has_type: PEST_CONTROL
has_status:
has_type: CRITICAL
has_note: # was: note - migrated per Rule 53/56 (2026-01-18)
- note_type: category
note_content: White ants discovered in main depot area
categorized_as:
range: AssessmentCategory
multivalued: true
inlined: true
examples:
- value:
categorized_as: PEST_CONTROL
has_note:
# range: string
examples:
- value: During routine inspection, white ant damage discovered in south wall of main document storage. Approximately
50 linear meters of shelving affected. Evidence of active infestation - live insects observed. Immediate treatment
recommended.
has_provenance:
# range: string
multivalued: true
inlined: false # Fixed invalid inline for primitive type
examples:
- value:
based_on:
has_url:
url_value: "https://www.volkskrant.nl/archive-pest-investigation-2024"
- value:
based_on:
has_url:
url_value: "https://archive.org/evidence/photos/depot-damage-20240915.zip"
analyze:
# range: string
examples:
- value: '{"temperature_celsius": 23.5, "humidity_percent": 58, "threshold_exceeded": true}'
# MIGRATED 2026-01-22: compliance_status → has_status + ComplianceStatus (Rule 53)
has_status:
range: ComplianceStatus
inlined: true
required: false
examples:
- value:
has_type: "NON_COMPLIANT"
has_label: "EN 16893 Non-Compliant"
standard_reference: "EN 16893:2018"
remediation_required: true
description: Does not meet EN 16893:2018 requirements
- value:
has_type: "COMPLIANT"
has_label: "ISO 11799 Compliant"
standard_reference: "ISO 11799:2015"
require:
range: boolean
examples:
- value: true
remedy:
# range: string
examples:
- value: 1. Engage licensed pest control immediately 2. Quarantine affected materials 3. Survey adjacent storage areas
4. Install additional monitoring traps 5. Report to Heritage Inspectorate within 48 hours
indicate: # was: follow_up_date - migrated per Rule 53 (2026-01-26)
range: ConservationReview
inlined: true
required: false
examples:
- value:
temporal_extent:
begin_of_the_begin: "2024-12-01"
has_label: "Post-treatment verification inspection"
# REMOVED 2026-01-19: confidence_score - migrated to generated_by (Rule 53)
generated_by:
range: GenerationEvent
required: false
inlined: true
examples:
- value:
has_score:
has_score: 0.95
has_method: "government_inspection"
- value:
has_score:
has_score: 0.75
has_method: "journalist_investigation"
# supersede migrated to supersedes_or_superseded
# This domain-specific slot has explicit StorageCondition range
# to avoid OWL type ambiguity (DatatypeProperty vs ObjectProperty conflict)
comments:
- 'MIGRATED 2026-01-19: confidence_score → generated_by + GenerationEvent + ConfidenceScore (Rule 53)'
- Observations are NOT assertions of truth - they are reports from specific observers
- Multiple observations may exist for same storage with conflicting findings
- Gap between observed conditions and policy conditions is critical transparency metric
- External observations (journalists, researchers) may reveal unreported issues
- Official assessments vs external investigations treated equally as data
- Automated system observations provide objective measurements but require calibration
see_also:
- http://www.w3.org/ns/prov#Activity
- https://www.loc.gov/premis/rdf/v3/Event
examples:
- value:
identified_by: # was: condition_id - migrated per Rule 53 (2026-01-18)
identifier_value: "https://nde.nl/ontology/hc/condition/depot-pest-investigation-2024"
refers_to_storage: https://nde.nl/ontology/hc/storage/national-archive-depot-b
observation_date: '2024-09-15'
observer_type: JOURNALIST
observer_name: Jan de Vries
observer_affiliation: De Volkskrant
is_official_assessment: false
overall_status: CRITICAL
include:
- categorized_as:
has_type: PEST_CONTROL
has_status:
has_type: CRITICAL
has_note: # was: note - migrated per Rule 53/56 (2026-01-18)
- note_type: category
note_content: White ants discovered in main document depot
observation_notes: >-
Investigative visit revealed active termite infestation in south section of Document Depot B. Approximately
50 linear meters of historical documents at risk. Institution was unaware of extent of damage until contacted for
comment.
has_provenance:
- based_on:
has_url:
url_value: "https://www.volkskrant.nl/archive-pest-crisis-2024"
remediation_required: true
generated_by: # was: confidence_score - migrated per Rule 53 (2026-01-19)
has_score:
has_score: 0.85
has_method: "journalist_investigation"
- value:
identified_by: # was: condition_id - migrated per Rule 53 (2026-01-18)
identifier_value: "https://nde.nl/ontology/hc/condition/rijksmuseum-q2-2024"
refers_to_storage: https://nde.nl/ontology/hc/storage/rijksmuseum-depot-amersfoort
observation_date: '2024-06-30'
temporal_extent:
observer_type: INTERNAL_STAFF
observer_name: Collections Management Team
observer_affiliation: Rijksmuseum
is_official_assessment: true
overall_status: GOOD
include:
- categorized_as:
has_type: TEMPERATURE
has_status:
has_type: EXCELLENT
has_measurement:
- measurement_value: 18.5
has_unit:
has_label: Celsius
- categorized_as:
has_type: HUMIDITY
has_status:
has_type: GOOD
has_measurement:
- measurement_value: 48
has_unit:
has_label: Percent
- categorized_as:
has_type: PEST_CONTROL
has_status:
has_type: GOOD
has_note: # was: note - migrated per Rule 53/56 (2026-01-18)
- note_type: category
note_content: No pest activity detected in monitoring traps
- categorized_as:
has_type: SECURITY
has_status:
has_type: EXCELLENT
observation_notes: Quarterly facilities review. All parameters within policy ranges.
# MIGRATED 2026-01-22: compliance_status → has_status + ComplianceStatus (Rule 53)
has_status:
has_type: "COMPLIANT"
standard_reference: "ISO 11799:2015"
remediation_required: false
generated_by: # was: confidence_score - migrated per Rule 53 (2026-01-19)
has_score:
has_score: 0.9
has_method: "internal_assessment"
StorageConditionCategoryAssessment:
class_uri: hc:StorageConditionCategoryAssessment
description: 'Individual category assessment within a StorageCondition observation.
Allows granular reporting of different condition categories with
independent status levels.
'
slots:
- categorized_as
- measure # was: category_measurement - migrated per Rule 53/56 (2026-01-24)
- has_note # was: category_note - migrated per Rule 53/56 (2026-01-18)
- has_status # was: category_status - migrated per Rule 53/56 (2026-01-24)
- has_score # was: template_specificity - migrated per Rule 53 (2026-01-17)
slot_usage:
categorized_as:
range: AssessmentCategory
required: true
inlined: true
has_status: # was: category_status - migrated per Rule 53/56 (2026-01-24)
range: CategoryStatus
required: true
inlined: true
has_measurement: # was: category_measurement - migrated per Rule 53/56 (2026-01-24)
range: Measurement
inlined: true
multivalued: true
has_note: # was: category_note - migrated per Rule 53/56 (2026-01-18)
# range: string
multivalued: true
inlined: false # Fixed invalid inline for primitive type
inlined_as_list: false # Fixed invalid inline for primitive type
examples:
- value:
- note_type: category
note_content: "White ants discovered in main depot area"