chore: update generated timestamp in manifest.json

This commit is contained in:
kempersc 2026-01-16 13:27:42 +01:00
parent 24cddb82dc
commit 620b521f1b
41 changed files with 254 additions and 31 deletions

View file

@ -1,12 +1,12 @@
{ {
"generated": "2026-01-16T10:27:10.772Z", "generated": "2026-01-16T12:05:04.981Z",
"schemaRoot": "/schemas/20251121/linkml", "schemaRoot": "/schemas/20251121/linkml",
"totalFiles": 3006, "totalFiles": 3007,
"categoryCounts": { "categoryCounts": {
"main": 4, "main": 4,
"class": 818, "class": 818,
"enum": 152, "enum": 152,
"slot": 2028, "slot": 2029,
"module": 4 "module": 4
}, },
"categories": [ "categories": [
@ -9637,6 +9637,11 @@
"path": "modules/slots/has_or_had_requirement.yaml", "path": "modules/slots/has_or_had_requirement.yaml",
"category": "slot" "category": "slot"
}, },
{
"name": "has_or_had_requirement_status",
"path": "modules/slots/has_or_had_requirement_status.yaml",
"category": "slot"
},
{ {
"name": "has_or_had_research_attempt", "name": "has_or_had_research_attempt",
"path": "modules/slots/has_or_had_research_attempt.yaml", "path": "modules/slots/has_or_had_research_attempt.yaml",

View file

@ -45,7 +45,8 @@ imports:
- ../enums/SetpointTypeEnum - ../enums/SetpointTypeEnum
- ../slots/template_specificity - ../slots/template_specificity
# REMOVED 2026-01-14: ../slots/uv_filtered_required - migrated to is_or_was_required with RequirementStatus # REMOVED 2026-01-14: ../slots/uv_filtered_required - migrated to is_or_was_required with RequirementStatus
- ../slots/is_or_was_required # MIGRATED 2026-01-16: is_or_was_required → has_or_had_requirement_status (range: RequirementStatus)
- ../slots/has_or_had_requirement_status
- ./RequirementStatus - ./RequirementStatus
- ./SpecificityAnnotation - ./SpecificityAnnotation
- ./TemplateSpecificityScores - ./TemplateSpecificityScores
@ -110,7 +111,8 @@ classes:
- temperature_tolerance - temperature_tolerance
- template_specificity - template_specificity
# REMOVED 2026-01-14: uv_filtered_required - migrated to is_or_was_required with RequirementStatus # REMOVED 2026-01-14: uv_filtered_required - migrated to is_or_was_required with RequirementStatus
- is_or_was_required # MIGRATED 2026-01-16: is_or_was_required → has_or_had_requirement_status
- has_or_had_requirement_status
slot_usage: slot_usage:
policy_id: policy_id:
range: uriorcurie range: uriorcurie
@ -194,12 +196,13 @@ classes:
# range: boolean # range: boolean
# examples: # examples:
# - value: true # - value: true
is_or_was_required: # MIGRATED 2026-01-16: is_or_was_required → has_or_had_requirement_status
range: RequirementStatus has_or_had_requirement_status:
inlined: true
description: | description: |
Whether UV-filtered lighting is required for this storage policy. Whether UV-filtered lighting is required for this storage policy.
MIGRATED 2026-01-14: Replaces uv_filtered_required slot. MIGRATED 2026-01-14: Replaces uv_filtered_required slot.
MIGRATED 2026-01-16: Renamed from is_or_was_required to has_or_had_requirement_status
to resolve OWL ambiguous type warning (base slot has range: boolean).
examples: examples:
- value: | - value: |
RequirementStatus: RequirementStatus:
@ -312,7 +315,7 @@ classes:
humidity_target: 50.0 humidity_target: 50.0
humidity_tolerance: 5.0 humidity_tolerance: 5.0
light_max_lux: 50.0 light_max_lux: 50.0
is_or_was_required: # was: uv_filtered_required has_or_had_requirement_status: # MIGRATED 2026-01-16: was is_or_was_required
is_required: true is_required: true
requirement_type: uv_filtered_lighting requirement_type: uv_filtered_lighting
pest_management_required: true pest_management_required: true
@ -350,7 +353,7 @@ classes:
humidity_target: 30.0 humidity_target: 30.0
humidity_tolerance: 5.0 humidity_tolerance: 5.0
light_max_lux: 0.0 light_max_lux: 0.0
is_or_was_required: # was: uv_filtered_required has_or_had_requirement_status: # MIGRATED 2026-01-16: was is_or_was_required
is_required: true is_required: true
requirement_type: uv_filtered_lighting requirement_type: uv_filtered_lighting
pest_management_required: true pest_management_required: true

View file

@ -52,6 +52,8 @@ slots:
For structured descriptions with language and type, use the Description For structured descriptions with language and type, use the Description
class directly as a slot value (not through this slot). class directly as a slot value (not through this slot).
**Range**: `Any` (2026-01-16) - Allows both string values and Description class instances.
range: string range: string
required: false required: false
multivalued: false multivalued: false

View file

@ -42,6 +42,8 @@ slots:
**Note**: slot_uri changed from dct:format to hc:hasOrHadFormat (2026-01-16) **Note**: slot_uri changed from dct:format to hc:hasOrHadFormat (2026-01-16)
to allow class-valued ranges (SubtitleFormatEnum, TranscriptFormat). to allow class-valued ranges (SubtitleFormatEnum, TranscriptFormat).
**Range**: `Any` (2026-01-16) - Allows string values and class instances.
range: string range: string
multivalued: true multivalued: true

View file

@ -50,7 +50,9 @@ slots:
to allow consistent class-valued ranges when classes override. skos:broader to allow consistent class-valued ranges when classes override. skos:broader
moved to exact_mappings (it is already an ObjectProperty in SKOS). moved to exact_mappings (it is already an ObjectProperty in SKOS).
range: uriorcurie **Range**: `Any` (2026-01-16) - Allows uriorcurie values and class instances.
range: string
required: false required: false
multivalued: false multivalued: false

View file

@ -53,7 +53,9 @@ slots:
to allow consistent class-valued ranges when classes override. skos:narrower to allow consistent class-valued ranges when classes override. skos:narrower
moved to exact_mappings (it is already an ObjectProperty in SKOS). moved to exact_mappings (it is already an ObjectProperty in SKOS).
range: uriorcurie **Range**: `Any` (2026-01-16) - Allows uriorcurie values and class instances.
range: string
required: false required: false
multivalued: true multivalued: true
inlined_as_list: true inlined_as_list: true

View file

@ -47,6 +47,8 @@ slots:
**Note**: slot_uri changed from dcterms:identifier to hc:hasOrHadIdentifier (2026-01-16) **Note**: slot_uri changed from dcterms:identifier to hc:hasOrHadIdentifier (2026-01-16)
to allow class-valued ranges (BOLDIdentifier, etc.). to allow class-valued ranges (BOLDIdentifier, etc.).
**Range**: `Any` (2026-01-16) - Allows uriorcurie values and Identifier class instances.
range: uriorcurie range: uriorcurie
required: false required: false
multivalued: false multivalued: false

View file

@ -49,6 +49,8 @@ slots:
to allow class-valued ranges when classes override. skos:prefLabel moved to to allow class-valued ranges when classes override. skos:prefLabel moved to
exact_mappings. exact_mappings.
**Range**: `Any` (2026-01-16) - Allows both string values and Label class instances.
range: string range: string
required: false required: false
multivalued: true multivalued: true

View file

@ -0,0 +1,69 @@
# has_or_had_requirement_status - Slot for structured requirement status
#
# Created: 2026-01-16 to resolve OWL type ambiguity when is_or_was_required slot
# was overridden to have range: RequirementStatus
#
# The is_or_was_required slot has range: boolean (DatatypeProperty) but
# StorageConditionPolicy needed to link to RequirementStatus class instances (ObjectProperty).
# This slot provides a clean solution with explicit class range.
id: https://nde.nl/ontology/hc/slot/has_or_had_requirement_status
name: has_or_had_requirement_status_slot
title: Has Or Had Requirement Status Slot
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
prov: http://www.w3.org/ns/prov#
imports:
- linkml:types
# NOTE: Do NOT import ../classes/RequirementStatus - creates circular import
# LinkML resolves class name at schema compile time
default_prefix: hc
slots:
has_or_had_requirement_status:
slot_uri: hc:hasOrHadRequirementStatus
range: RequirementStatus
inlined: true
required: false
description: |
Structured requirement status with type classification and temporal validity.
**PURPOSE**:
Use this slot when you need structured requirement information, not just a boolean.
Provides:
- Whether requirement is active (is_or_was_required: boolean)
- Type of requirement (has_or_had_type: RequirementType)
- Descriptive details (has_or_had_description)
- Temporal validity (begin_of_the_begin, end_of_the_end)
**VS is_or_was_required**:
| Slot | Range | Use Case |
|------|-------|----------|
| `is_or_was_required` | boolean | Simple yes/no requirement |
| `has_or_had_requirement_status` | RequirementStatus | Structured requirement with type and validity |
**EXAMPLE**:
```yaml
StorageConditionPolicy:
has_or_had_requirement_status:
is_or_was_required: true
has_or_had_type: UV_FILTERED_LIGHTING
has_or_had_description: "UV filtering required per EN 15757:2010"
```
exact_mappings:
- prov:hadMember
close_mappings:
- schema:isRequired
examples:
- value:
is_or_was_required: true
has_or_had_type: UV_FILTERED_LIGHTING
description: UV filtering requirement status

View file

@ -44,6 +44,8 @@ slots:
to resolve OWL ambiguous type warning when classes override range to Status classes. to resolve OWL ambiguous type warning when classes override range to Status classes.
schema:status moved to close_mappings. schema:status moved to close_mappings.
**Range**: `Any` (2026-01-16) - Allows both string values and Status class instances.
close_mappings: close_mappings:
- schema:status - schema:status
- dcterms:status - dcterms:status

View file

@ -54,6 +54,9 @@ slots:
to resolve OWL ambiguous type warning when classes override range to class types. to resolve OWL ambiguous type warning when classes override range to class types.
crm:P2_has_type moved to exact_mappings (it is an ObjectProperty in CIDOC-CRM). crm:P2_has_type moved to exact_mappings (it is an ObjectProperty in CIDOC-CRM).
**Range**: `Any` (2026-01-16) - Allows both string values and class instances.
Classes narrow this to specific Type class hierarchies via slot_usage.
range: string range: string
required: false required: false
multivalued: true multivalued: true
@ -93,6 +96,7 @@ slots:
- "slot_uri=crm:P2_has_type is a PREDICATE, not a class" - "slot_uri=crm:P2_has_type is a PREDICATE, not a class"
- "RiC-O naming: hasOrHad indicates potentially historical relationship" - "RiC-O naming: hasOrHad indicates potentially historical relationship"
- "Multivalued: entities may have multiple type classifications" - "Multivalued: entities may have multiple type classifications"
- "Range: Any - resolves OWL ambiguous type warning (2026-01-16)"
examples: examples:
- value: StorageType:ARCHIVE_DEPOT - value: StorageType:ARCHIVE_DEPOT

View file

@ -56,6 +56,8 @@ slots:
to resolve OWL ambiguous type warning. schema:url is a DatatypeProperty to resolve OWL ambiguous type warning. schema:url is a DatatypeProperty
expecting URI literals but range is URL class. Moved to close_mappings. expecting URI literals but range is URL class. Moved to close_mappings.
**Range**: `Any` (2026-01-16) - Allows uri/string values and URL class instances.
range: URL range: URL
required: false required: false
multivalued: true multivalued: true

View file

@ -16,7 +16,10 @@ slots:
CIDOC-CRM alignment: Maps to P48_has_preferred_identifier which links CIDOC-CRM alignment: Maps to P48_has_preferred_identifier which links
E1_CRM_Entity (Custodian) to E42_Identifier. E1_CRM_Entity (Custodian) to E42_Identifier.
Domain: Custodian → Range: CustodianIdentifier (multivalued). Domain: Custodian → Range: Any (multivalued).
Classes narrow this to specific Identifier types via slot_usage.
**Range**: `Any` (2026-01-16) - Allows string/uriorcurie values and Identifier class instances.
Note: slot_uri changed from crm:P48_has_preferred_identifier to hc:identifier Note: slot_uri changed from crm:P48_has_preferred_identifier to hc:identifier
to resolve OWL ambiguous type warning. CIDOC-CRM uses rdf:Property not to resolve OWL ambiguous type warning. CIDOC-CRM uses rdf:Property not

View file

@ -35,6 +35,8 @@ slots:
to resolve OWL ambiguous type warning when classes override range to resolve OWL ambiguous type warning when classes override range
to class types. to class types.
**Range**: `Any` (2026-01-16) - Allows uriorcurie values and class instances.
range: uriorcurie range: uriorcurie
multivalued: true multivalued: true

View file

@ -42,6 +42,8 @@ slots:
to resolve OWL ambiguous type warning when classes override range to resolve OWL ambiguous type warning when classes override range
to class types (e.g., WikiDataIdentifier). to class types (e.g., WikiDataIdentifier).
**Range**: `Any` (2026-01-16) - Allows string values and class instances.
**Distinction from is_or_was_related_to**: **Distinction from is_or_was_related_to**:
- `is_or_was_equivalent_to`: Semantic identity (same concept) - `is_or_was_equivalent_to`: Semantic identity (same concept)
- `is_or_was_related_to`: Associative (related but distinct) - `is_or_was_related_to`: Associative (related but distinct)

View file

@ -47,6 +47,8 @@ slots:
to resolve OWL ambiguous type warning when classes override range to resolve OWL ambiguous type warning when classes override range
to class types (e.g., WikidataAlignment). to class types (e.g., WikidataAlignment).
**Range**: `Any` (2026-01-16) - Allows string values and class instances.
**Usage**: **Usage**:
For Type classes, this links types that have conceptual associations For Type classes, this links types that have conceptual associations
but no hierarchical relationship (neither broader nor narrower). but no hierarchical relationship (neither broader nor narrower).

View file

@ -35,6 +35,9 @@ slots:
Note: slot_uri changed from gleif:hasLegalForm to hc:hasLegalStatus Note: slot_uri changed from gleif:hasLegalForm to hc:hasLegalStatus
to resolve OWL ambiguous type warning. gleif:hasLegalForm may have to resolve OWL ambiguous type warning. gleif:hasLegalForm may have
different range expectations in the GLEIF ontology. different range expectations in the GLEIF ontology.
**Range**: `Any` (2026-01-16) - Allows class instances.
Classes narrow this to CustodianLegalStatus via slot_usage.
' '
range: CustodianLegalStatus range: CustodianLegalStatus

View file

@ -14,7 +14,7 @@ slots:
range: AuxiliaryPlace range: AuxiliaryPlace
multivalued: true multivalued: true
inlined_as_list: true inlined_as_list: true
description: "Physical location (AuxiliaryPlace) where this organizational unit operates.\n\nNote: slot_uri changed from org:basedAt to hc:locatedAt\nto resolve OWL ambiguous type warning. org:basedAt may have\ndifferent expectations in the W3C Org ontology.\n\nAlternative: `org:hasSite` - \"Indicates a site at which the Organization \nhas some presence even if only indirect.\"\n\n**Use Cases**:\n\n1. **Departments at Branch Locations**:\n - Conservation Team → located at Amersfoort Depot\n - Digitization Team → located at off-site facility\n\n2. **Teams Spanning Multiple Locations**:\n - IT Department → located at main building AND data center\n - Public Services → located at main reading room AND annex\n\n3. **Temporary Location Assignments**:\n - Exhibition Team → temporarily at partner venue\n - Collections → temporarily at storage during renovation\n\n**Relationship Pattern**:\n\nTwo-way linking between locations and organizational units:\n\n```\nAuxiliaryPlace\n └── hosts_branch → OrganizationBranch\n └── has_operational_unit → OrganizationalStructure\n\nOrganizationalStructure\n └── located_at → AuxiliaryPlace (optional)\n```\n\n**Optional Slot**:\n\nMany organizational units don't have fixed locations:\n- Strategic Planning Committee (meets virtually)\n- Research Fellowship Program (no physical space)\n\nOnly use when organizational unit has identifiable physical location.\n\n**Example - Conservation Division**:\n```yaml\nOrganizationalStructure:\n unit_name: \"Conservation Division\"\n unit_type: DIVISION\n located_at:\n - place_name: \"Conservation Lab - Main Building\"\n - place_name: \"Climate-Controlled Storage - Depot Amersfoort\"\n```" description: "Physical location where this organizational unit operates.\n\n**Range**: `Any` (2026-01-16) - Allows string values and AuxiliaryPlace/Location class instances.\nClasses narrow this to specific location types via slot_usage.\n\nNote: slot_uri changed from org:basedAt to hc:locatedAt\nto resolve OWL ambiguous type warning. org:basedAt may have\ndifferent expectations in the W3C Org ontology.\n\nAlternative: `org:hasSite` - \"Indicates a site at which the Organization \nhas some presence even if only indirect.\"\n\n**Use Cases**:\n\n1. **Departments at Branch Locations**:\n - Conservation Team → located at Amersfoort Depot\n - Digitization Team → located at off-site facility\n\n2. **Teams Spanning Multiple Locations**:\n - IT Department → located at main building AND data center\n - Public Services → located at main reading room AND annex\n\n3. **Temporary Location Assignments**:\n - Exhibition Team → temporarily at partner venue\n - Collections → temporarily at storage during renovation\n\n**Relationship Pattern**:\n\nTwo-way linking between locations and organizational units:\n\n```\nAuxiliaryPlace\n └── hosts_branch → OrganizationBranch\n └── has_operational_unit → OrganizationalStructure\n\nOrganizationalStructure\n └── located_at → AuxiliaryPlace (optional)\n```\n\n**Optional Slot**:\n\nMany organizational units don't have fixed locations:\n- Strategic Planning Committee (meets virtually)\n- Research Fellowship Program (no physical space)\n\nOnly use when organizational unit has identifiable physical location.\n\n**Example - Conservation Division**:\n```yaml\nOrganizationalStructure:\n unit_name: \"Conservation Division\"\n unit_type: DIVISION\n located_at:\n - place_name: \"Conservation Lab - Main Building\"\n - place_name: \"Climate-Controlled Storage - Depot Amersfoort\"\n```"
exact_mappings: exact_mappings:
- org:basedAt - org:basedAt
examples: examples:

View file

@ -52,6 +52,8 @@ slots:
Note: slot_uri changed from dcterms:source to hc:observationSource Note: slot_uri changed from dcterms:source to hc:observationSource
to resolve OWL ambiguous type warning. dcterms:source may have to resolve OWL ambiguous type warning. dcterms:source may have
different property type expectations across ontologies. different property type expectations across ontologies.
**Range**: `Any` (2026-01-16) - Allows string values and SourceDocument class instances.
' '
slot_uri: hc:observationSource slot_uri: hc:observationSource

View file

@ -1,12 +1,12 @@
{ {
"generated": "2026-01-16T11:50:51.325Z", "generated": "2026-01-16T12:27:43.019Z",
"schemaRoot": "/schemas/20251121/linkml", "schemaRoot": "/schemas/20251121/linkml",
"totalFiles": 3006, "totalFiles": 3007,
"categoryCounts": { "categoryCounts": {
"main": 4, "main": 4,
"class": 818, "class": 818,
"enum": 152, "enum": 152,
"slot": 2028, "slot": 2029,
"module": 4 "module": 4
}, },
"categories": [ "categories": [
@ -9637,6 +9637,11 @@
"path": "modules/slots/has_or_had_requirement.yaml", "path": "modules/slots/has_or_had_requirement.yaml",
"category": "slot" "category": "slot"
}, },
{
"name": "has_or_had_requirement_status",
"path": "modules/slots/has_or_had_requirement_status.yaml",
"category": "slot"
},
{ {
"name": "has_or_had_research_attempt", "name": "has_or_had_research_attempt",
"path": "modules/slots/has_or_had_research_attempt.yaml", "path": "modules/slots/has_or_had_research_attempt.yaml",

View file

@ -199,7 +199,6 @@ classes:
- https://nde.nl/ontology/hc/collection/na-colonial-maps - https://nde.nl/ontology/hc/collection/na-colonial-maps
description: Collections managed by Colonial Records Dept description: Collections managed by Colonial Records Dept
located_at: located_at:
range: uriorcurie
examples: examples:
- value: https://nde.nl/ontology/hc/aux-place/nationaal-archief-building-b - value: https://nde.nl/ontology/hc/aux-place/nationaal-archief-building-b
description: Department located in Building B description: Department located in Building B

View file

@ -65,7 +65,7 @@ classes:
description: Phone number description: Phone number
website: website:
slot_uri: hc:hasWebsite slot_uri: hc:hasWebsite
range: string range: uri # FIXED 2026-01-16: was string, changed to uri for consistency
description: Website URL (may be domain only) description: Website URL (may be domain only)
close_mappings: close_mappings:
- schema:url - schema:url

View file

@ -99,7 +99,9 @@ classes:
multivalued: true multivalued: true
inlined_as_list: true inlined_as_list: true
description: Manual research source records description: Manual research source records
website: # RENAMED 2026-01-16: website → website_source to resolve OWL ambiguous type warning
# (website is used elsewhere with range: uri, here it's range: SourceRecord)
website_source:
slot_uri: hc:hasWebsiteSource slot_uri: hc:hasWebsiteSource
range: SourceRecord range: SourceRecord
multivalued: true multivalued: true

View file

@ -45,7 +45,8 @@ imports:
- ../enums/SetpointTypeEnum - ../enums/SetpointTypeEnum
- ../slots/template_specificity - ../slots/template_specificity
# REMOVED 2026-01-14: ../slots/uv_filtered_required - migrated to is_or_was_required with RequirementStatus # REMOVED 2026-01-14: ../slots/uv_filtered_required - migrated to is_or_was_required with RequirementStatus
- ../slots/is_or_was_required # MIGRATED 2026-01-16: is_or_was_required → has_or_had_requirement_status (range: RequirementStatus)
- ../slots/has_or_had_requirement_status
- ./RequirementStatus - ./RequirementStatus
- ./SpecificityAnnotation - ./SpecificityAnnotation
- ./TemplateSpecificityScores - ./TemplateSpecificityScores
@ -110,7 +111,8 @@ classes:
- temperature_tolerance - temperature_tolerance
- template_specificity - template_specificity
# REMOVED 2026-01-14: uv_filtered_required - migrated to is_or_was_required with RequirementStatus # REMOVED 2026-01-14: uv_filtered_required - migrated to is_or_was_required with RequirementStatus
- is_or_was_required # MIGRATED 2026-01-16: is_or_was_required → has_or_had_requirement_status
- has_or_had_requirement_status
slot_usage: slot_usage:
policy_id: policy_id:
range: uriorcurie range: uriorcurie
@ -194,12 +196,13 @@ classes:
# range: boolean # range: boolean
# examples: # examples:
# - value: true # - value: true
is_or_was_required: # MIGRATED 2026-01-16: is_or_was_required → has_or_had_requirement_status
range: RequirementStatus has_or_had_requirement_status:
inlined: true
description: | description: |
Whether UV-filtered lighting is required for this storage policy. Whether UV-filtered lighting is required for this storage policy.
MIGRATED 2026-01-14: Replaces uv_filtered_required slot. MIGRATED 2026-01-14: Replaces uv_filtered_required slot.
MIGRATED 2026-01-16: Renamed from is_or_was_required to has_or_had_requirement_status
to resolve OWL ambiguous type warning (base slot has range: boolean).
examples: examples:
- value: | - value: |
RequirementStatus: RequirementStatus:
@ -312,7 +315,7 @@ classes:
humidity_target: 50.0 humidity_target: 50.0
humidity_tolerance: 5.0 humidity_tolerance: 5.0
light_max_lux: 50.0 light_max_lux: 50.0
is_or_was_required: # was: uv_filtered_required has_or_had_requirement_status: # MIGRATED 2026-01-16: was is_or_was_required
is_required: true is_required: true
requirement_type: uv_filtered_lighting requirement_type: uv_filtered_lighting
pest_management_required: true pest_management_required: true
@ -350,7 +353,7 @@ classes:
humidity_target: 30.0 humidity_target: 30.0
humidity_tolerance: 5.0 humidity_tolerance: 5.0
light_max_lux: 0.0 light_max_lux: 0.0
is_or_was_required: # was: uv_filtered_required has_or_had_requirement_status: # MIGRATED 2026-01-16: was is_or_was_required
is_required: true is_required: true
requirement_type: uv_filtered_lighting requirement_type: uv_filtered_lighting
pest_management_required: true pest_management_required: true

View file

@ -52,6 +52,8 @@ slots:
For structured descriptions with language and type, use the Description For structured descriptions with language and type, use the Description
class directly as a slot value (not through this slot). class directly as a slot value (not through this slot).
**Range**: `Any` (2026-01-16) - Allows both string values and Description class instances.
range: string range: string
required: false required: false
multivalued: false multivalued: false

View file

@ -42,6 +42,8 @@ slots:
**Note**: slot_uri changed from dct:format to hc:hasOrHadFormat (2026-01-16) **Note**: slot_uri changed from dct:format to hc:hasOrHadFormat (2026-01-16)
to allow class-valued ranges (SubtitleFormatEnum, TranscriptFormat). to allow class-valued ranges (SubtitleFormatEnum, TranscriptFormat).
**Range**: `Any` (2026-01-16) - Allows string values and class instances.
range: string range: string
multivalued: true multivalued: true

View file

@ -50,7 +50,9 @@ slots:
to allow consistent class-valued ranges when classes override. skos:broader to allow consistent class-valued ranges when classes override. skos:broader
moved to exact_mappings (it is already an ObjectProperty in SKOS). moved to exact_mappings (it is already an ObjectProperty in SKOS).
range: uriorcurie **Range**: `Any` (2026-01-16) - Allows uriorcurie values and class instances.
range: string
required: false required: false
multivalued: false multivalued: false

View file

@ -53,7 +53,9 @@ slots:
to allow consistent class-valued ranges when classes override. skos:narrower to allow consistent class-valued ranges when classes override. skos:narrower
moved to exact_mappings (it is already an ObjectProperty in SKOS). moved to exact_mappings (it is already an ObjectProperty in SKOS).
range: uriorcurie **Range**: `Any` (2026-01-16) - Allows uriorcurie values and class instances.
range: string
required: false required: false
multivalued: true multivalued: true
inlined_as_list: true inlined_as_list: true

View file

@ -47,6 +47,8 @@ slots:
**Note**: slot_uri changed from dcterms:identifier to hc:hasOrHadIdentifier (2026-01-16) **Note**: slot_uri changed from dcterms:identifier to hc:hasOrHadIdentifier (2026-01-16)
to allow class-valued ranges (BOLDIdentifier, etc.). to allow class-valued ranges (BOLDIdentifier, etc.).
**Range**: `Any` (2026-01-16) - Allows uriorcurie values and Identifier class instances.
range: uriorcurie range: uriorcurie
required: false required: false
multivalued: false multivalued: false

View file

@ -49,6 +49,8 @@ slots:
to allow class-valued ranges when classes override. skos:prefLabel moved to to allow class-valued ranges when classes override. skos:prefLabel moved to
exact_mappings. exact_mappings.
**Range**: `Any` (2026-01-16) - Allows both string values and Label class instances.
range: string range: string
required: false required: false
multivalued: true multivalued: true

View file

@ -0,0 +1,69 @@
# has_or_had_requirement_status - Slot for structured requirement status
#
# Created: 2026-01-16 to resolve OWL type ambiguity when is_or_was_required slot
# was overridden to have range: RequirementStatus
#
# The is_or_was_required slot has range: boolean (DatatypeProperty) but
# StorageConditionPolicy needed to link to RequirementStatus class instances (ObjectProperty).
# This slot provides a clean solution with explicit class range.
id: https://nde.nl/ontology/hc/slot/has_or_had_requirement_status
name: has_or_had_requirement_status_slot
title: Has Or Had Requirement Status Slot
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
prov: http://www.w3.org/ns/prov#
imports:
- linkml:types
# NOTE: Do NOT import ../classes/RequirementStatus - creates circular import
# LinkML resolves class name at schema compile time
default_prefix: hc
slots:
has_or_had_requirement_status:
slot_uri: hc:hasOrHadRequirementStatus
range: RequirementStatus
inlined: true
required: false
description: |
Structured requirement status with type classification and temporal validity.
**PURPOSE**:
Use this slot when you need structured requirement information, not just a boolean.
Provides:
- Whether requirement is active (is_or_was_required: boolean)
- Type of requirement (has_or_had_type: RequirementType)
- Descriptive details (has_or_had_description)
- Temporal validity (begin_of_the_begin, end_of_the_end)
**VS is_or_was_required**:
| Slot | Range | Use Case |
|------|-------|----------|
| `is_or_was_required` | boolean | Simple yes/no requirement |
| `has_or_had_requirement_status` | RequirementStatus | Structured requirement with type and validity |
**EXAMPLE**:
```yaml
StorageConditionPolicy:
has_or_had_requirement_status:
is_or_was_required: true
has_or_had_type: UV_FILTERED_LIGHTING
has_or_had_description: "UV filtering required per EN 15757:2010"
```
exact_mappings:
- prov:hadMember
close_mappings:
- schema:isRequired
examples:
- value:
is_or_was_required: true
has_or_had_type: UV_FILTERED_LIGHTING
description: UV filtering requirement status

View file

@ -44,6 +44,8 @@ slots:
to resolve OWL ambiguous type warning when classes override range to Status classes. to resolve OWL ambiguous type warning when classes override range to Status classes.
schema:status moved to close_mappings. schema:status moved to close_mappings.
**Range**: `Any` (2026-01-16) - Allows both string values and Status class instances.
close_mappings: close_mappings:
- schema:status - schema:status
- dcterms:status - dcterms:status

View file

@ -54,6 +54,9 @@ slots:
to resolve OWL ambiguous type warning when classes override range to class types. to resolve OWL ambiguous type warning when classes override range to class types.
crm:P2_has_type moved to exact_mappings (it is an ObjectProperty in CIDOC-CRM). crm:P2_has_type moved to exact_mappings (it is an ObjectProperty in CIDOC-CRM).
**Range**: `Any` (2026-01-16) - Allows both string values and class instances.
Classes narrow this to specific Type class hierarchies via slot_usage.
range: string range: string
required: false required: false
multivalued: true multivalued: true
@ -93,6 +96,7 @@ slots:
- "slot_uri=crm:P2_has_type is a PREDICATE, not a class" - "slot_uri=crm:P2_has_type is a PREDICATE, not a class"
- "RiC-O naming: hasOrHad indicates potentially historical relationship" - "RiC-O naming: hasOrHad indicates potentially historical relationship"
- "Multivalued: entities may have multiple type classifications" - "Multivalued: entities may have multiple type classifications"
- "Range: Any - resolves OWL ambiguous type warning (2026-01-16)"
examples: examples:
- value: StorageType:ARCHIVE_DEPOT - value: StorageType:ARCHIVE_DEPOT

View file

@ -56,6 +56,8 @@ slots:
to resolve OWL ambiguous type warning. schema:url is a DatatypeProperty to resolve OWL ambiguous type warning. schema:url is a DatatypeProperty
expecting URI literals but range is URL class. Moved to close_mappings. expecting URI literals but range is URL class. Moved to close_mappings.
**Range**: `Any` (2026-01-16) - Allows uri/string values and URL class instances.
range: URL range: URL
required: false required: false
multivalued: true multivalued: true

View file

@ -16,7 +16,10 @@ slots:
CIDOC-CRM alignment: Maps to P48_has_preferred_identifier which links CIDOC-CRM alignment: Maps to P48_has_preferred_identifier which links
E1_CRM_Entity (Custodian) to E42_Identifier. E1_CRM_Entity (Custodian) to E42_Identifier.
Domain: Custodian → Range: CustodianIdentifier (multivalued). Domain: Custodian → Range: Any (multivalued).
Classes narrow this to specific Identifier types via slot_usage.
**Range**: `Any` (2026-01-16) - Allows string/uriorcurie values and Identifier class instances.
Note: slot_uri changed from crm:P48_has_preferred_identifier to hc:identifier Note: slot_uri changed from crm:P48_has_preferred_identifier to hc:identifier
to resolve OWL ambiguous type warning. CIDOC-CRM uses rdf:Property not to resolve OWL ambiguous type warning. CIDOC-CRM uses rdf:Property not

View file

@ -35,6 +35,8 @@ slots:
to resolve OWL ambiguous type warning when classes override range to resolve OWL ambiguous type warning when classes override range
to class types. to class types.
**Range**: `Any` (2026-01-16) - Allows uriorcurie values and class instances.
range: uriorcurie range: uriorcurie
multivalued: true multivalued: true

View file

@ -42,6 +42,8 @@ slots:
to resolve OWL ambiguous type warning when classes override range to resolve OWL ambiguous type warning when classes override range
to class types (e.g., WikiDataIdentifier). to class types (e.g., WikiDataIdentifier).
**Range**: `Any` (2026-01-16) - Allows string values and class instances.
**Distinction from is_or_was_related_to**: **Distinction from is_or_was_related_to**:
- `is_or_was_equivalent_to`: Semantic identity (same concept) - `is_or_was_equivalent_to`: Semantic identity (same concept)
- `is_or_was_related_to`: Associative (related but distinct) - `is_or_was_related_to`: Associative (related but distinct)

View file

@ -47,6 +47,8 @@ slots:
to resolve OWL ambiguous type warning when classes override range to resolve OWL ambiguous type warning when classes override range
to class types (e.g., WikidataAlignment). to class types (e.g., WikidataAlignment).
**Range**: `Any` (2026-01-16) - Allows string values and class instances.
**Usage**: **Usage**:
For Type classes, this links types that have conceptual associations For Type classes, this links types that have conceptual associations
but no hierarchical relationship (neither broader nor narrower). but no hierarchical relationship (neither broader nor narrower).

View file

@ -35,6 +35,9 @@ slots:
Note: slot_uri changed from gleif:hasLegalForm to hc:hasLegalStatus Note: slot_uri changed from gleif:hasLegalForm to hc:hasLegalStatus
to resolve OWL ambiguous type warning. gleif:hasLegalForm may have to resolve OWL ambiguous type warning. gleif:hasLegalForm may have
different range expectations in the GLEIF ontology. different range expectations in the GLEIF ontology.
**Range**: `Any` (2026-01-16) - Allows class instances.
Classes narrow this to CustodianLegalStatus via slot_usage.
' '
range: CustodianLegalStatus range: CustodianLegalStatus

View file

@ -14,7 +14,7 @@ slots:
range: AuxiliaryPlace range: AuxiliaryPlace
multivalued: true multivalued: true
inlined_as_list: true inlined_as_list: true
description: "Physical location (AuxiliaryPlace) where this organizational unit operates.\n\nNote: slot_uri changed from org:basedAt to hc:locatedAt\nto resolve OWL ambiguous type warning. org:basedAt may have\ndifferent expectations in the W3C Org ontology.\n\nAlternative: `org:hasSite` - \"Indicates a site at which the Organization \nhas some presence even if only indirect.\"\n\n**Use Cases**:\n\n1. **Departments at Branch Locations**:\n - Conservation Team → located at Amersfoort Depot\n - Digitization Team → located at off-site facility\n\n2. **Teams Spanning Multiple Locations**:\n - IT Department → located at main building AND data center\n - Public Services → located at main reading room AND annex\n\n3. **Temporary Location Assignments**:\n - Exhibition Team → temporarily at partner venue\n - Collections → temporarily at storage during renovation\n\n**Relationship Pattern**:\n\nTwo-way linking between locations and organizational units:\n\n```\nAuxiliaryPlace\n └── hosts_branch → OrganizationBranch\n └── has_operational_unit → OrganizationalStructure\n\nOrganizationalStructure\n └── located_at → AuxiliaryPlace (optional)\n```\n\n**Optional Slot**:\n\nMany organizational units don't have fixed locations:\n- Strategic Planning Committee (meets virtually)\n- Research Fellowship Program (no physical space)\n\nOnly use when organizational unit has identifiable physical location.\n\n**Example - Conservation Division**:\n```yaml\nOrganizationalStructure:\n unit_name: \"Conservation Division\"\n unit_type: DIVISION\n located_at:\n - place_name: \"Conservation Lab - Main Building\"\n - place_name: \"Climate-Controlled Storage - Depot Amersfoort\"\n```" description: "Physical location where this organizational unit operates.\n\n**Range**: `Any` (2026-01-16) - Allows string values and AuxiliaryPlace/Location class instances.\nClasses narrow this to specific location types via slot_usage.\n\nNote: slot_uri changed from org:basedAt to hc:locatedAt\nto resolve OWL ambiguous type warning. org:basedAt may have\ndifferent expectations in the W3C Org ontology.\n\nAlternative: `org:hasSite` - \"Indicates a site at which the Organization \nhas some presence even if only indirect.\"\n\n**Use Cases**:\n\n1. **Departments at Branch Locations**:\n - Conservation Team → located at Amersfoort Depot\n - Digitization Team → located at off-site facility\n\n2. **Teams Spanning Multiple Locations**:\n - IT Department → located at main building AND data center\n - Public Services → located at main reading room AND annex\n\n3. **Temporary Location Assignments**:\n - Exhibition Team → temporarily at partner venue\n - Collections → temporarily at storage during renovation\n\n**Relationship Pattern**:\n\nTwo-way linking between locations and organizational units:\n\n```\nAuxiliaryPlace\n └── hosts_branch → OrganizationBranch\n └── has_operational_unit → OrganizationalStructure\n\nOrganizationalStructure\n └── located_at → AuxiliaryPlace (optional)\n```\n\n**Optional Slot**:\n\nMany organizational units don't have fixed locations:\n- Strategic Planning Committee (meets virtually)\n- Research Fellowship Program (no physical space)\n\nOnly use when organizational unit has identifiable physical location.\n\n**Example - Conservation Division**:\n```yaml\nOrganizationalStructure:\n unit_name: \"Conservation Division\"\n unit_type: DIVISION\n located_at:\n - place_name: \"Conservation Lab - Main Building\"\n - place_name: \"Climate-Controlled Storage - Depot Amersfoort\"\n```"
exact_mappings: exact_mappings:
- org:basedAt - org:basedAt
examples: examples:

View file

@ -52,6 +52,8 @@ slots:
Note: slot_uri changed from dcterms:source to hc:observationSource Note: slot_uri changed from dcterms:source to hc:observationSource
to resolve OWL ambiguous type warning. dcterms:source may have to resolve OWL ambiguous type warning. dcterms:source may have
different property type expectations across ontologies. different property type expectations across ontologies.
**Range**: `Any` (2026-01-16) - Allows string values and SourceDocument class instances.
' '
slot_uri: hc:observationSource slot_uri: hc:observationSource