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/supersede - ../slots/confidence_score - ../slots/observation_date - ../slots/follow_up_date - ../slots/has_assessment_category - ../slots/has_or_had_category_assessment - ../slots/category_measurement - ../slots/category_note - ../slots/category_status - ../slots/compliance_status - ../slots/condition_id - ../slots/evidence_documentation - ../slots/is_official_assessment - ../slots/measurement_data - ../slots/observation_note - ../slots/observation_period - ../slots/observer_affiliation - ../slots/observer_name - ../slots/observer_type - ../slots/overall_status - ../slots/refers_to_storage - ../slots/remediation_note - ../slots/remediation_required - ../slots/specificity_annotation - ../slots/template_specificity - ./SpecificityAnnotation - ./TemplateSpecificityScores 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: - has_or_had_category_assessment - compliance_status - condition_id - confidence_score - evidence_documentation - follow_up_date - is_official_assessment - measurement_data - observation_date - observation_note - observation_period - observer_affiliation - observer_name - observer_type - overall_status - refers_to_storage - remediation_note - remediation_required - specificity_annotation - supersede - 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 has_or_had_category_assessment: 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 note: White ants discovered in main depot area observation_note: 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_note: 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 supersede: 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 has_or_had_category_assessment: - category: PEST_CONTROL status: CRITICAL note: 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 has_or_had_category_assessment: - category: TEMPERATURE status: EXCELLENT measurement: 18.5°C average - category: HUMIDITY status: GOOD measurement: 48% RH average - category: PEST_CONTROL status: GOOD note: 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: - has_assessment_category - category_measurement - category_note - category_status - specificity_annotation - template_specificity slot_usage: has_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_note: 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 has_or_had_affiliation range: string is_official_assessment: description: Whether this is an official institutional assessment range: boolean overall_status: description: Overall condition status range: StorageConditionStatusEnum has_or_had_category_assessment: description: Individual category assessments range: StorageConditionCategoryAssessment multivalued: true observation_note: 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_note: description: Notes on required remediation range: string has_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_note: description: Notes for this category range: string