diff --git a/schemas/20251121/linkml/01_custodian_name_modular.yaml b/schemas/20251121/linkml/01_custodian_name_modular.yaml index 2b91808957..08e0756e08 100644 --- a/schemas/20251121/linkml/01_custodian_name_modular.yaml +++ b/schemas/20251121/linkml/01_custodian_name_modular.yaml @@ -34,7 +34,7 @@ default_prefix: hc imports: - linkml:types - modules/metadata - - modules/slots/has_activity_type + - modules/slots/has_or_had_activity_type - modules/slots/has_or_had_affiliation - modules/slots/has_agent_name - modules/slots/has_agent_type diff --git a/schemas/20251121/linkml/manifest.json b/schemas/20251121/linkml/manifest.json index a19017c806..2ae13715ad 100644 --- a/schemas/20251121/linkml/manifest.json +++ b/schemas/20251121/linkml/manifest.json @@ -1,5 +1,5 @@ { - "generated": "2026-01-13T19:53:50.189Z", + "generated": "2026-01-13T20:54:51.126Z", "schemaRoot": "/schemas/20251121/linkml", "totalFiles": 2893, "categoryCounts": { diff --git a/schemas/20251121/linkml/modules/classes/DetectedEntity.yaml b/schemas/20251121/linkml/modules/classes/DetectedEntity.yaml new file mode 100644 index 0000000000..e9198477e3 --- /dev/null +++ b/schemas/20251121/linkml/modules/classes/DetectedEntity.yaml @@ -0,0 +1,213 @@ +# DetectedEntity - Base class for detected items in automated analysis +# +# Following the Type/Types naming convention (Rule 0b): +# - DetectedEntity: Base class for things detected by automated analysis +# - Used with has_or_had_detected slot for linking detection results +# +# Generation date: 2026-01-13 +# Rule compliance: 0b (Type/Types naming), 38 (slot centralization), 39 (RiC-O naming) + +id: https://nde.nl/ontology/hc/class/DetectedEntity +name: DetectedEntity +title: Detected Entity Class + +prefixes: + linkml: https://w3id.org/linkml/ + hc: https://nde.nl/ontology/hc/ + prov: http://www.w3.org/ns/prov# + schema: http://schema.org/ + crm: http://www.cidoc-crm.org/cidoc-crm/ + skos: http://www.w3.org/2004/02/skos/core# + +default_prefix: hc + +imports: + - linkml:types + - ../slots/has_or_had_identifier + - ../slots/has_or_had_label + - ../slots/has_or_had_type + - ../slots/confidence_score + - ../slots/start_time + - ../slots/end_time + - ../slots/bounding_box + +classes: + DetectedEntity: + class_uri: prov:Entity + description: | + Base class for entities detected through automated analysis processes. + + **DEFINITION**: + + DetectedEntity represents items identified by automated analysis pipelines + (computer vision, NLP, audio analysis, etc.). Each detected entity captures: + - What was detected (via has_or_had_type → specific Type class) + - Detection confidence (probability score) + - Temporal/spatial location (timestamps, bounding boxes) + + **CRITICAL: DETECTION vs TYPE** + + | Aspect | DetectedEntity (This Class) | *Type Classes (Categories) | + |--------|----------------------------|---------------------------| + | **Nature** | Detection result | Classification | + | **Examples** | "Transition at 00:03:15" | FADE_IN, CUT, DISSOLVE | + | **Properties** | Confidence, timestamps | Semantic metadata | + | **Cardinality** | Many instances per video | ~20-30 types | + + **USE CASE - Video Annotation**: + + ``` + VideoAnnotation + │ + └── has_or_had_detected → DetectedEntity[] + ├── has_or_had_type → TransitionType (FADE_IN, CUT, etc.) + ├── confidence_score → 0.95 + ├── start_time → "00:03:15" + └── end_time → "00:03:17" + ``` + + **USE CASE - Text Detection**: + + ``` + VideoAnnotation + │ + └── has_or_had_detected → DetectedEntity[] + ├── has_or_had_type → TextType (TITLE, CAPTION, etc.) + ├── confidence_score → 0.87 + ├── bounding_box → [x1, y1, x2, y2] + └── has_or_had_label → "Museum Tour" + ``` + + **ONTOLOGY ALIGNMENT**: + + - **PROV-O Entity**: Detected entities are generated by activities + - **W3C Web Annotation**: Compatible with annotation body/target patterns + - **CIDOC-CRM E73_Information_Object**: Information derived from sources + + **RELATIONSHIP TO SLOTS**: + + - `has_or_had_detected`: Links from VideoAnnotation → DetectedEntity[] + - `has_or_had_type`: Links DetectedEntity → TransitionType, TextType, etc. + - Uses shared slots for identifier, label, confidence + + abstract: false + + exact_mappings: + - prov:Entity + + close_mappings: + - crm:E73_Information_Object + - schema:DataDownload + + related_mappings: + - schema:Thing + - crm:E21_Person # For person detection + + slots: + - has_or_had_identifier + - has_or_had_label + - has_or_had_type + - confidence_score + - start_time + - end_time + - bounding_box + + slot_usage: + has_or_had_identifier: + range: string + required: false + description: "Unique identifier for this detection instance" + examples: + - value: "detection-001" + - value: "transition-fade-00:03:15" + + has_or_had_type: + range: string + required: true + description: | + Type of detected entity. Specialize range in subclasses or + slot_usage to reference specific Type classes (TransitionType, TextType, etc.) + examples: + - value: "TransitionType:FADE_IN" + - value: "TextType:TITLE" + + has_or_had_label: + range: string + required: false + description: "Human-readable label for the detected entity (e.g., detected text content)" + examples: + - value: "Museum Tour" + - value: "Opening Credits" + + confidence_score: + range: float + required: false + minimum_value: 0.0 + maximum_value: 1.0 + description: "Detection confidence score (0.0 to 1.0)" + examples: + - value: 0.95 + description: "High confidence detection" + - value: 0.62 + description: "Moderate confidence, may need review" + + start_time: + range: string + required: false + description: "Start timestamp for temporal detections (ISO 8601 or HH:MM:SS format)" + examples: + - value: "00:03:15" + - value: "PT3M15S" + + end_time: + range: string + required: false + description: "End timestamp for temporal detections" + examples: + - value: "00:03:17" + + bounding_box: + range: float + multivalued: true + required: false + description: "Spatial location as [x1, y1, x2, y2] coordinates" + examples: + - value: [100.0, 50.0, 400.0, 150.0] + description: "Bounding box for detected text region" + + annotations: + specificity_score: "0.65" + specificity_rationale: "Fairly specific - detection entities are domain-relevant for media analysis." + template_specificity: '{"collection_discovery": 0.30, "digital_platform": 0.80, "general_heritage": 0.50}' + replaces_pattern: | + Replaces inline transition_types_detected and text_types_detected slots + with structured DetectedEntity → has_or_had_type → Type pattern. + + comments: + - "Base class for automated detection results" + - "Use has_or_had_type to link to specific Type classes (TransitionType, TextType)" + - "Captures detection metadata: confidence, timestamps, bounding boxes" + - "Generated by detection activities (prov:wasGeneratedBy pattern)" + - "Rule 39 compliant: uses has_or_had_* slot naming" + + see_also: + - https://www.w3.org/TR/prov-o/#Entity + - https://www.w3.org/TR/annotation-model/ + - http://www.cidoc-crm.org/cidoc-crm/E73_Information_Object + + examples: + - value: + has_or_had_identifier: "transition-001" + has_or_had_type: "TransitionType:FADE_IN" + confidence_score: 0.95 + start_time: "00:03:15" + end_time: "00:03:17" + description: "Video transition detection (fade in)" + + - value: + has_or_had_identifier: "text-001" + has_or_had_type: "TextType:TITLE" + has_or_had_label: "Museum Tour Guide" + confidence_score: 0.87 + bounding_box: [100.0, 50.0, 400.0, 150.0] + description: "On-screen text detection" diff --git a/schemas/20251121/linkml/modules/classes/EducationCredential.yaml b/schemas/20251121/linkml/modules/classes/EducationCredential.yaml index 9d4958203c..d43add2cb0 100644 --- a/schemas/20251121/linkml/modules/classes/EducationCredential.yaml +++ b/schemas/20251121/linkml/modules/classes/EducationCredential.yaml @@ -26,7 +26,7 @@ imports: - ../slots/template_specificity - ./SpecificityAnnotation - ./TemplateSpecificityScores -- ../slots/has_or_had_activity_or_society_membership +- ../slots/has_or_had_membership default_range: string classes: EducationCredential: @@ -140,8 +140,12 @@ classes: description: Completed in 2017 - value: null description: Ongoing (current student) - has_or_had_activity_or_society_membership: + has_or_had_membership: range: string + description: | + Student activities and society memberships during education. + NOTE: For EducationCredential, this slot is used as a string description + of student activities rather than linking to Membership class instances. examples: - value: Student Museum Association, Heritage Preservation Club education_description: diff --git a/schemas/20251121/linkml/modules/classes/FeatureCustodianType.yaml b/schemas/20251121/linkml/modules/classes/FeatureCustodianType.yaml index c8bafa96e4..d324f1c584 100644 --- a/schemas/20251121/linkml/modules/classes/FeatureCustodianType.yaml +++ b/schemas/20251121/linkml/modules/classes/FeatureCustodianType.yaml @@ -54,7 +54,7 @@ imports: - linkml:types - ./CustodianType - ../slots/has_or_had_access_management -- ../slots/has_or_had_conservation_activity +- ../slots/has_or_had_activity - ../slots/has_or_had_custodian_type - ../slots/feature_type - ../slots/site_portfolio @@ -229,7 +229,7 @@ classes: - schema:CivicStructure slots: - has_or_had_access_management - - has_or_had_conservation_activity + - has_or_had_activity - has_or_had_custodian_type - feature_type - site_portfolio @@ -269,9 +269,14 @@ classes: description: Open memorial site services - value: Timed entry tickets, Multilingual audio guide description: High-capacity monument services - has_or_had_conservation_activity: + has_or_had_activity: range: string required: true + description: | + Conservation and preservation activities performed by the feature custodian. + NOTE: For FeatureCustodianType, this slot is used as a string description + of activities rather than linking to Activity class instances. This is a + legacy usage pattern for this custodian type classification. examples: - value: Monument preservation, Structural repairs, Archaeological research description: English Heritage conservation work diff --git a/schemas/20251121/linkml/modules/classes/OrganizationalUnitType.yaml b/schemas/20251121/linkml/modules/classes/OrganizationalUnitType.yaml new file mode 100644 index 0000000000..8c1fccf2f9 --- /dev/null +++ b/schemas/20251121/linkml/modules/classes/OrganizationalUnitType.yaml @@ -0,0 +1,118 @@ +# OrganizationalUnitType - Abstract base class for organizational unit type classifications +# +# Following the Type/Types naming convention (Rule 0b): +# - OrganizationalUnitType.yaml: Abstract base class defining the type taxonomy +# - OrganizationalUnitTypes.yaml: File containing all concrete subclasses +# +# Generation date: 2026-01-13 +# Rule compliance: 0b (Type/Types naming), 37 (specificity scores), 38 (slot centralization) + +id: https://nde.nl/ontology/hc/class/OrganizationalUnitType +name: OrganizationalUnitType +title: Organizational Unit Type Classification + +prefixes: + linkml: https://w3id.org/linkml/ + hc: https://nde.nl/ontology/hc/ + skos: http://www.w3.org/2004/02/skos/core# + org: http://www.w3.org/ns/org# + schema: http://schema.org/ + +default_prefix: hc + +imports: + - linkml:types + - ../slots/has_or_had_identifier + - ../slots/has_or_had_label + - ../slots/has_or_had_description + - ../slots/has_or_had_short_code + - ../slots/has_or_had_hypernym + - ../slots/has_or_had_hyponym + - ../slots/specificity_annotation + - ../slots/template_specificity + - ./SpecificityAnnotation + - ./TemplateSpecificityScores + +classes: + OrganizationalUnitType: + class_uri: skos:Concept + description: | + Abstract base class for organizational unit type classifications. + + **DEFINITION**: + + OrganizationalUnitType represents CATEGORIES of organizational units/divisions + within heritage institutions. Each subclass defines the typical functions, + responsibilities, and hierarchical position of a unit type. + + **CATEGORY STRUCTURE**: + + 1. **ADMINISTRATIVE**: Management and support + - DIRECTORATE, SECRETARIAT, ADMINISTRATION + + 2. **COLLECTION**: Collection-focused units + - DEPARTMENT, DIVISION, SECTION + + 3. **FUNCTIONAL**: Specialized functions + - CONSERVATION_LAB, DIGITIZATION_UNIT, EDUCATION + + 4. **FACILITY**: Site-based units + - BRANCH, READING_ROOM, STORAGE_FACILITY + + **ONTOLOGY ALIGNMENT**: + + - **W3C Organization Ontology**: org:OrganizationalUnit + - **SKOS Concept**: Type classification vocabulary + - **Schema.org**: Department concepts + + **REPLACES**: unit_type slot with string values + + abstract: true + + exact_mappings: + - skos:Concept + + close_mappings: + - org:OrganizationalUnit + + related_mappings: + - schema:Organization + + slots: + - has_or_had_identifier + - has_or_had_label + - has_or_had_description + - has_or_had_short_code + - has_or_had_hypernym + - has_or_had_hyponym + - specificity_annotation + - template_specificity + + slot_usage: + has_or_had_identifier: + range: uriorcurie + required: true + identifier: true + pattern: "^https://nde\\.nl/ontology/hc/unit-type/[a-z-]+$" + + has_or_had_short_code: + range: string + required: true + pattern: "^[A-Z][A-Z0-9_]*$" + + has_or_had_label: + range: string + required: true + multivalued: true + + annotations: + specificity_score: "0.50" + specificity_rationale: "Moderately specific - organizational structure metadata." + template_specificity: '{"organizational_change": 0.70, "general_heritage": 0.45}' + replaces_slot: "unit_type" + migration_date: "2026-01-13" + + comments: + - "Abstract base class - use specific subclasses" + - "Replaces unit_type slot with class hierarchy" + - "Follows Type/Types naming convention (Rule 0b)" diff --git a/schemas/20251121/linkml/modules/classes/OrganizationalUnitTypes.yaml b/schemas/20251121/linkml/modules/classes/OrganizationalUnitTypes.yaml new file mode 100644 index 0000000000..096db93c25 --- /dev/null +++ b/schemas/20251121/linkml/modules/classes/OrganizationalUnitTypes.yaml @@ -0,0 +1,205 @@ +# OrganizationalUnitTypes - Concrete subclasses of OrganizationalUnitType +# +# Following the Type/Types naming convention (Rule 0b): +# - OrganizationalUnitType.yaml: Abstract base class defining the type taxonomy +# - OrganizationalUnitTypes.yaml: This file - contains all concrete subclasses +# +# Generation date: 2026-01-13 +# Rule compliance: 0b (Type/Types naming), 37 (specificity scores) + +id: https://nde.nl/ontology/hc/class/OrganizationalUnitTypes +name: OrganizationalUnitTypes +title: Organizational Unit Types - Concrete Subclasses + +prefixes: + linkml: https://w3id.org/linkml/ + hc: https://nde.nl/ontology/hc/ + skos: http://www.w3.org/2004/02/skos/core# + +default_prefix: hc + +imports: + - linkml:types + - ./OrganizationalUnitType + +classes: + DirectorateUnitType: + is_a: OrganizationalUnitType + class_uri: hc:DirectorateUnitType + description: | + Unit type for executive/directorate level organizational units. + + **Definition**: Top-level management unit responsible for overall + institutional strategy, governance, and operations. + + slot_usage: + has_or_had_short_code: + equals_string: DIRECTORATE + + annotations: + specificity_score: "0.55" + skos:prefLabel: "Directorate" + skos:altLabel: "directie, Direktion, direction" + + DepartmentUnitType: + is_a: OrganizationalUnitType + class_uri: hc:DepartmentUnitType + description: | + Unit type for major departmental divisions. + + **Definition**: Primary organizational division typically responsible + for a major function or collection area (e.g., Prints & Drawings, + Conservation, Education). + + slot_usage: + has_or_had_short_code: + equals_string: DEPARTMENT + + annotations: + specificity_score: "0.55" + skos:prefLabel: "Department" + skos:altLabel: "afdeling, Abteilung, département" + + DivisionUnitType: + is_a: OrganizationalUnitType + class_uri: hc:DivisionUnitType + description: | + Unit type for sub-departmental divisions. + + **Definition**: Secondary organizational unit within a department, + focused on a specific sub-area or function. + + slot_usage: + has_or_had_short_code: + equals_string: DIVISION + + annotations: + specificity_score: "0.55" + skos:prefLabel: "Division" + skos:altLabel: "divisie, Division" + + SectionUnitType: + is_a: OrganizationalUnitType + class_uri: hc:SectionUnitType + description: | + Unit type for specialized sections within divisions. + + **Definition**: Smaller organizational unit within a division, + often focused on specific materials, periods, or tasks. + + slot_usage: + has_or_had_short_code: + equals_string: SECTION + + annotations: + specificity_score: "0.55" + skos:prefLabel: "Section" + skos:altLabel: "sectie, Sektion" + + ConservationLabUnitType: + is_a: OrganizationalUnitType + class_uri: hc:ConservationLabUnitType + description: | + Unit type for conservation laboratory facilities. + + **Definition**: Specialized unit for conservation treatment, + scientific analysis, and preservation activities. + + slot_usage: + has_or_had_short_code: + equals_string: CONSERVATION_LAB + + annotations: + specificity_score: "0.65" + skos:prefLabel: "Conservation Laboratory" + skos:altLabel: "restauratieatelier, Restaurierungswerkstatt" + + DigitizationUnitType: + is_a: OrganizationalUnitType + class_uri: hc:DigitizationUnitType + description: | + Unit type for digitization operations. + + **Definition**: Unit responsible for digital capture, processing, + and management of digital surrogates. + + slot_usage: + has_or_had_short_code: + equals_string: DIGITIZATION_UNIT + + annotations: + specificity_score: "0.65" + skos:prefLabel: "Digitization Unit" + skos:altLabel: "digitaliseringsteam, Digitalisierungsabteilung" + + EducationUnitType: + is_a: OrganizationalUnitType + class_uri: hc:EducationUnitType + description: | + Unit type for education and public programs. + + **Definition**: Unit responsible for educational programming, + public engagement, and visitor services. + + slot_usage: + has_or_had_short_code: + equals_string: EDUCATION + + annotations: + specificity_score: "0.55" + skos:prefLabel: "Education Unit" + skos:altLabel: "educatie, Bildungsabteilung" + + ReadingRoomUnitType: + is_a: OrganizationalUnitType + class_uri: hc:ReadingRoomUnitType + description: | + Unit type for reading room / research facilities. + + **Definition**: Unit managing researcher access, reference services, + and study room operations. + + slot_usage: + has_or_had_short_code: + equals_string: READING_ROOM + + annotations: + specificity_score: "0.60" + skos:prefLabel: "Reading Room" + skos:altLabel: "studiezaal, Lesesaal" + + BranchUnitType: + is_a: OrganizationalUnitType + class_uri: hc:BranchUnitType + description: | + Unit type for branch/satellite locations. + + **Definition**: Geographically separate unit operating as part + of the main institution but at a different location. + + slot_usage: + has_or_had_short_code: + equals_string: BRANCH + + annotations: + specificity_score: "0.55" + skos:prefLabel: "Branch" + skos:altLabel: "filiaal, Zweigstelle" + + RegistrationUnitType: + is_a: OrganizationalUnitType + class_uri: hc:RegistrationUnitType + description: | + Unit type for collection registration and documentation. + + **Definition**: Unit responsible for collection records, inventory, + accession/deaccession, and documentation standards. + + slot_usage: + has_or_had_short_code: + equals_string: REGISTRATION + + annotations: + specificity_score: "0.60" + skos:prefLabel: "Registration" + skos:altLabel: "registratie, Registratur" diff --git a/schemas/20251121/linkml/modules/classes/ReconstructionActivity.yaml b/schemas/20251121/linkml/modules/classes/ReconstructionActivity.yaml index caa7a35f1e..10bdae6def 100644 --- a/schemas/20251121/linkml/modules/classes/ReconstructionActivity.yaml +++ b/schemas/20251121/linkml/modules/classes/ReconstructionActivity.yaml @@ -18,7 +18,7 @@ imports: - ./CustodianObservation - ./ConfidenceMeasure - ../slots/id -- ../slots/has_activity_type +- ../slots/has_or_had_activity_type - ../slots/method - ../slots/responsible_agent - ../slots/temporal_extent @@ -44,7 +44,7 @@ classes: related_mappings: - crm:E13_Attribute_Assignment slots: - - has_activity_type + - has_or_had_activity_type - confidence_score - id - justification @@ -55,7 +55,7 @@ classes: - temporal_extent - used slot_usage: - has_activity_type: + has_or_had_activity_type: range: ReconstructionActivityTypeEnum method: range: string diff --git a/schemas/20251121/linkml/modules/classes/StatementType.yaml b/schemas/20251121/linkml/modules/classes/StatementType.yaml new file mode 100644 index 0000000000..fed26ea701 --- /dev/null +++ b/schemas/20251121/linkml/modules/classes/StatementType.yaml @@ -0,0 +1,201 @@ +# StatementType - Abstract base class for statement type classifications +# +# Following the Type/Types naming convention (Rule 0b): +# - StatementType.yaml: Abstract base class defining the type taxonomy +# - StatementTypes.yaml: File containing all concrete subclasses +# +# Generation date: 2026-01-13 +# Rule compliance: 0b (Type/Types naming), 37 (specificity scores), 38 (slot centralization) + +id: https://nde.nl/ontology/hc/class/StatementType +name: StatementType +title: Statement Type Classification + +prefixes: + linkml: https://w3id.org/linkml/ + hc: https://nde.nl/ontology/hc/ + skos: http://www.w3.org/2004/02/skos/core# + crm: http://www.cidoc-crm.org/cidoc-crm/ + schema: http://schema.org/ + org: http://www.w3.org/ns/org# + +default_prefix: hc + +imports: + - linkml:types + - ../slots/has_or_had_identifier + - ../slots/has_or_had_label + - ../slots/has_or_had_description + - ../slots/has_or_had_short_code + - ../slots/has_or_had_hypernym + - ../slots/has_or_had_hyponym + - ../slots/specificity_annotation + - ../slots/template_specificity + - ./SpecificityAnnotation + - ./TemplateSpecificityScores + +classes: + StatementType: + class_uri: skos:Concept + description: | + Abstract base class for statement type classifications in heritage organizations. + + **DEFINITION**: + + StatementType represents CATEGORIES of organizational statements, not individual + statement instances. Each subclass defines the characteristics and purpose of + a specific type of organizational statement. + + **CRITICAL: TYPE vs INSTANCE** + + | Aspect | StatementType (This Class) | Statement (Instance) | + |--------|---------------------------|---------------------| + | **Nature** | Classification/category | Individual statement | + | **Examples** | MISSION, VISION, VALUE | "To preserve Dutch cultural heritage..." | + | **Properties** | Category metadata | Actual text, dates | + | **Cardinality** | ~5-7 types | Many instances | + + **CATEGORY STRUCTURE**: + + Statement types define organizational declarations: + + 1. **MISSION**: Core purpose statement + - Why the organization exists + - Fundamental reason for being + - Example: "To collect, preserve, and present..." + + 2. **VISION**: Aspirational future statement + - What the organization aims to achieve + - Long-term aspirations + - Example: "To become the leading heritage institution..." + + 3. **GOAL**: Specific objective statement + - Measurable targets + - Time-bound objectives + - Example: "To digitize 50% of collections by 2030" + + 4. **VALUE**: Guiding principle statement + - How the organization operates + - Core beliefs and ethics + - Example: "Accessibility, Excellence, Innovation" + + 5. **MOTTO**: Brand identity phrase + - Memorable tagline + - Public-facing identity + - Example: "Heritage for All" + + **REPLACES**: StatementTypeEnum from schemas/enums.yaml + + **ONTOLOGY ALIGNMENT**: + + - **SKOS Concept**: Statement types form a controlled vocabulary + - **Schema.org**: Mission/Vision align with organizational properties + - **CIDOC-CRM E55_Type**: Cultural heritage type system + + **SUBCLASSES**: + + See StatementTypes.yaml for concrete statement type subclasses: + - MissionStatementType + - VisionStatementType + - GoalStatementType + - ValueStatementType + - MottoStatementType + + abstract: true + + exact_mappings: + - skos:Concept + + close_mappings: + - crm:E55_Type + - schema:DefinedTerm + + related_mappings: + - org:purpose + - schema:description + + slots: + - has_or_had_identifier + - has_or_had_label + - has_or_had_description + - has_or_had_short_code + - has_or_had_hypernym + - has_or_had_hyponym + - specificity_annotation + - template_specificity + + slot_usage: + has_or_had_identifier: + range: uriorcurie + required: true + identifier: true + pattern: "^https://nde\\.nl/ontology/hc/statement-type/[a-z-]+$" + examples: + - value: https://nde.nl/ontology/hc/statement-type/mission + description: Mission statement type + - value: https://nde.nl/ontology/hc/statement-type/vision + description: Vision statement type + + has_or_had_short_code: + range: string + required: true + pattern: "^[A-Z][A-Z0-9_]*$" + examples: + - value: MISSION + - value: VISION + - value: GOAL + - value: VALUE + - value: MOTTO + + has_or_had_label: + range: string + required: true + multivalued: true + examples: + - value: ["Mission Statement@en", "missieverklaring@nl"] + - value: ["Vision Statement@en", "visieverklaring@nl"] + + has_or_had_description: + range: string + required: false + examples: + - value: "Statement defining the organization's core purpose and reason for existence" + + has_or_had_hypernym: + range: StatementType + required: false + description: "Parent statement type in hierarchy" + + has_or_had_hyponym: + range: StatementType + multivalued: true + required: false + description: "Child statement types in hierarchy" + + annotations: + specificity_score: "0.45" + specificity_rationale: "Moderately specific - statement types are organizational metadata." + template_specificity: '{"organizational_change": 0.60, "general_heritage": 0.40}' + replaces_enum: "StatementTypeEnum" + migration_date: "2026-01-13" + + comments: + - "Abstract base class - use specific subclasses (MissionStatementType, etc.)" + - "Represents STATEMENT TYPES, not statement instances" + - "MissionStatement.has_or_had_type references these type classes" + - "Follows Type/Types naming convention (Rule 0b)" + - "Uses shared slots per Rule 38 (slot centralization)" + + see_also: + - https://www.w3.org/2004/02/skos/ + - https://schema.org/Mission + + examples: + - value: + has_or_had_identifier: https://nde.nl/ontology/hc/statement-type/mission + has_or_had_short_code: MISSION + has_or_had_label: + - Mission Statement@en + - missieverklaring@nl + has_or_had_description: "Statement defining the organization's core purpose" + description: "Mission statement type definition" diff --git a/schemas/20251121/linkml/modules/classes/StatementTypes.yaml b/schemas/20251121/linkml/modules/classes/StatementTypes.yaml new file mode 100644 index 0000000000..ad2851b3b9 --- /dev/null +++ b/schemas/20251121/linkml/modules/classes/StatementTypes.yaml @@ -0,0 +1,179 @@ +# StatementTypes - Concrete subclasses of StatementType +# +# Following the Type/Types naming convention (Rule 0b): +# - StatementType.yaml: Abstract base class defining the type taxonomy +# - StatementTypes.yaml: This file - contains all concrete subclasses +# +# Generation date: 2026-01-13 +# Rule compliance: 0b (Type/Types naming), 37 (specificity scores) + +id: https://nde.nl/ontology/hc/class/StatementTypes +name: StatementTypes +title: Statement Types - Concrete Subclasses + +prefixes: + linkml: https://w3id.org/linkml/ + hc: https://nde.nl/ontology/hc/ + skos: http://www.w3.org/2004/02/skos/core# + schema: http://schema.org/ + +default_prefix: hc + +imports: + - linkml:types + - ./StatementType + +classes: + MissionStatementType: + is_a: StatementType + class_uri: hc:MissionStatementType + description: | + Statement type for organizational mission - core purpose and reason for existence. + + **Definition**: A mission statement defines WHY an organization exists. + It describes the fundamental purpose, the primary functions, and the + target audience or beneficiaries. + + **Characteristics**: + - Present-focused (what we do NOW) + - Action-oriented (concrete activities) + - Audience-aware (who we serve) + + **Heritage Domain Examples**: + - "To collect, preserve, and present Dutch art and history" + - "To safeguard the nation's archival heritage for future generations" + + slot_usage: + has_or_had_short_code: + equals_string: MISSION + has_or_had_identifier: + equals_string: https://nde.nl/ontology/hc/statement-type/mission + + annotations: + specificity_score: "0.50" + specificity_rationale: "Core organizational metadata" + skos:prefLabel: "Mission Statement" + skos:altLabel: "missieverklaring, Leitbild, énoncé de mission" + + VisionStatementType: + is_a: StatementType + class_uri: hc:VisionStatementType + description: | + Statement type for organizational vision - aspirational future state. + + **Definition**: A vision statement describes WHAT an organization aims + to achieve in the future. It provides inspiration and direction for + strategic planning. + + **Characteristics**: + - Future-focused (what we aim to become) + - Aspirational (ideal future state) + - Inspirational (motivates stakeholders) + + **Heritage Domain Examples**: + - "To become the most accessible heritage collection in Europe" + - "A world where cultural heritage is preserved and accessible to all" + + slot_usage: + has_or_had_short_code: + equals_string: VISION + has_or_had_identifier: + equals_string: https://nde.nl/ontology/hc/statement-type/vision + + annotations: + specificity_score: "0.50" + specificity_rationale: "Core organizational metadata" + skos:prefLabel: "Vision Statement" + skos:altLabel: "visieverklaring, Zukunftsvision, énoncé de vision" + + GoalStatementType: + is_a: StatementType + class_uri: hc:GoalStatementType + description: | + Statement type for organizational goals - specific, measurable objectives. + + **Definition**: A goal statement defines SPECIFIC OBJECTIVES the organization + pursues. Goals are typically time-bound and measurable. + + **Characteristics**: + - Specific (concrete outcomes) + - Measurable (quantifiable success criteria) + - Time-bound (target dates) + + **Heritage Domain Examples**: + - "Digitize 100% of paper collection by 2030" + - "Increase annual visitors to 1 million by 2025" + + slot_usage: + has_or_had_short_code: + equals_string: GOAL + has_or_had_identifier: + equals_string: https://nde.nl/ontology/hc/statement-type/goal + + annotations: + specificity_score: "0.55" + specificity_rationale: "Strategic planning metadata" + skos:prefLabel: "Goal Statement" + skos:altLabel: "doelstelling, Zielsetzung, objectif" + + ValueStatementType: + is_a: StatementType + class_uri: hc:ValueStatementType + description: | + Statement type for organizational values - guiding principles and ethics. + + **Definition**: A value statement articulates the PRINCIPLES that guide + how an organization operates. Values inform decision-making and culture. + + **Characteristics**: + - Principle-based (ethical foundations) + - Culture-defining (shapes behavior) + - Enduring (rarely change) + + **Heritage Domain Examples**: + - "Accessibility, Excellence, Innovation, Collaboration" + - "We value authenticity, transparency, and public service" + + slot_usage: + has_or_had_short_code: + equals_string: VALUE + has_or_had_identifier: + equals_string: https://nde.nl/ontology/hc/statement-type/value + + annotations: + specificity_score: "0.50" + specificity_rationale: "Core organizational metadata" + skos:prefLabel: "Value Statement" + skos:altLabel: "kernwaarden, Grundwerte, valeurs fondamentales" + + MottoStatementType: + is_a: StatementType + class_uri: hc:MottoStatementType + description: | + Statement type for organizational motto - memorable tagline or slogan. + + **Definition**: A motto is a SHORT, MEMORABLE phrase that captures + the organization's identity or key message. Used for branding and + public communication. + + **Characteristics**: + - Brief (few words) + - Memorable (easy to recall) + - Identity-focused (brand essence) + + **Heritage Domain Examples**: + - "Heritage for All" + - "Preserving Yesterday, Inspiring Tomorrow" + - "Where History Lives" + + slot_usage: + has_or_had_short_code: + equals_string: MOTTO + has_or_had_identifier: + equals_string: https://nde.nl/ontology/hc/statement-type/motto + + annotations: + specificity_score: "0.45" + specificity_rationale: "Brand identity metadata" + skos:prefLabel: "Motto" + skos:altLabel: "slogan, lijfspreuk, Wahlspruch, devise" diff --git a/schemas/20251121/linkml/modules/classes/TreatmentType.yaml b/schemas/20251121/linkml/modules/classes/TreatmentType.yaml new file mode 100644 index 0000000000..96ac5dd019 --- /dev/null +++ b/schemas/20251121/linkml/modules/classes/TreatmentType.yaml @@ -0,0 +1,206 @@ +# TreatmentType - Abstract base class for conservation treatment type classifications +# +# Following the Type/Types naming convention (Rule 0b): +# - TreatmentType.yaml: Abstract base class defining the type taxonomy +# - TreatmentTypes.yaml: File containing all concrete subclasses +# +# Generation date: 2026-01-13 +# Rule compliance: 0b (Type/Types naming), 37 (specificity scores), 38 (slot centralization) + +id: https://nde.nl/ontology/hc/class/TreatmentType +name: TreatmentType +title: Treatment Type Classification + +prefixes: + linkml: https://w3id.org/linkml/ + hc: https://nde.nl/ontology/hc/ + skos: http://www.w3.org/2004/02/skos/core# + crm: http://www.cidoc-crm.org/cidoc-crm/ + aat: http://vocab.getty.edu/aat/ + premis: http://www.loc.gov/premis/rdf/v3/ + +default_prefix: hc + +imports: + - linkml:types + - ../slots/has_or_had_identifier + - ../slots/has_or_had_label + - ../slots/has_or_had_description + - ../slots/has_or_had_short_code + - ../slots/has_or_had_hypernym + - ../slots/has_or_had_hyponym + - ../slots/wikidata_id + - ../slots/specificity_annotation + - ../slots/template_specificity + - ./SpecificityAnnotation + - ./TemplateSpecificityScores + +classes: + TreatmentType: + class_uri: skos:Concept + description: | + Abstract base class for conservation treatment type classifications. + + **DEFINITION**: + + TreatmentType represents CATEGORIES of conservation treatments, not individual + treatment records. Each subclass defines the characteristics, methods, and + materials associated with a specific type of conservation intervention. + + **CRITICAL: TYPE vs INSTANCE** + + | Aspect | TreatmentType (This Class) | ConservationRecord (Instance) | + |--------|---------------------------|------------------------------| + | **Nature** | Classification/category | Individual treatment | + | **Examples** | CLEANING, STABILIZATION | "2025 cleaning of Painting X" | + | **Properties** | Methods, typical materials | Dates, conservator, details | + | **Cardinality** | ~10-15 types | Many instances | + + **CATEGORY STRUCTURE**: + + Treatment types are organized by conservation function: + + 1. **PREVENTIVE**: Non-interventive preservation + - Environmental controls + - Protective housing + - IPM (Integrated Pest Management) + + 2. **CLEANING**: Surface treatment + - Dry cleaning (brushes, erasers) + - Wet cleaning (aqueous solutions) + - Solvent cleaning + + 3. **STABILIZATION**: Structural consolidation + - Consolidation (adhesives) + - Lining/relining (canvas) + - Backing boards (works on paper) + + 4. **RESTORATION**: Aesthetic reintegration + - Inpainting/retouching + - Fill reconstruction + - Varnishing + + 5. **SPECIALIZED**: Material-specific treatments + - Deacidification (paper) + - Desalination (archaeological) + - Fumigation (textiles, organics) + + **ONTOLOGY ALIGNMENT**: + + - **SKOS Concept**: Treatment types form a controlled vocabulary + - **CIDOC-CRM E11_Modification**: Conservation as modification activity + - **AAT 300404522**: Getty treatments hierarchy + - **PREMIS**: Preservation events vocabulary + + **SUBCLASSES**: + + See TreatmentTypes.yaml for concrete treatment type subclasses. + + abstract: true + + exact_mappings: + - skos:Concept + + close_mappings: + - crm:E55_Type + - aat:300404522 # treatments (general concept) + + related_mappings: + - crm:E11_Modification + - premis:PreservationEvent + + slots: + - has_or_had_identifier + - has_or_had_label + - has_or_had_description + - has_or_had_short_code + - has_or_had_hypernym + - has_or_had_hyponym + - wikidata_id + - specificity_annotation + - template_specificity + + slot_usage: + has_or_had_identifier: + range: uriorcurie + required: true + identifier: true + pattern: "^https://nde\\.nl/ontology/hc/treatment-type/[a-z-]+$" + examples: + - value: https://nde.nl/ontology/hc/treatment-type/cleaning + description: Cleaning treatment type + - value: https://nde.nl/ontology/hc/treatment-type/stabilization + description: Stabilization treatment type + + has_or_had_short_code: + range: string + required: true + pattern: "^[A-Z][A-Z0-9_]*$" + examples: + - value: CLEANING + - value: STABILIZATION + - value: RESTORATION + - value: PREVENTIVE + - value: DEACIDIFICATION + + has_or_had_label: + range: string + required: true + multivalued: true + examples: + - value: ["Cleaning@en", "reiniging@nl", "Reinigung@de"] + - value: ["Stabilization@en", "stabilisatie@nl"] + + has_or_had_description: + range: string + required: false + examples: + - value: "Surface cleaning treatment to remove dirt, grime, and surface accretions" + + wikidata_id: + range: string + pattern: "^Q[0-9]+$" + examples: + - value: Q753445 + description: "Conservation and restoration" + + has_or_had_hypernym: + range: TreatmentType + required: false + description: "Parent treatment type in hierarchy" + + has_or_had_hyponym: + range: TreatmentType + multivalued: true + required: false + description: "Child treatment types in hierarchy" + + annotations: + specificity_score: "0.60" + specificity_rationale: "Fairly specific - conservation treatments are domain-specific to heritage preservation." + template_specificity: '{"collection_discovery": 0.70, "general_heritage": 0.55}' + replaces_slot: "treatment_type" + migration_date: "2026-01-13" + + comments: + - "Abstract base class - use specific subclasses (CleaningTreatmentType, etc.)" + - "Represents TREATMENT TYPES, not treatment records" + - "ConservationRecord.has_or_had_type references these type classes" + - "Follows Type/Types naming convention (Rule 0b)" + - "Aligned with AAT conservation terminology" + + see_also: + - https://www.getty.edu/research/tools/vocabularies/aat/ + - https://www.loc.gov/standards/premis/ + - http://www.cidoc-crm.org/cidoc-crm/E11_Modification + + examples: + - value: + has_or_had_identifier: https://nde.nl/ontology/hc/treatment-type/cleaning + has_or_had_short_code: CLEANING + has_or_had_label: + - Cleaning@en + - reiniging@nl + has_or_had_description: "Surface cleaning treatment to remove dirt and accretions" + wikidata_id: Q2608948 + description: "Cleaning treatment type definition" diff --git a/schemas/20251121/linkml/modules/classes/TreatmentTypes.yaml b/schemas/20251121/linkml/modules/classes/TreatmentTypes.yaml new file mode 100644 index 0000000000..0e6990f830 --- /dev/null +++ b/schemas/20251121/linkml/modules/classes/TreatmentTypes.yaml @@ -0,0 +1,253 @@ +# TreatmentTypes - Concrete subclasses of TreatmentType +# +# Following the Type/Types naming convention (Rule 0b): +# - TreatmentType.yaml: Abstract base class defining the type taxonomy +# - TreatmentTypes.yaml: This file - contains all concrete subclasses +# +# Generation date: 2026-01-13 +# Rule compliance: 0b (Type/Types naming), 37 (specificity scores) + +id: https://nde.nl/ontology/hc/class/TreatmentTypes +name: TreatmentTypes +title: Treatment Types - Concrete Subclasses + +prefixes: + linkml: https://w3id.org/linkml/ + hc: https://nde.nl/ontology/hc/ + skos: http://www.w3.org/2004/02/skos/core# + aat: http://vocab.getty.edu/aat/ + +default_prefix: hc + +imports: + - linkml:types + - ./TreatmentType + +classes: + CleaningTreatmentType: + is_a: TreatmentType + class_uri: hc:CleaningTreatmentType + description: | + Treatment type for surface cleaning interventions. + + **Definition**: Cleaning removes dirt, grime, soot, and other surface + accretions from objects. Methods range from gentle dry cleaning to + aqueous and solvent-based approaches. + + **Methods**: + - Dry cleaning: soft brushes, erasers, smoke sponges + - Aqueous cleaning: water, surfactants + - Solvent cleaning: organic solvents, gels + + **AAT Alignment**: aat:300053109 (cleaning) + + slot_usage: + has_or_had_short_code: + equals_string: CLEANING + + annotations: + specificity_score: "0.65" + aat_id: "300053109" + skos:prefLabel: "Cleaning" + skos:altLabel: "surface cleaning, reiniging, Reinigung" + + StabilizationTreatmentType: + is_a: TreatmentType + class_uri: hc:StabilizationTreatmentType + description: | + Treatment type for structural stabilization and consolidation. + + **Definition**: Stabilization treatments strengthen weakened structures + and prevent further deterioration. Focus is on structural integrity, + not aesthetic appearance. + + **Methods**: + - Consolidation: applying adhesives to friable surfaces + - Lining/relining: reinforcing canvas supports + - Mounting/backing: supporting works on paper + - Facing: protecting paint layers during treatment + + **AAT Alignment**: aat:300053113 (consolidation) + + slot_usage: + has_or_had_short_code: + equals_string: STABILIZATION + + annotations: + specificity_score: "0.65" + aat_id: "300053113" + skos:prefLabel: "Stabilization" + skos:altLabel: "consolidation, stabilisatie, Konsolidierung" + + RestorationTreatmentType: + is_a: TreatmentType + class_uri: hc:RestorationTreatmentType + description: | + Treatment type for aesthetic restoration and reintegration. + + **Definition**: Restoration treatments address aesthetic issues like + losses, discoloration, and missing elements. Goal is visual coherence + while remaining reversible and distinguishable. + + **Methods**: + - Inpainting/retouching: filling color losses + - Fills: reconstructing missing material + - Varnishing: protective and aesthetic coatings + - Compensation: reconstructing missing elements + + **Ethics**: Following ICOM/AIC ethics - reversibility, documentation + + **AAT Alignment**: aat:300053115 (restoration) + + slot_usage: + has_or_had_short_code: + equals_string: RESTORATION + + annotations: + specificity_score: "0.65" + aat_id: "300053115" + skos:prefLabel: "Restoration" + skos:altLabel: "retouching, inpainting, restauratie, Restaurierung" + + PreventiveTreatmentType: + is_a: TreatmentType + class_uri: hc:PreventiveTreatmentType + description: | + Treatment type for preventive conservation measures. + + **Definition**: Preventive conservation minimizes deterioration without + direct intervention on objects. Focus is on controlling the environment + and reducing risk factors. + + **Methods**: + - Environmental controls: climate, light, pollution + - Protective housing: mounts, enclosures, frames + - IPM: Integrated Pest Management + - Handling protocols: gloves, supports + + **AAT Alignment**: aat:300227748 (preventive conservation) + + slot_usage: + has_or_had_short_code: + equals_string: PREVENTIVE + + annotations: + specificity_score: "0.60" + aat_id: "300227748" + skos:prefLabel: "Preventive Conservation" + skos:altLabel: "preventieve conservering, präventive Konservierung" + + DeacidificationTreatmentType: + is_a: TreatmentType + class_uri: hc:DeacidificationTreatmentType + description: | + Treatment type for deacidification of paper-based materials. + + **Definition**: Deacidification neutralizes acids in paper and deposits + an alkaline reserve to slow future deterioration. Essential for + acidic paper from 1850-1990. + + **Methods**: + - Aqueous treatment: washing in alkaline solutions + - Non-aqueous treatment: Wei T'o, Bookkeeper + - Mass deacidification: industrial processes + + **Target Materials**: Books, documents, photographs, newspapers + + **AAT Alignment**: aat:300053108 (deacidification) + + slot_usage: + has_or_had_short_code: + equals_string: DEACIDIFICATION + + annotations: + specificity_score: "0.70" + aat_id: "300053108" + skos:prefLabel: "Deacidification" + skos:altLabel: "ontzuring, Entsäuerung, désacidification" + + ReliningTreatmentType: + is_a: TreatmentType + class_uri: hc:ReliningTreatmentType + description: | + Treatment type for canvas relining of paintings. + + **Definition**: Relining reinforces a weakened original canvas by + adhering a new supporting canvas to the reverse. Traditional + technique for structural stabilization of paintings. + + **Methods**: + - Glue-paste lining (traditional) + - Wax-resin lining + - BEVA lining (modern) + - Loose lining (minimal intervention) + + **AAT Alignment**: aat:300053112 (lining) + + slot_usage: + has_or_had_short_code: + equals_string: RELINING + + annotations: + specificity_score: "0.75" + aat_id: "300053112" + skos:prefLabel: "Relining" + skos:altLabel: "canvas lining, doublering, Doublierung" + + ReframingTreatmentType: + is_a: TreatmentType + class_uri: hc:ReframingTreatmentType + description: | + Treatment type for reframing works of art. + + **Definition**: Reframing provides new protective enclosure for + works including frames, glazing, backing boards, and mounts. + Combines aesthetic presentation with conservation protection. + + **Components**: + - Frame selection/construction + - UV-filtering glazing (glass, acrylic) + - Backing boards (acid-free) + - Mounting systems (hinges, corners) + + **AAT Alignment**: aat:300053118 (framing) + + slot_usage: + has_or_had_short_code: + equals_string: REFRAMING + + annotations: + specificity_score: "0.65" + aat_id: "300053118" + skos:prefLabel: "Reframing" + skos:altLabel: "framing, encadrement, inlijsten" + + FumigationTreatmentType: + is_a: TreatmentType + class_uri: hc:FumigationTreatmentType + description: | + Treatment type for fumigation and pest treatment. + + **Definition**: Fumigation eliminates insect infestations in + collection materials. Modern approaches favor anoxic treatment + over chemical fumigants. + + **Methods**: + - Anoxic treatment: nitrogen, argon atmospheres + - Freezing: low temperature pest control + - Heat treatment: elevated temperatures + - Chemical fumigation (limited use) + + **IPM Integration**: Part of broader pest management strategy + + **AAT Alignment**: aat:300053107 (fumigation) + + slot_usage: + has_or_had_short_code: + equals_string: FUMIGATION + + annotations: + specificity_score: "0.70" + aat_id: "300053107" + skos:prefLabel: "Fumigation" + skos:altLabel: "pest treatment, ontsmetting, Begasung" diff --git a/schemas/20251121/linkml/modules/classes/WarehouseType.yaml b/schemas/20251121/linkml/modules/classes/WarehouseType.yaml new file mode 100644 index 0000000000..07075aeecb --- /dev/null +++ b/schemas/20251121/linkml/modules/classes/WarehouseType.yaml @@ -0,0 +1,198 @@ +# WarehouseType - Abstract base class for warehouse type classifications +# +# Following the Type/Types naming convention (Rule 0b): +# - WarehouseType.yaml: Abstract base class defining the type taxonomy +# - WarehouseTypes.yaml: File containing all concrete subclasses +# +# Generation date: 2026-01-13 +# Rule compliance: 0b (Type/Types naming), 37 (specificity scores), 38 (slot centralization) + +id: https://nde.nl/ontology/hc/class/WarehouseType +name: WarehouseType +title: Warehouse Type Classification + +prefixes: + linkml: https://w3id.org/linkml/ + hc: https://nde.nl/ontology/hc/ + skos: http://www.w3.org/2004/02/skos/core# + crm: http://www.cidoc-crm.org/cidoc-crm/ + schema: http://schema.org/ + premis: http://www.loc.gov/premis/rdf/v3/ + +default_prefix: hc + +imports: + - linkml:types + - ../slots/has_or_had_identifier + - ../slots/has_or_had_label + - ../slots/has_or_had_description + - ../slots/has_or_had_short_code + - ../slots/has_or_had_hypernym + - ../slots/has_or_had_hyponym + - ../slots/wikidata_id + - ../slots/specificity_annotation + - ../slots/template_specificity + - ./SpecificityAnnotation + - ./TemplateSpecificityScores + +classes: + WarehouseType: + class_uri: skos:Concept + description: | + Abstract base class for warehouse type classifications in heritage storage. + + **DEFINITION**: + + WarehouseType represents CATEGORIES of warehouse/depot facilities, not + individual warehouse instances. Each subclass defines the characteristics, + functions, and typical uses of a specific type of heritage storage facility. + + **CRITICAL: TYPE vs INSTANCE** + + | Aspect | WarehouseType (This Class) | Warehouse (Instance) | + |--------|---------------------------|---------------------| + | **Nature** | Classification/category | Individual facility | + | **Examples** | CENTRAL_DEPOT, OFFSITE | "Depot Amersfoort Building A" | + | **Properties** | Category metadata | Location, capacity, contents | + | **Cardinality** | ~8-12 types | Many instances | + + **CATEGORY STRUCTURE**: + + Warehouse types are organized by function and location: + + 1. **LOCATION-BASED**: + - CENTRAL_DEPOT: Main storage at primary site + - OFFSITE_DEPOT: Remote/external storage location + - SATELLITE_DEPOT: Branch location storage + + 2. **FUNCTION-BASED**: + - COLLECTION_STORAGE: General collection materials + - STUDY_STORAGE: Research-accessible storage + - QUARANTINE_DEPOT: Isolation/treatment areas + - TRANSIT_STORAGE: Temporary holding for loans/moves + + 3. **ENVIRONMENTAL-BASED**: + - CLIMATE_CONTROLLED: Full HVAC systems + - COLD_STORAGE_FACILITY: Refrigerated/frozen + - AMBIENT_STORAGE: Minimal environmental control + + 4. **SECURITY-BASED**: + - HIGH_SECURITY_VAULT: Maximum security + - OPEN_STORAGE: Visible/accessible storage + + **ONTOLOGY ALIGNMENT**: + + - **SKOS Concept**: Warehouse types form a controlled vocabulary + - **PREMIS StorageLocation**: Storage environment context + - **CIDOC-CRM E27_Site**: Physical site classification + - **Schema.org Place**: General place/facility typing + + **SUBCLASSES**: + + See WarehouseTypes.yaml for concrete warehouse type subclasses. + + abstract: true + + exact_mappings: + - skos:Concept + + close_mappings: + - crm:E55_Type + - premis:StorageLocation + + related_mappings: + - crm:E27_Site + - schema:Place + + slots: + - has_or_had_identifier + - has_or_had_label + - has_or_had_description + - has_or_had_short_code + - has_or_had_hypernym + - has_or_had_hyponym + - wikidata_id + - specificity_annotation + - template_specificity + + slot_usage: + has_or_had_identifier: + range: uriorcurie + required: true + identifier: true + pattern: "^https://nde\\.nl/ontology/hc/warehouse-type/[a-z-]+$" + examples: + - value: https://nde.nl/ontology/hc/warehouse-type/central-depot + description: Central depot warehouse type + - value: https://nde.nl/ontology/hc/warehouse-type/offsite-depot + description: Offsite depot warehouse type + + has_or_had_short_code: + range: string + required: true + pattern: "^[A-Z][A-Z0-9_]*$" + examples: + - value: CENTRAL_DEPOT + - value: OFFSITE_DEPOT + - value: COLD_STORAGE_FACILITY + - value: HIGH_SECURITY_VAULT + + has_or_had_label: + range: string + required: true + multivalued: true + examples: + - value: ["Central Depot@en", "hoofddepot@nl"] + - value: ["Offsite Storage@en", "externe opslag@nl"] + + has_or_had_description: + range: string + required: false + examples: + - value: "Primary storage facility located at main institutional site" + + wikidata_id: + range: string + pattern: "^Q[0-9]+$" + examples: + - value: Q1191732 + description: "Depot/storage facility" + + has_or_had_hypernym: + range: WarehouseType + required: false + description: "Parent warehouse type in hierarchy" + + has_or_had_hyponym: + range: WarehouseType + multivalued: true + required: false + description: "Child warehouse types in hierarchy" + + annotations: + specificity_score: "0.55" + specificity_rationale: "Moderately specific - warehouse types are infrastructure-related metadata." + template_specificity: '{"collection_discovery": 0.60, "location_browse": 0.65, "general_heritage": 0.50}' + replaces_slot: "warehouse_type" + migration_date: "2026-01-13" + + comments: + - "Abstract base class - use specific subclasses (CentralDepotType, etc.)" + - "Represents WAREHOUSE TYPES, not warehouse instances" + - "Warehouse.has_or_had_type references these type classes" + - "Follows Type/Types naming convention (Rule 0b)" + - "Aligned with PREMIS storage location concepts" + + see_also: + - http://www.loc.gov/premis/rdf/v3/StorageLocation + - http://www.cidoc-crm.org/cidoc-crm/E27_Site + + examples: + - value: + has_or_had_identifier: https://nde.nl/ontology/hc/warehouse-type/central-depot + has_or_had_short_code: CENTRAL_DEPOT + has_or_had_label: + - Central Depot@en + - hoofddepot@nl + has_or_had_description: "Primary storage facility at main institutional site" + description: "Central depot warehouse type definition" diff --git a/schemas/20251121/linkml/modules/classes/WarehouseTypes.yaml b/schemas/20251121/linkml/modules/classes/WarehouseTypes.yaml new file mode 100644 index 0000000000..fb565c80b7 --- /dev/null +++ b/schemas/20251121/linkml/modules/classes/WarehouseTypes.yaml @@ -0,0 +1,243 @@ +# WarehouseTypes - Concrete subclasses of WarehouseType +# +# Following the Type/Types naming convention (Rule 0b): +# - WarehouseType.yaml: Abstract base class defining the type taxonomy +# - WarehouseTypes.yaml: This file - contains all concrete subclasses +# +# Generation date: 2026-01-13 +# Rule compliance: 0b (Type/Types naming), 37 (specificity scores) + +id: https://nde.nl/ontology/hc/class/WarehouseTypes +name: WarehouseTypes +title: Warehouse Types - Concrete Subclasses + +prefixes: + linkml: https://w3id.org/linkml/ + hc: https://nde.nl/ontology/hc/ + skos: http://www.w3.org/2004/02/skos/core# + +default_prefix: hc + +imports: + - linkml:types + - ./WarehouseType + +classes: + CentralDepotType: + is_a: WarehouseType + class_uri: hc:CentralDepotType + description: | + Warehouse type for main/central storage facilities. + + **Definition**: The primary storage facility located at or near the + main institutional site. Houses the majority of collection materials + with full infrastructure support. + + **Characteristics**: + - Primary storage location + - Full climate control + - Direct institutional oversight + - Integrated with main operations + + slot_usage: + has_or_had_short_code: + equals_string: CENTRAL_DEPOT + + annotations: + specificity_score: "0.60" + skos:prefLabel: "Central Depot" + skos:altLabel: "hoofddepot, Zentraldepot, main depot" + + OffsiteDepotType: + is_a: WarehouseType + class_uri: hc:OffsiteDepotType + description: | + Warehouse type for remote/external storage locations. + + **Definition**: Storage facility located away from the main institutional + site. Often used for overflow, less-accessed materials, or specialized + storage needs. + + **Characteristics**: + - Remote from main site + - May be shared facility + - Lower access frequency + - Often cost-optimized + + slot_usage: + has_or_had_short_code: + equals_string: OFFSITE_DEPOT + + annotations: + specificity_score: "0.60" + skos:prefLabel: "Offsite Depot" + skos:altLabel: "externe opslag, Außendepot, remote storage" + + SatelliteDepotType: + is_a: WarehouseType + class_uri: hc:SatelliteDepotType + description: | + Warehouse type for branch/satellite storage locations. + + **Definition**: Storage facility at a branch or satellite location + of the institution. Supports local operations and exhibitions. + + **Characteristics**: + - At branch locations + - Supports local programs + - May have independent climate control + - Coordinated with main depot + + slot_usage: + has_or_had_short_code: + equals_string: SATELLITE_DEPOT + + annotations: + specificity_score: "0.60" + skos:prefLabel: "Satellite Depot" + skos:altLabel: "filiaalopslag, Nebenstelle" + + StudyStorageType: + is_a: WarehouseType + class_uri: hc:StudyStorageType + description: | + Warehouse type for research-accessible storage areas. + + **Definition**: Storage designed to facilitate research access. + Objects are organized for scholarly consultation with adequate + workspace nearby. + + **Characteristics**: + - Research-friendly layout + - Adjacent study space + - Higher access frequency + - Study collection focus + + slot_usage: + has_or_had_short_code: + equals_string: STUDY_STORAGE + + annotations: + specificity_score: "0.65" + skos:prefLabel: "Study Storage" + skos:altLabel: "studiedepot, Studiensammlung, visible storage" + + QuarantineDepotType: + is_a: WarehouseType + class_uri: hc:QuarantineDepotType + description: | + Warehouse type for isolation and quarantine areas. + + **Definition**: Segregated storage for materials requiring isolation + due to pest infestation, contamination, or pending treatment. + + **Characteristics**: + - Isolated from main collection + - Controlled access + - Treatment staging area + - Environmental isolation + + slot_usage: + has_or_had_short_code: + equals_string: QUARANTINE_DEPOT + + annotations: + specificity_score: "0.70" + skos:prefLabel: "Quarantine Depot" + skos:altLabel: "quarantaine depot, Quarantänelager" + + TransitStorageType: + is_a: WarehouseType + class_uri: hc:TransitStorageType + description: | + Warehouse type for temporary/transit holding areas. + + **Definition**: Short-term storage for materials in transit - + incoming acquisitions, outgoing loans, or items being relocated. + + **Characteristics**: + - Temporary holding + - Staging for movement + - Near loading/packing areas + - Short residence time + + slot_usage: + has_or_had_short_code: + equals_string: TRANSIT_STORAGE + + annotations: + specificity_score: "0.60" + skos:prefLabel: "Transit Storage" + skos:altLabel: "transitopslag, Zwischenlager, staging area" + + ColdStorageFacilityType: + is_a: WarehouseType + class_uri: hc:ColdStorageFacilityType + description: | + Warehouse type for refrigerated/frozen storage facilities. + + **Definition**: Climate-controlled facility with refrigeration + or freezing capabilities for temperature-sensitive materials. + + **Characteristics**: + - Sub-ambient temperatures + - Humidity control + - Film, photographs, biological specimens + - Energy-intensive + + slot_usage: + has_or_had_short_code: + equals_string: COLD_STORAGE_FACILITY + + annotations: + specificity_score: "0.70" + skos:prefLabel: "Cold Storage Facility" + skos:altLabel: "koudopslag, Kühlhaus, cold vault" + + HighSecurityVaultType: + is_a: WarehouseType + class_uri: hc:HighSecurityVaultType + description: | + Warehouse type for maximum security storage areas. + + **Definition**: Secure vault for high-value items requiring + maximum protection - precious metals, jewels, rare materials. + + **Characteristics**: + - Maximum physical security + - Access controls + - Environmental monitoring + - Insurance requirements + + slot_usage: + has_or_had_short_code: + equals_string: HIGH_SECURITY_VAULT + + annotations: + specificity_score: "0.75" + skos:prefLabel: "High Security Vault" + skos:altLabel: "schatkamer, Tresor, strong room" + + OpenStorageType: + is_a: WarehouseType + class_uri: hc:OpenStorageType + description: | + Warehouse type for visible/accessible storage areas. + + **Definition**: Storage designed for visibility - either to + the public (visible storage galleries) or staff (open shelving). + + **Characteristics**: + - Visible arrangement + - May be public-facing + - Educational component + - Careful object selection + + slot_usage: + has_or_had_short_code: + equals_string: OPEN_STORAGE + + annotations: + specificity_score: "0.65" + skos:prefLabel: "Open Storage" + skos:altLabel: "zichtdepot, Schaulager, visible storage" diff --git a/schemas/20251121/linkml/modules/slots/following_activity.yaml b/schemas/20251121/linkml/modules/slots/following_activity.yaml deleted file mode 100644 index 3ba267b932..0000000000 --- a/schemas/20251121/linkml/modules/slots/following_activity.yaml +++ /dev/null @@ -1,31 +0,0 @@ -id: https://nde.nl/ontology/hc/slot/following_activity -name: following_activity_slot -title: Following Activity Slot (DEPRECATED) -prefixes: - linkml: https://w3id.org/linkml/ - hc: https://nde.nl/ontology/hc/ - prov: http://www.w3.org/ns/prov# - rico: https://www.ica.org/standards/RiC/ontology# -imports: -- linkml:types -default_prefix: hc -slots: - following_activity: - deprecated: > - DEPRECATED (2026-01-13): Use `is_or_was_succeeded_by` instead. - This slot is replaced by the RiC-O aligned succession slot that - follows the is_or_was_* naming pattern for temporal relationships. - - Migration: Replace `following_activity: ` with - `is_or_was_succeeded_by: []` (note: multivalued). - description: 'DEPRECATED - Use is_or_was_succeeded_by instead. - - CurationActivity that follows and is informed by this one. - Inverse of preceding_activity. - - ' - range: CurationActivity - slot_uri: prov:informed - annotations: - deprecated_date: "2026-01-13" - replaced_by: is_or_was_succeeded_by diff --git a/schemas/20251121/linkml/modules/slots/has_activity_timespan.yaml b/schemas/20251121/linkml/modules/slots/has_activity_timespan.yaml deleted file mode 100644 index d4761d261b..0000000000 --- a/schemas/20251121/linkml/modules/slots/has_activity_timespan.yaml +++ /dev/null @@ -1,51 +0,0 @@ -id: https://nde.nl/ontology/hc/slot/has_activity_timespan -name: has_activity_timespan_slot -title: Has Activity Timespan Slot (DEPRECATED) -prefixes: - crm: http://www.cidoc-crm.org/cidoc-crm/ - hc: https://nde.nl/ontology/hc/ - linkml: https://w3id.org/linkml/ - prov: http://www.w3.org/ns/prov# - rico: https://www.ica.org/standards/RiC/ontology# - schema: http://schema.org/ -imports: -- linkml:types -default_prefix: hc -slots: - has_activity_timespan: - deprecated: > - DEPRECATED (2026-01-13): Use `has_timespan` instead. - This slot is replaced by the generic timespan slot that can be - used across all temporal entities, not just activities. - - Migration: Replace `has_activity_timespan: {...}` with - `has_timespan: {...}` using the TimeSpan class. - description: 'DEPRECATED - Use has_timespan instead. - - Time period during which this activity occurs. - - - CIDOC-CRM: P4_has_time-span for temporal extent. - - - Use TimeSpan class for structured start/end dates. - - ' - range: string - slot_uri: crm:P4_has_time-span - exact_mappings: - - crm:P4_has_time-span - close_mappings: - - schema:duration - - rico:hasDateRange - related_mappings: - - prov:startedAtTime - - prov:endedAtTime - annotations: - custodian_types: '["*"]' - custodian_types_rationale: Applicable to all heritage custodian types. - custodian_types_primary: M - specificity_score: 0.5 - specificity_rationale: Moderately specific slot. - deprecated_date: "2026-01-13" - replaced_by: has_timespan diff --git a/schemas/20251121/linkml/modules/slots/has_activity_type.yaml b/schemas/20251121/linkml/modules/slots/has_activity_type.yaml deleted file mode 100644 index 29b4a56ec6..0000000000 --- a/schemas/20251121/linkml/modules/slots/has_activity_type.yaml +++ /dev/null @@ -1,53 +0,0 @@ -id: https://nde.nl/ontology/hc/slot/has_activity_type -name: has_activity_type_slot -title: Has Activity Type Slot (DEPRECATED) -prefixes: - dcterms: http://purl.org/dc/terms/ - hc: https://nde.nl/ontology/hc/ - linkml: https://w3id.org/linkml/ - rico: https://www.ica.org/standards/RiC/ontology# - schema: http://schema.org/ -imports: -- linkml:types -default_prefix: hc -slots: - has_activity_type: - deprecated: > - DEPRECATED (2026-01-13): Use `has_or_had_activity_type` instead. - This slot is replaced by the standardized activity type slot that - follows RiC-O naming conventions (has_or_had_* pattern for temporal - relationships) and uses ActivityType class hierarchy instead of enum. - - Migration: Replace `has_activity_type: INVENTORY` with - `has_or_had_activity_type: [CurationActivityType]` or specific subclass. - description: 'DEPRECATED - Use has_or_had_activity_type instead. - - Classification of this curation activity from CurationActivityTypeEnum. - - - Dublin Core: dcterms:type for general resource type classification. - - CIDOC-CRM: P2_has_type for activity classification. - - - See CurationActivityTypeEnum for full list of activity types with - - SPECTRUM procedure mappings and AAT alignments. - - ' - range: string - slot_uri: dcterms:type - exact_mappings: - - dcterms:type - close_mappings: - - schema:additionalType - annotations: - custodian_types: '["*"]' - custodian_types_rationale: Applicable to all heritage custodian types. - custodian_types_primary: M - specificity_score: 0.5 - specificity_rationale: Moderately specific slot. - ontology_note: "RiC-O does not define 'hasOrHadActivityType'. Using dcterms:type\ - \ for general type classification." - deprecated_date: "2026-01-13" - replaced_by: has_or_had_activity_type diff --git a/schemas/20251121/linkml/modules/slots/has_or_had_activity_or_society_membership.yaml b/schemas/20251121/linkml/modules/slots/has_or_had_activity_or_society_membership.yaml deleted file mode 100644 index 4629915057..0000000000 --- a/schemas/20251121/linkml/modules/slots/has_or_had_activity_or_society_membership.yaml +++ /dev/null @@ -1,51 +0,0 @@ -id: https://nde.nl/ontology/hc/slot/has_or_had_activity_or_society_membership -name: has_or_had_activity_or_society_membership_slot -title: Has Or Had Activity Or Society Membership Slot (DEPRECATED) -prefixes: - foaf: http://xmlns.com/foaf/0.1/ - hc: https://nde.nl/ontology/hc/ - linkml: https://w3id.org/linkml/ - org: http://www.w3.org/ns/org# - rico: https://www.ica.org/standards/RiC/ontology# - schema: http://schema.org/ -imports: -- linkml:types -default_prefix: hc -slots: - has_or_had_activity_or_society_membership: - deprecated: > - DEPRECATED (2026-01-13): Use `has_or_had_membership` instead. - This slot is replaced by the standardized membership slot that - links to Membership instances (org:Membership class) providing - richer semantic structure for organizational memberships. - - Migration: Replace `has_or_had_activity_or_society_membership: ["Society A"]` with - ```yaml - has_or_had_membership: - - organization: https://nde.nl/ontology/hc/org/society-a - has_or_had_activity_type: [MembershipActivityType] - ``` - description: 'DEPRECATED - Use has_or_had_membership instead. - - Activities and societies during education. - LinkedIn field for extracurricular involvement. - - ' - range: string - multivalued: true - slot_uri: org:memberOf - exact_mappings: - - org:memberOf - close_mappings: - - schema:memberOf - - foaf:member - related_mappings: - - rico:isOrWasMemberOf - annotations: - custodian_types: '["*"]' - custodian_types_rationale: Applicable to all heritage custodian types. - custodian_types_primary: M - specificity_score: 0.5 - specificity_rationale: Moderately specific slot. - deprecated_date: "2026-01-13" - replaced_by: has_or_had_membership diff --git a/schemas/20251121/linkml/modules/slots/has_or_had_conservation_activity.yaml b/schemas/20251121/linkml/modules/slots/has_or_had_conservation_activity.yaml deleted file mode 100644 index 80172c9ac2..0000000000 --- a/schemas/20251121/linkml/modules/slots/has_or_had_conservation_activity.yaml +++ /dev/null @@ -1,52 +0,0 @@ -id: https://nde.nl/ontology/hc/slot/has_or_had_conservation_activity -name: has_or_had_conservation_activity_slot -title: Conservation Activities Slot (DEPRECATED) -prefixes: - linkml: https://w3id.org/linkml/ - hc: https://nde.nl/ontology/hc/ - crm: http://www.cidoc-crm.org/cidoc-crm/ - rico: https://www.ica.org/standards/RiC/ontology# -imports: -- linkml:types -default_prefix: hc -slots: - has_or_had_conservation_activity: - deprecated: > - DEPRECATED (2026-01-13): Use `has_or_had_activity` with `ConservationActivityType` instead. - This slot is replaced by the generic activity slot with appropriate - ActivityType classification. The new approach provides better semantic - clarity and reusability. - - Migration: Replace `has_or_had_conservation_activity: "description"` with - ```yaml - has_or_had_activity: - - has_or_had_activity_type: [ConservationActivityType] - has_activity_description: "description" - ``` - description: | - DEPRECATED - Use has_or_had_activity with ConservationActivityType instead. - - Preservation and maintenance work undertaken to protect physical heritage features. - - Describes the custodian's conservation mission and methods: - - Preventive conservation (monitoring, environmental control, pest management) - - Structural repairs (masonry, roofing, foundations, engineering) - - Materials conservation (stone cleaning, metal stabilization, wood treatment) - - Archaeological research (excavation, documentation, analysis) - - Landscape management (vegetation control, drainage, soil conservation) - - Restoration projects (reconstruction, replication, adaptive reuse) - - Demonstrates technical capacity and heritage stewardship commitment. - - Examples: - - "Annual structural inspections, masonry repairs, drainage maintenance" - - "Archaeological excavation, artifact conservation, site documentation" - - "Vegetation management, erosion control, path restoration" - - "Minimal intervention, monitoring only" - range: string - slot_uri: crm:P16_used_specific_object - close_mappings: - - rico:hasOrHadActivity - annotations: - deprecated_date: "2026-01-13" - replaced_by: "has_or_had_activity with ConservationActivityType" diff --git a/schemas/20251121/linkml/modules/slots/has_or_had_description.yaml b/schemas/20251121/linkml/modules/slots/has_or_had_description.yaml new file mode 100644 index 0000000000..30673e2965 --- /dev/null +++ b/schemas/20251121/linkml/modules/slots/has_or_had_description.yaml @@ -0,0 +1,77 @@ +# has_or_had_description slot +# Generic slot for entity descriptions/definitions +# +# Following RiC-O naming convention (Rule 39): "hasOrHad..." pattern +# for temporal relationships in heritage domain. +# +# Generation date: 2026-01-13 +# Rule compliance: 38 (slot centralization + semantic URI), 39 (RiC-O naming), 42 (no prefix) + +id: https://nde.nl/ontology/hc/slot/has_or_had_description +name: has_or_had_description_slot +title: Has Or Had Description Slot + +prefixes: + linkml: https://w3id.org/linkml/ + hc: https://nde.nl/ontology/hc/ + skos: http://www.w3.org/2004/02/skos/core# + dcterms: http://purl.org/dc/terms/ + schema: http://schema.org/ + +default_prefix: hc + +imports: + - linkml:types + +slots: + has_or_had_description: + slot_uri: skos:definition + description: | + Detailed description or definition of an entity. + + **Temporal Semantics** (RiC-O Pattern): + The "hasOrHad" naming follows RiC-O convention indicating this relationship + may be historical - an entity's description may change over time. + + **Ontological Alignment**: + - **Primary** (`slot_uri`): `skos:definition` - SKOS definition for + formal type/concept definitions + - **Close**: `dcterms:description` - Dublin Core description + - **Related**: `schema:description` - Schema.org description + + **Usage**: + For Type classes, this provides a formal definition of the type. + For instance classes, this provides a description of the specific entity. + + range: string + required: false + multivalued: false + + exact_mappings: + - skos:definition + + close_mappings: + - dcterms:description + + related_mappings: + - schema:description + + annotations: + rico_naming_convention: | + Follows RiC-O "hasOrHad" pattern for temporal predicates. + See Rule 39: Slot Naming Convention (RiC-O Style) + replaces_slots: "storage_type_description" + migration_date: "2026-01-13" + + comments: + - "Generic description slot for type classes and entities" + - "Maps to skos:definition for formal type definitions" + - "Maps to dcterms:description for instance descriptions" + - "RiC-O naming: hasOrHad indicates potentially historical relationship" + + examples: + - value: | + Specialized climate-controlled facility for archival documents, + manuscripts, and records. Maintains stable temperature and + humidity optimal for paper and parchment preservation. + description: "Description of archive depot storage type" diff --git a/schemas/20251121/linkml/modules/slots/has_or_had_detected.yaml b/schemas/20251121/linkml/modules/slots/has_or_had_detected.yaml new file mode 100644 index 0000000000..42be5a3e3c --- /dev/null +++ b/schemas/20251121/linkml/modules/slots/has_or_had_detected.yaml @@ -0,0 +1,89 @@ +# has_or_had_detected slot +# Generic slot for linking analysis results to detected entities +# +# Following RiC-O naming convention (Rule 39): "hasOrHad..." pattern +# for temporal relationships in heritage domain. +# +# Generation date: 2026-01-13 +# Rule compliance: 38 (slot centralization + semantic URI), 39 (RiC-O naming), 42 (no prefix) + +id: https://nde.nl/ontology/hc/slot/has_or_had_detected +name: has_or_had_detected_slot +title: Has Or Had Detected Slot + +prefixes: + linkml: https://w3id.org/linkml/ + hc: https://nde.nl/ontology/hc/ + prov: http://www.w3.org/ns/prov# + schema: http://schema.org/ + nfo: http://www.semanticdesktop.org/ontologies/2007/03/22/nfo# + +default_prefix: hc + +imports: + - linkml:types + +slots: + has_or_had_detected: + slot_uri: prov:generated + description: | + Links analysis/observation results to entities that were detected. + + **Temporal Semantics** (RiC-O Pattern): + The "hasOrHad" naming follows RiC-O convention indicating this relationship + may be historical - detection results may be superseded by later analysis. + + **Ontological Alignment**: + - **Primary** (`slot_uri`): `prov:generated` - PROV-O predicate indicating + that an activity generated an entity (detection result) + - **Related**: `schema:result` - Schema.org action result + + **Usage**: + For analysis classes (like VideoAnnotation, TextOCR, AudioAnalysis), + this links the analysis to DetectedEntity instances, which in turn + have their type specified via has_or_had_type. + + **Pattern**: + ``` + VideoAnalysis + └── has_or_had_detected → DetectedEntity + └── has_or_had_type → TransitionType, TextType, etc. + ``` + + This replaces the compound slots like transition_types_detected and + text_types_detected with a more semantic model. + + **Cardinality**: + Multivalued - an analysis may detect multiple entities. + + range: string + required: false + multivalued: true + inlined_as_list: true + + exact_mappings: + - prov:generated + + related_mappings: + - schema:result + + annotations: + rico_naming_convention: | + Follows RiC-O "hasOrHad" pattern for temporal predicates. + See Rule 39: Slot Naming Convention (RiC-O Style) + replaces_slots: "transition_types_detected, text_types_detected" + migration_date: "2026-01-13" + + comments: + - "Generic detection slot for analysis/observation results" + - "Links analysis to DetectedEntity instances" + - "DetectedEntity instances have type via has_or_had_type" + - "Replaces compound slots like transition_types_detected" + - "Multivalued: analyses may detect multiple entities" + - "RiC-O naming: hasOrHad indicates potentially historical relationship" + + examples: + - value: DetectedEntity:transition_001 + description: "A detected scene transition" + - value: DetectedEntity:text_region_005 + description: "A detected text region in video" diff --git a/schemas/20251121/linkml/modules/slots/has_or_had_hypernym.yaml b/schemas/20251121/linkml/modules/slots/has_or_had_hypernym.yaml new file mode 100644 index 0000000000..a5ed9d2ee7 --- /dev/null +++ b/schemas/20251121/linkml/modules/slots/has_or_had_hypernym.yaml @@ -0,0 +1,74 @@ +# has_or_had_hypernym slot +# Generic slot for broader/parent type in classification hierarchies +# +# Following RiC-O naming convention (Rule 39): "hasOrHad..." pattern +# for temporal relationships in heritage domain. +# +# Generation date: 2026-01-13 +# Rule compliance: 38 (slot centralization + semantic URI), 39 (RiC-O naming), 42 (no prefix) + +id: https://nde.nl/ontology/hc/slot/has_or_had_hypernym +name: has_or_had_hypernym_slot +title: Has Or Had Hypernym Slot + +prefixes: + linkml: https://w3id.org/linkml/ + hc: https://nde.nl/ontology/hc/ + skos: http://www.w3.org/2004/02/skos/core# + rdfs: http://www.w3.org/2000/01/rdf-schema# + +default_prefix: hc + +imports: + - linkml:types + +slots: + has_or_had_hypernym: + slot_uri: skos:broader + description: | + Parent type in a classification hierarchy (hypernym/broader concept). + + **Temporal Semantics** (RiC-O Pattern): + The "hasOrHad" naming follows RiC-O convention indicating this relationship + may be historical - a type's parent may change if hierarchy is reorganized. + + **Ontological Alignment**: + - **Primary** (`slot_uri`): `skos:broader` - SKOS broader for + superordinate concepts in classification hierarchies + - **Related**: `rdfs:subClassOf` - RDF Schema subclass relationship + + **Usage**: + For Type classes, this links a more specific type to its parent type. + Example: "Cold Storage" has broader "Climate-Controlled Storage" + + **Transitivity**: + skos:broader is transitive - if A broader B, and B broader C, then A broader C. + Use skos:broaderTransitive explicitly if transitive closure is needed. + + range: string + required: false + multivalued: false + + exact_mappings: + - skos:broader + + related_mappings: + - rdfs:subClassOf + + annotations: + rico_naming_convention: | + Follows RiC-O "hasOrHad" pattern for temporal predicates. + See Rule 39: Slot Naming Convention (RiC-O Style) + replaces_slots: "storage_type_broader" + migration_date: "2026-01-13" + + comments: + - "Generic hypernym slot for type classification hierarchies" + - "Maps to skos:broader for parent/superordinate concept" + - "Links more specific types to more general types" + - "Transitive: if A broader B, B broader C, then A broader C" + - "RiC-O naming: hasOrHad indicates potentially historical relationship" + + examples: + - value: https://nde.nl/ontology/hc/storage-type/climate-controlled + description: "Climate controlled is the broader type for cold storage" diff --git a/schemas/20251121/linkml/modules/slots/has_or_had_hyponym.yaml b/schemas/20251121/linkml/modules/slots/has_or_had_hyponym.yaml new file mode 100644 index 0000000000..9f0b5a2211 --- /dev/null +++ b/schemas/20251121/linkml/modules/slots/has_or_had_hyponym.yaml @@ -0,0 +1,78 @@ +# has_or_had_hyponym slot +# Generic slot for narrower/child types in classification hierarchies +# +# Following RiC-O naming convention (Rule 39): "hasOrHad..." pattern +# for temporal relationships in heritage domain. +# +# Generation date: 2026-01-13 +# Rule compliance: 38 (slot centralization + semantic URI), 39 (RiC-O naming), 42 (no prefix) + +id: https://nde.nl/ontology/hc/slot/has_or_had_hyponym +name: has_or_had_hyponym_slot +title: Has Or Had Hyponym Slot + +prefixes: + linkml: https://w3id.org/linkml/ + hc: https://nde.nl/ontology/hc/ + skos: http://www.w3.org/2004/02/skos/core# + rdfs: http://www.w3.org/2000/01/rdf-schema# + +default_prefix: hc + +imports: + - linkml:types + +slots: + has_or_had_hyponym: + slot_uri: skos:narrower + description: | + Child types in a classification hierarchy (hyponyms/narrower concepts). + + **Temporal Semantics** (RiC-O Pattern): + The "hasOrHad" naming follows RiC-O convention indicating this relationship + may be historical - a type's children may change if hierarchy is reorganized. + + **Ontological Alignment**: + - **Primary** (`slot_uri`): `skos:narrower` - SKOS narrower for + subordinate concepts in classification hierarchies + - **Related**: `rdfs:subClassOf` (inverse) - RDF Schema superclass relationship + + **Usage**: + For Type classes, this links a more general type to its child types. + Example: "Climate-Controlled Storage" has narrower "Cold Storage", "Art Storage" + + **Cardinality**: + Multivalued - a parent type may have multiple child types. + + **Transitivity**: + skos:narrower is transitive - if A narrower B, and B narrower C, then A narrower C. + Use skos:narrowerTransitive explicitly if transitive closure is needed. + + range: string + required: false + multivalued: true + inlined_as_list: true + + exact_mappings: + - skos:narrower + + annotations: + rico_naming_convention: | + Follows RiC-O "hasOrHad" pattern for temporal predicates. + See Rule 39: Slot Naming Convention (RiC-O Style) + replaces_slots: "storage_type_narrower" + migration_date: "2026-01-13" + + comments: + - "Generic hyponym slot for type classification hierarchies" + - "Maps to skos:narrower for child/subordinate concepts" + - "Links more general types to more specific types" + - "Multivalued: parent types may have multiple children" + - "Transitive: if A narrower B, B narrower C, then A narrower C" + - "RiC-O naming: hasOrHad indicates potentially historical relationship" + + examples: + - value: + - https://nde.nl/ontology/hc/storage-type/cold-storage + - https://nde.nl/ontology/hc/storage-type/art-storage + description: "Child types of climate-controlled storage" diff --git a/schemas/20251121/linkml/modules/slots/has_or_had_identifier.yaml b/schemas/20251121/linkml/modules/slots/has_or_had_identifier.yaml new file mode 100644 index 0000000000..0f123ec886 --- /dev/null +++ b/schemas/20251121/linkml/modules/slots/has_or_had_identifier.yaml @@ -0,0 +1,75 @@ +# has_or_had_identifier slot +# Generic slot for entity identifiers +# +# Following RiC-O naming convention (Rule 39): "hasOrHad..." pattern +# for temporal relationships in heritage domain. +# +# Generation date: 2026-01-13 +# Rule compliance: 38 (slot centralization + semantic URI), 39 (RiC-O naming), 42 (no prefix) + +id: https://nde.nl/ontology/hc/slot/has_or_had_identifier +name: has_or_had_identifier_slot +title: Has Or Had Identifier Slot + +prefixes: + linkml: https://w3id.org/linkml/ + hc: https://nde.nl/ontology/hc/ + dcterms: http://purl.org/dc/terms/ + schema: http://schema.org/ + adms: http://www.w3.org/ns/adms# + +default_prefix: hc + +imports: + - linkml:types + +slots: + has_or_had_identifier: + slot_uri: dcterms:identifier + description: | + Unique identifier for an entity. + + **Temporal Semantics** (RiC-O Pattern): + The "hasOrHad" naming follows RiC-O convention indicating this relationship + may be historical - an entity may have changed identifiers over time. + + **Ontological Alignment**: + - **Primary** (`slot_uri`): `dcterms:identifier` - Dublin Core identifier + - **Close**: `schema:identifier` - Schema.org identifier + - **Related**: `adms:identifier` - ADMS identifier for interoperability + + **Format**: + Typically a URI or CURIE following NDE Heritage Custodian ontology conventions. + Format: https://nde.nl/ontology/hc/{type-class}/{slug} + + range: uriorcurie + required: false + multivalued: false + + exact_mappings: + - dcterms:identifier + + close_mappings: + - schema:identifier + + related_mappings: + - adms:identifier + + annotations: + rico_naming_convention: | + Follows RiC-O "hasOrHad" pattern for temporal predicates. + See Rule 39: Slot Naming Convention (RiC-O Style) + replaces_slots: "storage_type_id" + migration_date: "2026-01-13" + + comments: + - "Generic identifier slot for type classes and entities" + - "Typically used as the primary identifier for Type class instances" + - "Format should follow NDE HC ontology URI conventions" + - "RiC-O naming: hasOrHad indicates potentially historical relationship" + + examples: + - value: https://nde.nl/ontology/hc/storage-type/archive-depot + description: "Archive depot storage type identifier" + - value: https://nde.nl/ontology/hc/zone-type/climate-controlled + description: "Climate controlled zone type identifier" diff --git a/schemas/20251121/linkml/modules/slots/has_or_had_label.yaml b/schemas/20251121/linkml/modules/slots/has_or_had_label.yaml new file mode 100644 index 0000000000..e11a50a76a --- /dev/null +++ b/schemas/20251121/linkml/modules/slots/has_or_had_label.yaml @@ -0,0 +1,78 @@ +# has_or_had_label slot +# Generic slot for entity labels +# +# Following RiC-O naming convention (Rule 39): "hasOrHad..." pattern +# for temporal relationships in heritage domain. +# +# Generation date: 2026-01-13 +# Rule compliance: 38 (slot centralization + semantic URI), 39 (RiC-O naming), 42 (no prefix) + +id: https://nde.nl/ontology/hc/slot/has_or_had_label +name: has_or_had_label_slot +title: Has Or Had Label Slot + +prefixes: + linkml: https://w3id.org/linkml/ + hc: https://nde.nl/ontology/hc/ + skos: http://www.w3.org/2004/02/skos/core# + rdfs: http://www.w3.org/2000/01/rdf-schema# + schema: http://schema.org/ + +default_prefix: hc + +imports: + - linkml:types + +slots: + has_or_had_label: + slot_uri: skos:prefLabel + description: | + Human-readable label for an entity. + + **Temporal Semantics** (RiC-O Pattern): + The "hasOrHad" naming follows RiC-O convention indicating this relationship + may be historical - an entity's label may change over time (name changes). + + **Ontological Alignment**: + - **Primary** (`slot_uri`): `skos:prefLabel` - SKOS preferred label for + controlled vocabulary terms + - **Close**: `rdfs:label` - RDF Schema label + - **Related**: `schema:name` - Schema.org name + + **Usage**: + For Type classes, this provides the preferred lexical label. + For multilingual support, use with language tags (e.g., "Archive Depot@en"). + + range: string + required: false + multivalued: true + + exact_mappings: + - skos:prefLabel + + close_mappings: + - rdfs:label + + related_mappings: + - schema:name + + annotations: + rico_naming_convention: | + Follows RiC-O "hasOrHad" pattern for temporal predicates. + See Rule 39: Slot Naming Convention (RiC-O Style) + replaces_slots: "storage_type_label" + migration_date: "2026-01-13" + + comments: + - "Generic label slot for type classes and entities" + - "Maps to skos:prefLabel as preferred lexical label" + - "Multivalued for multilingual labels (with language tags)" + - "RiC-O naming: hasOrHad indicates potentially historical relationship" + + examples: + - value: Archive Depot + description: "English label for archive depot storage type" + - value: Archiefbewaarplaats@nl + description: "Dutch label with language tag" + - value: Archivlager@de + description: "German label with language tag" diff --git a/schemas/20251121/linkml/modules/slots/has_or_had_short_code.yaml b/schemas/20251121/linkml/modules/slots/has_or_had_short_code.yaml new file mode 100644 index 0000000000..e19a13c9fc --- /dev/null +++ b/schemas/20251121/linkml/modules/slots/has_or_had_short_code.yaml @@ -0,0 +1,78 @@ +# has_or_had_short_code slot +# Generic slot for short codes (notation) for type classifications +# +# Following RiC-O naming convention (Rule 39): "hasOrHad..." pattern +# for temporal relationships in heritage domain. +# +# Generation date: 2026-01-13 +# Rule compliance: 38 (slot centralization + semantic URI), 39 (RiC-O naming), 42 (no prefix) + +id: https://nde.nl/ontology/hc/slot/has_or_had_short_code +name: has_or_had_short_code_slot +title: Has Or Had Short Code Slot + +prefixes: + linkml: https://w3id.org/linkml/ + hc: https://nde.nl/ontology/hc/ + skos: http://www.w3.org/2004/02/skos/core# + dcterms: http://purl.org/dc/terms/ + +default_prefix: hc + +imports: + - linkml:types + +slots: + has_or_had_short_code: + slot_uri: skos:notation + description: | + Short code or notation for a type classification. + + **Temporal Semantics** (RiC-O Pattern): + The "hasOrHad" naming follows RiC-O convention indicating this relationship + may be historical - a type's code may change over time. + + **Ontological Alignment**: + - **Primary** (`slot_uri`): `skos:notation` - SKOS notation for + coding system identifiers + - **Related**: `dcterms:identifier` - Dublin Core identifier + + **Format**: + Typically uppercase with underscores (e.g., ARCHIVE_DEPOT, COLD_STORAGE). + Codes align with enum values for backward compatibility. + + **Pattern**: + ^[A-Z][A-Z0-9_]*$ - Uppercase letters, digits, and underscores + + range: string + required: false + multivalued: false + pattern: "^[A-Z][A-Z0-9_]*$" + + exact_mappings: + - skos:notation + + related_mappings: + - dcterms:identifier + + annotations: + rico_naming_convention: | + Follows RiC-O "hasOrHad" pattern for temporal predicates. + See Rule 39: Slot Naming Convention (RiC-O Style) + replaces_slots: "storage_type_code" + migration_date: "2026-01-13" + + comments: + - "Generic short code slot for type classifications" + - "Maps to skos:notation for controlled vocabulary codes" + - "Pattern: uppercase with underscores (ARCHIVE_DEPOT)" + - "Codes align with enum values for backward compatibility" + - "RiC-O naming: hasOrHad indicates potentially historical relationship" + + examples: + - value: ARCHIVE_DEPOT + description: "Archive depot storage type code" + - value: COLD_STORAGE + description: "Cold storage type code" + - value: CLIMATE_CONTROLLED + description: "Climate controlled zone type code" diff --git a/schemas/20251121/linkml/modules/slots/has_or_had_type.yaml b/schemas/20251121/linkml/modules/slots/has_or_had_type.yaml new file mode 100644 index 0000000000..d9515726ff --- /dev/null +++ b/schemas/20251121/linkml/modules/slots/has_or_had_type.yaml @@ -0,0 +1,95 @@ +# has_or_had_type slot +# Generic slot for linking entities to their type classifications +# +# Following RiC-O naming convention (Rule 39): "hasOrHad..." pattern +# for temporal relationships in heritage domain. +# +# Generation date: 2026-01-13 +# Rule compliance: 38 (slot centralization + semantic URI), 39 (RiC-O naming), 42 (no prefix) + +id: https://nde.nl/ontology/hc/slot/has_or_had_type +name: has_or_had_type_slot +title: Has Or Had Type Slot + +prefixes: + linkml: https://w3id.org/linkml/ + hc: https://nde.nl/ontology/hc/ + crm: http://www.cidoc-crm.org/cidoc-crm/ + skos: http://www.w3.org/2004/02/skos/core# + dcterms: http://purl.org/dc/terms/ + schema: http://schema.org/ + +default_prefix: hc + +imports: + - linkml:types + +slots: + has_or_had_type: + slot_uri: crm:P2_has_type + description: | + The type classification(s) of an entity within the heritage domain. + + **Temporal Semantics** (RiC-O Pattern): + The "hasOrHad" naming follows RiC-O convention indicating this relationship + may be historical - an entity may have been reclassified over time. + + **Ontological Alignment**: + - **Primary** (`slot_uri`): `crm:P2_has_type` - CIDOC-CRM predicate for + typing entities using controlled vocabularies + - **Close**: `dcterms:type` - Dublin Core type predicate + - **Related**: `schema:additionalType` - Schema.org for web semantics + + **Usage**: + This is a GENERIC slot intended for reuse across multiple classes. + Classes should specialize the range in slot_usage to reference the + appropriate Type class hierarchy (e.g., StorageType, ZoneType, etc.). + + **Cardinality**: + Multivalued - entities may have multiple type classifications. + + range: string + required: false + multivalued: true + inlined_as_list: true + + exact_mappings: + # crm:P2_has_type - CIDOC-CRM + # "This property allows sub typing of CIDOC CRM entities." + - crm:P2_has_type + + close_mappings: + # dcterms:type - Dublin Core + - dcterms:type + + related_mappings: + # schema:additionalType - Schema.org + - schema:additionalType + + # skos:broader - SKOS (for hierarchical type relationships) + - skos:broader + + annotations: + rico_naming_convention: | + Follows RiC-O "hasOrHad" pattern for temporal predicates. + See Rule 39: Slot Naming Convention (RiC-O Style) + replaces_slots: | + zone_type, warehouse_type, unit_type, treatment_type, storage_type, + statement_type, sub_guide_type, wikidata_mapping_type + migration_date: "2026-01-13" + predicate_clarification: | + slot_uri references a PREDICATE (crm:P2_has_type), not a class. + The range should be specialized per class to reference appropriate Type classes. + + comments: + - "Generic type slot for reuse across multiple classes" + - "Specialize range in slot_usage for specific Type class hierarchies" + - "slot_uri=crm:P2_has_type is a PREDICATE, not a class" + - "RiC-O naming: hasOrHad indicates potentially historical relationship" + - "Multivalued: entities may have multiple type classifications" + + examples: + - value: StorageType:ARCHIVE_DEPOT + description: "Storage typed as archive depot" + - value: ZoneType:CLIMATE_CONTROLLED + description: "Environmental zone type" diff --git a/schemas/20251121/linkml/modules/slots/is_or_was_related_to.yaml b/schemas/20251121/linkml/modules/slots/is_or_was_related_to.yaml new file mode 100644 index 0000000000..df82892a2a --- /dev/null +++ b/schemas/20251121/linkml/modules/slots/is_or_was_related_to.yaml @@ -0,0 +1,86 @@ +# is_or_was_related_to slot +# Generic slot for non-hierarchical associations between entities +# +# Following RiC-O naming convention (Rule 39): "isOrWas..." pattern +# for temporal relationships in heritage domain. +# +# Generation date: 2026-01-13 +# Rule compliance: 38 (slot centralization + semantic URI), 39 (RiC-O naming), 42 (no prefix) + +id: https://nde.nl/ontology/hc/slot/is_or_was_related_to +name: is_or_was_related_to_slot +title: Is Or Was Related To Slot + +prefixes: + linkml: https://w3id.org/linkml/ + hc: https://nde.nl/ontology/hc/ + skos: http://www.w3.org/2004/02/skos/core# + dcterms: http://purl.org/dc/terms/ + schema: http://schema.org/ + +default_prefix: hc + +imports: + - linkml:types + +slots: + is_or_was_related_to: + slot_uri: skos:related + description: | + Non-hierarchical association with another entity. + + **Temporal Semantics** (RiC-O Pattern): + The "isOrWas" naming follows RiC-O convention indicating this relationship + may be historical - associations may change over time. + + **Ontological Alignment**: + - **Primary** (`slot_uri`): `skos:related` - SKOS related for + associative (non-hierarchical) relationships + - **Related**: `dcterms:relation` - Dublin Core relation + - **Related**: `schema:relatedTo` - Schema.org related + + **Usage**: + For Type classes, this links types that have conceptual associations + but no hierarchical relationship (neither broader nor narrower). + + Example: "Art Storage" related to "Conservation Lab" - both deal with + art preservation but neither is a subtype of the other. + + **Symmetry**: + skos:related is symmetric - if A related B, then B related A. + + **Cardinality**: + Multivalued - an entity may have multiple associations. + + range: string + required: false + multivalued: true + inlined_as_list: true + + exact_mappings: + - skos:related + + related_mappings: + - dcterms:relation + - schema:relatedTo + + annotations: + rico_naming_convention: | + Follows RiC-O "isOrWas" pattern for temporal predicates. + See Rule 39: Slot Naming Convention (RiC-O Style) + replaces_slots: "storage_type_related" + migration_date: "2026-01-13" + + comments: + - "Generic association slot for non-hierarchical relationships" + - "Maps to skos:related for associative relationships" + - "Symmetric: if A related B, then B related A" + - "Multivalued: entities may have multiple associations" + - "Distinct from has_or_had_hypernym/hyponym (hierarchical)" + - "RiC-O naming: isOrWas indicates potentially historical relationship" + + examples: + - value: + - https://nde.nl/ontology/hc/storage-type/conservation-lab + - https://nde.nl/ontology/hc/storage-type/quarantine-storage + description: "Types related to art storage (non-hierarchical)"