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.
539 lines
21 KiB
YAML
539 lines
21 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
|
|
- ./Storage
|
|
- ./TimeSpan
|
|
- ../enums/StorageConditionStatusEnum
|
|
- ../enums/StorageObserverTypeEnum
|
|
- ../slots/supersedes
|
|
- ../slots/confidence_score
|
|
- ../slots/observation_date
|
|
- ../slots/follow_up_date
|
|
- ../slots/class_metadata_slots
|
|
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\nand 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\nrequiring 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\n\
|
|
The 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 \n\
|
|
3. **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:
|
|
- category_assessments
|
|
- compliance_status
|
|
- condition_id
|
|
- confidence_score
|
|
- evidence_documentation
|
|
- follow_up_date
|
|
- is_official_assessment
|
|
- measurement_data
|
|
- observation_date
|
|
- observation_notes
|
|
- observation_period
|
|
- observer_affiliation
|
|
- observer_name
|
|
- observer_type
|
|
- overall_status
|
|
- refers_to_storage
|
|
- remediation_notes
|
|
- remediation_required
|
|
- specificity_annotation
|
|
- supersedes
|
|
- template_specificity
|
|
slot_usage:
|
|
condition_id:
|
|
slot_uri: dcterms:identifier
|
|
description: |
|
|
Unique identifier for this condition observation.
|
|
Format: URI following NDE Heritage Custodian ontology conventions.
|
|
range: uriorcurie
|
|
required: true
|
|
identifier: true
|
|
examples:
|
|
- value: https://nde.nl/ontology/hc/condition/rijksmuseum-depot-2024-q2
|
|
description: Q2 2024 assessment of Rijksmuseum depot
|
|
refers_to_storage:
|
|
slot_uri: prov:used
|
|
description: |
|
|
The storage facility being assessed.
|
|
|
|
Links this observation to the Storage instance it describes.
|
|
|
|
PROV-O: used indicates entities used in activity.
|
|
range: Storage
|
|
required: true
|
|
examples:
|
|
- value: https://nde.nl/ontology/hc/storage/rijksmuseum-depot-amersfoort
|
|
observation_date:
|
|
slot_uri: prov:atTime
|
|
description: |
|
|
Date when this observation was made.
|
|
|
|
For automated systems: timestamp of data collection.
|
|
For human observers: date of site visit or assessment.
|
|
|
|
PROV-O: atTime specifies instant at which activity occurred.
|
|
range: date
|
|
required: true
|
|
examples:
|
|
- value: '2024-09-15'
|
|
observation_period:
|
|
slot_uri: crm:P4_has_time-span
|
|
description: |
|
|
Time period covered by this observation if not a point-in-time.
|
|
|
|
Use for assessments covering a period (e.g., quarterly review)
|
|
rather than a single site visit.
|
|
|
|
CIDOC-CRM: P4_has_time-span for temporal extent.
|
|
range: TimeSpan
|
|
examples:
|
|
- value: Q2 2024 (April-June)
|
|
observer_type:
|
|
slot_uri: prov:wasAssociatedWith
|
|
description: |
|
|
Type of observer who made this assessment.
|
|
|
|
**CRITICAL**: Determines how to interpret the observation.
|
|
- INTERNAL_STAFF may underreport issues
|
|
- JOURNALIST may have discovered unreported problems
|
|
- GOVERNMENT_INSPECTOR has regulatory authority
|
|
- WHISTLEBLOWER may have insider knowledge
|
|
|
|
PROV-O: wasAssociatedWith links activity to responsible agent.
|
|
range: StorageObserverTypeEnum
|
|
required: true
|
|
examples:
|
|
- value: JOURNALIST
|
|
- value: INTERNAL_STAFF
|
|
- value: GOVERNMENT_INSPECTOR
|
|
observer_name:
|
|
slot_uri: prov:wasAssociatedWith
|
|
description: |
|
|
Name of the individual or team who made this observation.
|
|
|
|
May be anonymized for whistleblowers or confidential sources.
|
|
range: string
|
|
examples:
|
|
- value: Maria van der Berg
|
|
- value: Collections Management Team
|
|
- value: Anonymous (confidential source)
|
|
observer_affiliation:
|
|
slot_uri: prov:actedOnBehalfOf
|
|
description: |
|
|
Organization the observer represents or works for.
|
|
|
|
For journalists: newspaper/media outlet.
|
|
For inspectors: government agency.
|
|
For consultants: consulting firm.
|
|
|
|
PROV-O: actedOnBehalfOf indicates delegated authority.
|
|
range: string
|
|
examples:
|
|
- value: De Volkskrant
|
|
- value: Rijksdienst voor het Cultureel Erfgoed
|
|
- value: ABC Conservation Consultants
|
|
is_official_assessment:
|
|
slot_uri: prov:wasAttributedTo
|
|
description: |
|
|
Whether this is an official institutional assessment or external observation.
|
|
|
|
TRUE = Official self-assessment or authorized inspection.
|
|
FALSE = External/investigative observation not sanctioned by institution.
|
|
|
|
**Important for interpretation**: Official assessments represent what
|
|
the institution claims; external observations may contradict this.
|
|
range: boolean
|
|
required: true
|
|
examples:
|
|
- value: true
|
|
description: Official annual condition survey
|
|
- value: false
|
|
description: Journalist investigation
|
|
overall_status:
|
|
slot_uri: premis:hasOutcome
|
|
description: |
|
|
Overall condition status based on this observation.
|
|
|
|
Aggregate assessment across all categories observed.
|
|
Individual category assessments may vary.
|
|
|
|
PREMIS: hasOutcome for preservation action results.
|
|
range: StorageConditionStatusEnum
|
|
required: true
|
|
examples:
|
|
- value: CRITICAL
|
|
description: White ant infestation discovered
|
|
- value: GOOD
|
|
description: All parameters within acceptable ranges
|
|
category_assessments:
|
|
slot_uri: schema:hasPart
|
|
description: |
|
|
Individual condition assessments for specific categories.
|
|
|
|
Each entry maps a StorageConditionCategoryEnum to a status and notes.
|
|
Not all categories need to be assessed in every observation.
|
|
|
|
Structure: List of category assessment objects with:
|
|
- category: StorageConditionCategoryEnum value
|
|
- status: StorageConditionStatusEnum value
|
|
- measurement: Optional measurement value
|
|
- notes: Optional category-specific notes
|
|
range: StorageConditionCategoryAssessment
|
|
multivalued: true
|
|
inlined_as_list: true
|
|
examples:
|
|
- value:
|
|
- category: TEMPERATURE
|
|
status: GOOD
|
|
measurement: 19.5°C
|
|
- category: PEST_CONTROL
|
|
status: CRITICAL
|
|
notes: White ants discovered in main depot area
|
|
observation_notes:
|
|
slot_uri: dcterms:description
|
|
description: |
|
|
Free-text notes documenting the observation.
|
|
|
|
Include:
|
|
- What was observed
|
|
- Context of the observation
|
|
- Specific concerns or findings
|
|
- Recommendations if any
|
|
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.
|
|
evidence_documentation:
|
|
slot_uri: prov:wasInfluencedBy
|
|
description: |
|
|
Links to supporting evidence for this observation.
|
|
|
|
May include:
|
|
- Photographs of conditions
|
|
- Published articles (for journalism)
|
|
- Official inspection reports
|
|
- Sensor data exports
|
|
- Video documentation
|
|
|
|
PROV-O: wasInfluencedBy for supporting sources.
|
|
range: uriorcurie
|
|
multivalued: true
|
|
examples:
|
|
- value:
|
|
- https://www.volkskrant.nl/archive-pest-investigation-2024
|
|
- https://archive.org/evidence/photos/depot-damage-20240915.zip
|
|
measurement_data:
|
|
slot_uri: schema:value
|
|
description: |
|
|
Structured measurement data from sensors or instruments.
|
|
|
|
JSON-LD compatible structure for environmental readings:
|
|
- temperature_celsius
|
|
- humidity_percent
|
|
- lux_level
|
|
- particulate_count
|
|
- etc.
|
|
range: string
|
|
examples:
|
|
- value: '{"temperature_celsius": 23.5, "humidity_percent": 58, "threshold_exceeded":
|
|
true}'
|
|
compliance_status:
|
|
slot_uri: dcterms:conformsTo
|
|
description: |
|
|
Compliance status with referenced standards.
|
|
|
|
Values: COMPLIANT, NON_COMPLIANT, PARTIALLY_COMPLIANT, NOT_ASSESSED
|
|
|
|
Dublin Core: conformsTo for standards compliance.
|
|
range: string
|
|
examples:
|
|
- value: NON_COMPLIANT
|
|
description: Does not meet EN 16893:2018 requirements
|
|
remediation_required:
|
|
slot_uri: schema:potentialAction
|
|
description: |
|
|
Whether remediation action is required based on this observation.
|
|
|
|
TRUE = Issues found that require corrective action.
|
|
FALSE = No immediate action needed.
|
|
range: boolean
|
|
examples:
|
|
- value: true
|
|
description: Pest treatment required immediately
|
|
remediation_notes:
|
|
slot_uri: schema:description
|
|
description: |
|
|
Notes on required or recommended remediation actions.
|
|
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
|
|
follow_up_date:
|
|
slot_uri: schema:scheduledTime
|
|
description: |
|
|
Scheduled date for follow-up assessment.
|
|
|
|
May be set for:
|
|
- Verification of remediation
|
|
- Regular monitoring cycle
|
|
- Compliance re-inspection
|
|
range: date
|
|
examples:
|
|
- value: '2024-12-01'
|
|
description: Post-treatment verification inspection
|
|
confidence_score:
|
|
slot_uri: prov:value
|
|
description: |
|
|
Confidence score (0.0-1.0) in the accuracy of this observation.
|
|
|
|
Factors affecting confidence:
|
|
- Observer expertise (professionals higher)
|
|
- Access level (full access higher)
|
|
- Evidence quality (documentation higher)
|
|
- Measurement calibration (verified higher)
|
|
range: float
|
|
minimum_value: 0.0
|
|
maximum_value: 1.0
|
|
examples:
|
|
- value: 0.95
|
|
description: Government inspector with full access
|
|
- value: 0.75
|
|
description: Journalist with limited access
|
|
supersedes:
|
|
slot_uri: prov:wasRevisionOf
|
|
description: |
|
|
Previous condition observation that this one supersedes or updates.
|
|
|
|
Use when a new observation corrects or updates a previous one
|
|
from the same observer type.
|
|
|
|
PROV-O: wasRevisionOf for updated versions.
|
|
range: StorageCondition
|
|
examples:
|
|
- value: https://nde.nl/ontology/hc/condition/rijksmuseum-depot-2024-q1
|
|
specificity_annotation:
|
|
range: SpecificityAnnotation
|
|
inlined: true
|
|
template_specificity:
|
|
range: TemplateSpecificityScores
|
|
inlined: true
|
|
comments:
|
|
- 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:
|
|
condition_id: 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
|
|
category_assessments:
|
|
- category: PEST_CONTROL
|
|
status: CRITICAL
|
|
notes: 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.
|
|
evidence_documentation:
|
|
- https://www.volkskrant.nl/archive-pest-crisis-2024
|
|
remediation_required: true
|
|
confidence_score: 0.85
|
|
description: Journalist investigation discovering unreported pest infestation
|
|
- value:
|
|
condition_id: 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'
|
|
observation_period:
|
|
start_date: '2024-04-01'
|
|
end_date: '2024-06-30'
|
|
observer_type: INTERNAL_STAFF
|
|
observer_name: Collections Management Team
|
|
observer_affiliation: Rijksmuseum
|
|
is_official_assessment: true
|
|
overall_status: GOOD
|
|
category_assessments:
|
|
- category: TEMPERATURE
|
|
status: EXCELLENT
|
|
measurement: 18.5°C average
|
|
- category: HUMIDITY
|
|
status: GOOD
|
|
measurement: 48% RH average
|
|
- category: PEST_CONTROL
|
|
status: GOOD
|
|
notes: No pest activity detected in monitoring traps
|
|
- category: SECURITY
|
|
status: EXCELLENT
|
|
observation_notes: Quarterly facilities review. All parameters within policy
|
|
ranges.
|
|
compliance_status: COMPLIANT
|
|
remediation_required: false
|
|
confidence_score: 0.9
|
|
description: Official quarterly 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:
|
|
- assessment_category
|
|
- category_measurement
|
|
- category_notes
|
|
- category_status
|
|
- specificity_annotation
|
|
- template_specificity
|
|
slot_usage:
|
|
assessment_category:
|
|
slot_uri: dcterms:type
|
|
description: Category being assessed (from StorageConditionCategoryEnum)
|
|
range: string
|
|
required: true
|
|
category_status:
|
|
slot_uri: premis:hasOutcome
|
|
description: Status for this specific category
|
|
range: StorageConditionStatusEnum
|
|
required: true
|
|
category_measurement:
|
|
slot_uri: schema:value
|
|
description: Measurement value if applicable (e.g., "19.5°C", "48% RH")
|
|
range: string
|
|
category_notes:
|
|
slot_uri: dcterms:description
|
|
description: Notes specific to this category assessment
|
|
range: string
|
|
specificity_annotation:
|
|
range: SpecificityAnnotation
|
|
inlined: true
|
|
template_specificity:
|
|
range: TemplateSpecificityScores
|
|
inlined: true
|
|
slots:
|
|
condition_id:
|
|
description: Unique identifier for condition observation
|
|
range: uriorcurie
|
|
refers_to_storage:
|
|
description: Storage facility being assessed
|
|
range: Storage
|
|
observation_period:
|
|
description: Time period covered by observation
|
|
range: TimeSpan
|
|
observer_type:
|
|
description: Type of observer (from enum)
|
|
range: StorageObserverTypeEnum
|
|
observer_name:
|
|
description: Name of observer
|
|
range: string
|
|
observer_affiliation:
|
|
description: Observer's organizational affiliation
|
|
range: string
|
|
is_official_assessment:
|
|
description: Whether this is an official institutional assessment
|
|
range: boolean
|
|
overall_status:
|
|
description: Overall condition status
|
|
range: StorageConditionStatusEnum
|
|
category_assessments:
|
|
description: Individual category assessments
|
|
range: StorageConditionCategoryAssessment
|
|
multivalued: true
|
|
observation_notes:
|
|
description: Free-text observation notes
|
|
range: string
|
|
evidence_documentation:
|
|
description: Links to supporting evidence
|
|
range: uriorcurie
|
|
multivalued: true
|
|
measurement_data:
|
|
description: Structured measurement data
|
|
range: string
|
|
compliance_status:
|
|
description: Compliance status with standards
|
|
range: string
|
|
remediation_required:
|
|
description: Whether remediation is required
|
|
range: boolean
|
|
remediation_notes:
|
|
description: Notes on required remediation
|
|
range: string
|
|
assessment_category:
|
|
description: Category being assessed
|
|
range: string
|
|
category_status:
|
|
description: Status for this category
|
|
range: StorageConditionStatusEnum
|
|
category_measurement:
|
|
description: Measurement value for category
|
|
range: string
|
|
category_notes:
|
|
description: Notes for this category
|
|
range: string
|