diff --git a/frontend/public/schemas/20251121/linkml/manifest.json b/frontend/public/schemas/20251121/linkml/manifest.json index 112c353aea..e71a7279ad 100644 --- a/frontend/public/schemas/20251121/linkml/manifest.json +++ b/frontend/public/schemas/20251121/linkml/manifest.json @@ -1,5 +1,5 @@ { - "generated": "2026-01-16T14:04:19.745Z", + "generated": "2026-01-16T14:06:37.301Z", "schemaRoot": "/schemas/20251121/linkml", "totalFiles": 3010, "categoryCounts": { diff --git a/frontend/public/schemas/20251121/linkml/modules/slots/has_or_had_entity_status.yaml b/frontend/public/schemas/20251121/linkml/modules/slots/has_or_had_entity_status.yaml deleted file mode 100644 index dc1084b8ce..0000000000 --- a/frontend/public/schemas/20251121/linkml/modules/slots/has_or_had_entity_status.yaml +++ /dev/null @@ -1,64 +0,0 @@ -# has_or_had_entity_status - Entity operational status slot -# -# Following RiC-O style naming convention (Rule 39): -# - has_or_had_* indicates temporal relationship -# -# Created to resolve OWL ambiguous type warning on legal_status slot. -# This slot is for LegalStatus objects (ACTIVE, DISSOLVED, etc.), -# distinct from legal_status slot which links to CustodianLegalStatus. - -id: https://nde.nl/ontology/hc/slot/has_or_had_entity_status -name: has_or_had_entity_status_slot -title: Has Or Had Entity Status Slot - -prefixes: - linkml: https://w3id.org/linkml/ - hc: https://nde.nl/ontology/hc/ - gleif_base: https://www.gleif.org/ontology/Base/ - schema: http://schema.org/ - -imports: - - linkml:types - - ../classes/RegistrationInfo # Contains LegalStatus class - -default_prefix: hc - -slots: - has_or_had_entity_status: - slot_uri: hc:hasOrHadEntityStatus - range: LegalStatus - description: | - Current or past operational status of a legal entity. - - Links to LegalStatus with: - - status_code: ACTIVE, DISSOLVED, MERGED, SUSPENDED, etc. - - status_name: Human-readable status name - - **ONTOLOGY ALIGNMENT**: - - | Ontology | Property | Notes | - |----------|----------|-------| - | **GLEIF** | `gleif_base:hasEntityStatus` | Close - entity lifecycle status | - | **Schema.org** | `schema:status` | Related - general status | - - **DISTINCTION FROM legal_status SLOT**: - - | Slot | Range | Purpose | - |------|-------|---------| - | `legal_status` | `CustodianLegalStatus` | Links to legal entity object | - | `has_or_had_entity_status` | `LegalStatus` | Indicates operational status (ACTIVE/DISSOLVED) | - - required: true - close_mappings: - - gleif_base:hasEntityStatus - related_mappings: - - schema:status - examples: - - value: - status_code: ACTIVE - status_name: Active - description: Currently operating entity - - value: - status_code: DISSOLVED - status_name: Dissolved - description: Legally dissolved entity diff --git a/frontend/public/schemas/20251121/linkml/modules/slots/has_or_had_observation_source_document.yaml b/frontend/public/schemas/20251121/linkml/modules/slots/has_or_had_observation_source_document.yaml deleted file mode 100644 index 2afbfc205a..0000000000 --- a/frontend/public/schemas/20251121/linkml/modules/slots/has_or_had_observation_source_document.yaml +++ /dev/null @@ -1,67 +0,0 @@ -# has_or_had_observation_source_document - Source document for observation -# -# Following RiC-O style naming convention (Rule 39): -# - has_or_had_* indicates temporal relationship -# -# Created to resolve OWL ambiguous type warning on observation_source slot. -# This slot is for SourceDocument objects (structured source references), -# distinct from observation_source slot which uses string values. - -id: https://nde.nl/ontology/hc/slot/has_or_had_observation_source_document -name: has_or_had_observation_source_document_slot -title: Has Or Had Observation Source Document Slot - -prefixes: - linkml: https://w3id.org/linkml/ - hc: https://nde.nl/ontology/hc/ - prov: http://www.w3.org/ns/prov# - dcterms: http://purl.org/dc/terms/ - -imports: - - linkml:types - - ../classes/SourceDocument - -default_prefix: hc - -slots: - has_or_had_observation_source_document: - slot_uri: hc:hasOrHadObservationSourceDocument - range: SourceDocument - description: | - Structured source document where this observation was found. - - Links to SourceDocument with: - - source_type: "Staff directory", "Annual report", etc. - - source_uri: URL if available - - observation_date: When source was consulted - - **PiCo Pattern**: PersonObservation MUST link to source (evidence-based) - **PROV-O**: `prov:hadPrimarySource` for provenance tracking - - **Source Types**: - - Staff directory (online or print) - - Organizational chart - - Annual report - - Institutional website - - Archival personnel records - - Publication credits - - Email signature - - **DISTINCTION FROM observation_source SLOT**: - - | Slot | Range | Purpose | - |------|-------|---------| - | `observation_source` | `string` | Simple text reference to source | - | `has_or_had_observation_source_document` | `SourceDocument` | Structured source with metadata | - - required: false - close_mappings: - - prov:hadPrimarySource - related_mappings: - - dcterms:source - examples: - - value: - source_type: Staff directory - source_uri: https://example.org/staff - observation_date: "2025-01-10" - description: Staff directory source with structured metadata diff --git a/frontend/public/schemas/20251121/linkml/modules/slots/has_or_had_structured_description.yaml b/frontend/public/schemas/20251121/linkml/modules/slots/has_or_had_structured_description.yaml deleted file mode 100644 index f21f4cf90d..0000000000 --- a/frontend/public/schemas/20251121/linkml/modules/slots/has_or_had_structured_description.yaml +++ /dev/null @@ -1,62 +0,0 @@ -# has_or_had_structured_description slot -# Slot for structured Description class instances -# -# Following RiC-O naming convention (Rule 39): "hasOrHad..." pattern -# for temporal relationships in heritage domain. -# -# Created to resolve OWL ambiguous type warning on has_or_had_description slot. -# This slot is for Description class (structured descriptions with language/type), -# distinct from has_or_had_description slot which uses string values. -# -# Generation date: 2026-01-16 -# Rule compliance: 38 (slot centralization + semantic URI), 39 (RiC-O naming), 42 (no prefix) - -id: https://nde.nl/ontology/hc/slot/has_or_had_structured_description -name: has_or_had_structured_description_slot -title: Has Or Had Structured Description Slot - -prefixes: - linkml: https://w3id.org/linkml/ - hc: https://nde.nl/ontology/hc/ - dcterms: http://purl.org/dc/terms/ - skos: http://www.w3.org/2004/02/skos/core# - -default_prefix: hc - -imports: - - linkml:types - - ../classes/Description - -slots: - has_or_had_structured_description: - slot_uri: hc:hasOrHadStructuredDescription - range: Description - description: | - Structured description with language, type, and provenance metadata. - - **DISTINCTION FROM has_or_had_description SLOT**: - - | Slot | Range | Purpose | - |------|-------|---------| - | `has_or_had_description` | `string` | Simple text description | - | `has_or_had_structured_description` | `Description` | Typed description with metadata | - - **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`): `hc:hasOrHadStructuredDescription` - ObjectProperty - - **Close**: `dcterms:description` - Dublin Core (DatatypeProperty) - - **Close**: `skos:definition` - SKOS definition - required: false - inlined: true - close_mappings: - - dcterms:description - - skos:definition - examples: - - value: - description_text: "A historic reading room with original 19th century furnishings" - description_type: FACILITY - description_language: en - description: Structured facility description with language tag diff --git a/schemas/20251121/linkml/manifest.json b/schemas/20251121/linkml/manifest.json index e71a7279ad..9cd169fa2d 100644 --- a/schemas/20251121/linkml/manifest.json +++ b/schemas/20251121/linkml/manifest.json @@ -1,12 +1,12 @@ { - "generated": "2026-01-16T14:06:37.301Z", + "generated": "2026-01-16T14:16:30.404Z", "schemaRoot": "/schemas/20251121/linkml", - "totalFiles": 3010, + "totalFiles": 3007, "categoryCounts": { "main": 4, "class": 818, "enum": 152, - "slot": 2032, + "slot": 2029, "module": 4 }, "categories": [ @@ -9182,11 +9182,6 @@ "path": "modules/slots/has_or_had_domain.yaml", "category": "slot" }, - { - "name": "has_or_had_entity_status", - "path": "modules/slots/has_or_had_entity_status.yaml", - "category": "slot" - }, { "name": "has_or_had_environmental_condition", "path": "modules/slots/has_or_had_environmental_condition.yaml", @@ -9452,11 +9447,6 @@ "path": "modules/slots/has_or_had_notes.yaml", "category": "slot" }, - { - "name": "has_or_had_observation_source_document", - "path": "modules/slots/has_or_had_observation_source_document.yaml", - "category": "slot" - }, { "name": "has_or_had_open_access_endpoint", "path": "modules/slots/has_or_had_open_access_endpoint.yaml", @@ -9812,11 +9802,6 @@ "path": "modules/slots/has_or_had_strategic_objective.yaml", "category": "slot" }, - { - "name": "has_or_had_structured_description", - "path": "modules/slots/has_or_had_structured_description.yaml", - "category": "slot" - }, { "name": "has_or_had_sub_collection", "path": "modules/slots/has_or_had_sub_collection.yaml", diff --git a/schemas/20251121/linkml/modules/classes/CateringPlace.yaml b/schemas/20251121/linkml/modules/classes/CateringPlace.yaml index 6aec8ec831..9655818f11 100644 --- a/schemas/20251121/linkml/modules/classes/CateringPlace.yaml +++ b/schemas/20251121/linkml/modules/classes/CateringPlace.yaml @@ -11,7 +11,7 @@ imports: # Shared slots (replacing catering_place_* slots per Rule 53) - ../slots/has_or_had_identifier - ../slots/has_or_had_label - - ../slots/has_or_had_structured_description + - ../slots/has_or_had_description # was: has_or_had_structured_description - migrated per Rule 55 (2026-01-16) - ./Label - ./Description # Domain-specific slots (kept) @@ -82,7 +82,7 @@ classes: - wd:Q30022 slots: - has_or_had_accessibility_feature - - has_or_had_structured_description # was: catering_place_description - migrated per Rule 53 + - has_or_had_description # was: has_or_had_structured_description - migrated per Rule 55 (2026-01-16) # was: catering_place_description - migrated per Rule 53 - has_or_had_identifier # was: catering_place_id - migrated per Rule 53 - has_or_had_label # was: catering_place_name - migrated per Rule 53 - catering_price_range @@ -128,7 +128,7 @@ classes: - value: label_text: Van Gogh Museum Café description: Museum café - has_or_had_structured_description: # was: catering_place_description - migrated per Rule 53 + has_or_had_description: # was: catering_place_description - migrated per Rule 53 range: Description inlined: true description: A description of the catering place. @@ -261,7 +261,7 @@ classes: has_or_had_identifier: https://nde.nl/ontology/hc/aux/rijksmuseum-restaurant has_or_had_label: label_text: RIJKS Restaurant - has_or_had_structured_description: + has_or_had_description: description_text: Michelin-starred restaurant serving modern Dutch cuisine. Located in museum atrium with garden views. catering_type: RESTAURANT cuisine_type: Modern Dutch fine dining @@ -280,7 +280,7 @@ classes: has_or_had_identifier: https://nde.nl/ontology/hc/aux/na-cafe has_or_had_label: label_text: Nationaal Archief Café - has_or_had_structured_description: + has_or_had_description: description_text: Casual café for archive visitors. Light lunches, coffee, and pastries. catering_type: CAFE cuisine_type: Café fare, sandwiches, soups @@ -296,7 +296,7 @@ classes: has_or_had_identifier: https://nde.nl/ontology/hc/aux/cafe-americain has_or_had_label: label_text: Café Americain - has_or_had_structured_description: + has_or_had_description: description_text: Historic art deco café dating from 1902. Literary landmark and protected monument. catering_type: HISTORIC_CAFE heritage_type_classification: HISTORIC_RESTAURANT diff --git a/schemas/20251121/linkml/modules/classes/ConservationLab.yaml b/schemas/20251121/linkml/modules/classes/ConservationLab.yaml index a3fc5777ce..8e96ea1a0f 100644 --- a/schemas/20251121/linkml/modules/classes/ConservationLab.yaml +++ b/schemas/20251121/linkml/modules/classes/ConservationLab.yaml @@ -19,7 +19,7 @@ imports: # MIGRATED 2026-01-15: lab_* slots replaced with shared slots per Rule 53 - ../slots/has_or_had_identifier # was: lab_id - ../slots/has_or_had_label # was: lab_name - - ../slots/has_or_had_structured_description # was: lab_description + - ../slots/has_or_had_description # was: has_or_had_structured_description - migrated per Rule 55 (2026-01-16) # was: lab_description - ./Label - ./Description - ../slots/safety_certification @@ -90,7 +90,7 @@ classes: # MIGRATED 2026-01-15: lab_* slots replaced with shared slots per Rule 53 - has_or_had_identifier # was: lab_id - has_or_had_label # was: lab_name - - has_or_had_structured_description # was: lab_description + - has_or_had_description # was: has_or_had_structured_description - migrated per Rule 55 (2026-01-16) # was: lab_description - safety_certification - specificity_annotation - staff_count @@ -126,7 +126,7 @@ classes: - value: label_text: KB Preservation Laboratory description: Library preservation lab - has_or_had_structured_description: # was: lab_description + has_or_had_description: # was: lab_description range: Description inlined: true description: >- @@ -233,7 +233,7 @@ classes: has_or_had_identifier: https://nde.nl/ontology/hc/aux/rijksmuseum-conservation has_or_had_label: label_text: Rijksmuseum Conservation Studio - has_or_had_structured_description: + has_or_had_description: description_text: State-of-the-art conservation studio specializing in Dutch Golden Age paintings, works on paper, and decorative arts. conservation_specialization: - Paintings @@ -258,7 +258,7 @@ classes: has_or_had_identifier: https://nde.nl/ontology/hc/aux/na-restauratie has_or_had_label: label_text: Nationaal Archief Restauratie Atelier - has_or_had_structured_description: + has_or_had_description: description_text: Paper and parchment conservation workshop serving the national archives. Specializes in historical documents, maps, and seals. conservation_specialization: - Paper diff --git a/schemas/20251121/linkml/modules/classes/CustodianLegalStatus.yaml b/schemas/20251121/linkml/modules/classes/CustodianLegalStatus.yaml index 25f6d247b7..02d2033618 100644 --- a/schemas/20251121/linkml/modules/classes/CustodianLegalStatus.yaml +++ b/schemas/20251121/linkml/modules/classes/CustodianLegalStatus.yaml @@ -48,7 +48,7 @@ imports: - ../slots/dissolution_date - ../slots/temporal_extent - ../slots/is_or_was_suborganization_of # was: parent_custodian - migrated per Rule 53 (2025-01-15) - - ../slots/has_or_had_entity_status + - ../slots/has_or_had_status # was: has_or_had_entity_status - migrated per Rule 55 (2026-01-16) - ../slots/governance_structure - ../slots/reconstruction_method - ../slots/is_or_was_derived_from # was: was_derived_from - migrated per Rule 53 @@ -117,7 +117,7 @@ classes: - legal_form - legal_jurisdiction - legal_name - - has_or_had_entity_status + - has_or_had_status # was: has_or_had_entity_status - migrated per Rule 55 (2026-01-16) - is_or_was_suborganization_of # was: parent_custodian - migrated per Rule 53 (2025-01-15) - primary_register - reconstruction_method @@ -231,7 +231,7 @@ classes: description: | Parent organization in hierarchical structure. MIGRATED from parent_custodian slot per slot_fixes.yaml (Rule 53, 2025-01-15). - has_or_had_entity_status: + has_or_had_status: # was: has_or_had_entity_status - migrated per Rule 55 (2026-01-16) range: LegalStatus required: true examples: @@ -353,7 +353,7 @@ classes: alpha_2: NL alpha_3: NLD legal_system_type: CIVIL_LAW - has_or_had_entity_status: + has_or_had_status: # was: has_or_had_entity_status - migrated per Rule 55 (2026-01-16) status_code: ACTIVE status_name: Active is_or_was_derived_from: # was: was_derived_from - migrated per Rule 53 diff --git a/schemas/20251121/linkml/modules/classes/EducationCenter.yaml b/schemas/20251121/linkml/modules/classes/EducationCenter.yaml index b405a0da56..3e6033581a 100644 --- a/schemas/20251121/linkml/modules/classes/EducationCenter.yaml +++ b/schemas/20251121/linkml/modules/classes/EducationCenter.yaml @@ -16,7 +16,7 @@ imports: # Shared slots (replacing education_center_* slots per Rule 53) - ../slots/has_or_had_identifier - ../slots/has_or_had_label - - ../slots/has_or_had_structured_description + - ../slots/has_or_had_description # was: has_or_had_structured_description - migrated per Rule 55 (2026-01-16) - ./Label - ./Description # Domain-specific slots (kept) @@ -95,7 +95,7 @@ classes: # MIGRATED 2026-01-15: education_center_* slots replaced with shared slots per Rule 53 - has_or_had_identifier # was: education_center_id - has_or_had_label # was: education_center_name - - has_or_had_structured_description # was: education_center_description + - has_or_had_description # was: has_or_had_structured_description - migrated per Rule 55 (2026-01-16) # was: education_center_description - education_contact_email - education_type_classification - has_av_equipment @@ -135,7 +135,7 @@ classes: - value: | label_text: KB Workshops & Trainingen description: Library education facility - has_or_had_structured_description: + has_or_had_description: range: Description inlined: true description: A description of the education center. @@ -274,7 +274,7 @@ classes: has_or_had_identifier: https://nde.nl/ontology/hc/aux/rijksmuseum-education has_or_had_label: label_text: Rijksmuseum Educatie Centrum - has_or_had_structured_description: + has_or_had_description: description_text: Dedicated education facility offering school programs, family workshops, and teacher training. education_type_classification: EDUCATION_CENTER serves_or_served: # was: target_audience - migrated per Rule 53 @@ -306,7 +306,7 @@ classes: has_or_had_identifier: https://nde.nl/ontology/hc/aux/na-leercentrum has_or_had_label: label_text: Nationaal Archief Leercentrum - has_or_had_structured_description: + has_or_had_description: description_text: Learning center focused on historical research skills and genealogy. education_type_classification: RESOURCE_CENTER serves_or_served: # was: target_audience - migrated per Rule 53 diff --git a/schemas/20251121/linkml/modules/classes/ExhibitionSpace.yaml b/schemas/20251121/linkml/modules/classes/ExhibitionSpace.yaml index 7d5b4eed06..a513436892 100644 --- a/schemas/20251121/linkml/modules/classes/ExhibitionSpace.yaml +++ b/schemas/20251121/linkml/modules/classes/ExhibitionSpace.yaml @@ -12,7 +12,7 @@ imports: # Shared slots (replacing exhibition_space_* slots per Rule 53) - ../slots/has_or_had_identifier - ../slots/has_or_had_label - - ../slots/has_or_had_structured_description + - ../slots/has_or_had_description # was: has_or_had_structured_description - migrated per Rule 55 (2026-01-16) - ./Label - ./Description # Domain-specific slots (kept) @@ -89,7 +89,7 @@ classes: # MIGRATED 2026-01-15: exhibition_space_* slots replaced with shared slots per Rule 53 - has_or_had_identifier # was: exhibition_space_id - has_or_had_label # was: exhibition_space_name - - has_or_had_structured_description # was: exhibition_space_description + - has_or_had_description # was: has_or_had_structured_description - migrated per Rule 55 (2026-01-16) # was: exhibition_space_description - exhibition_type - gallery_type_classification - has_climate_control @@ -128,7 +128,7 @@ classes: - value: | label_text: Van Gogh Museum Mesdag Collection description: Partner venue exhibition - has_or_had_structured_description: + has_or_had_description: range: Description inlined: true description: A description of the exhibition space. @@ -239,7 +239,7 @@ classes: has_or_had_identifier: https://nde.nl/ontology/hc/aux/rijksmuseum-schiphol-gallery has_or_had_label: label_text: Rijksmuseum Schiphol - has_or_had_structured_description: + has_or_had_description: description_text: Free gallery at Schiphol Airport featuring rotating highlights from the Rijksmuseum collection. exhibition_type: SATELLITE_GALLERY museum_type_classification: ART_MUSEUM @@ -259,7 +259,7 @@ classes: has_or_had_identifier: https://nde.nl/ontology/hc/aux/stedelijk-project-space has_or_had_label: label_text: Stedelijk Museum Bureau Amsterdam - has_or_had_structured_description: + has_or_had_description: description_text: Project space for emerging contemporary artists and experimental exhibitions. exhibition_type: PROJECT_SPACE gallery_type_classification: PROJECT_SPACE diff --git a/schemas/20251121/linkml/modules/classes/GiftShop.yaml b/schemas/20251121/linkml/modules/classes/GiftShop.yaml index 4b3a346ed3..17069d43a5 100644 --- a/schemas/20251121/linkml/modules/classes/GiftShop.yaml +++ b/schemas/20251121/linkml/modules/classes/GiftShop.yaml @@ -27,7 +27,7 @@ imports: # MIGRATED 2026-01-15: shop_* slots replaced with shared slots per Rule 53 - ../slots/has_or_had_identifier # was: shop_id - ../slots/has_or_had_label # was: shop_name - - ../slots/has_or_had_structured_description # was: shop_description + - ../slots/has_or_had_description # was: has_or_had_structured_description - migrated per Rule 55 (2026-01-16) # was: shop_description - ./Label - ./Description - ../slots/shop_type @@ -86,7 +86,7 @@ classes: \ - Temporary retail for special exhibition\n - Exhibition catalog, themed merchandise\n\n**Example - Rijksmuseum\ \ Gift Shop**:\n```yaml\nCustodian:\n hc_id: \"https://nde.nl/ontology/hc/nl-nh-ams-m-rm-q190804\"\n preferred_label:\ \ \"Rijksmuseum\"\n gift_shop:\n - has_or_had_identifier: \"https://nde.nl/ontology/hc/gift-shop/rijksmuseum-shop\" # was: shop_id\n has_or_had_label: # was: shop_name\n label_text:\ - \ \"Rijksmuseum Shop\"\n shop_type: MUSEUM_SHOP\n has_or_had_structured_description: # was: shop_description\n description_text: |\n Award-winning museum shop offering\ + \ \"Rijksmuseum Shop\"\n shop_type: MUSEUM_SHOP\n has_or_had_description: # was: shop_description\n description_text: |\n Award-winning museum shop offering\ \ reproductions, design objects,\n books, and exclusive Rijksmuseum merchandise.\n physical_location:\n\ \ - place_name: \"Rijksmuseum Shop - Main Hall\"\n auxiliary_place_type: RETAIL_SPACE\n street_address:\ \ \"Museumstraat 1, Amsterdam\"\n online_shop:\n - platform_name: \"Rijksmuseum Online Shop\"\n \ @@ -122,7 +122,7 @@ classes: # MIGRATED 2026-01-15: shop_* slots replaced with shared slots per Rule 53 - has_or_had_identifier # was: shop_id - has_or_had_label # was: shop_name - - has_or_had_structured_description # was: shop_description + - has_or_had_description # was: has_or_had_structured_description - migrated per Rule 55 (2026-01-16) # was: shop_description - shop_type - specificity_annotation - square_meters @@ -155,7 +155,7 @@ classes: - value: label_text: British Library Bookshop description: Library bookshop name - has_or_had_structured_description: # was: shop_description + has_or_had_description: # was: shop_description range: Description inlined: true description: A description of the gift shop. @@ -334,7 +334,7 @@ classes: has_or_had_label: # was: shop_name label_text: Rijksmuseum Shop shop_type: MUSEUM_SHOP - has_or_had_structured_description: # was: shop_description + has_or_had_description: # was: shop_description description_text: Award-winning museum shop offering reproductions, design objects, books, and exclusive Rijksmuseum merchandise. Located in the redesigned entrance hall. physical_location: - place_name: Rijksmuseum Shop - Main Hall @@ -377,7 +377,7 @@ classes: has_or_had_label: # was: shop_name label_text: British Library Shop shop_type: BOOKSHOP - has_or_had_structured_description: # was: shop_description + has_or_had_description: # was: shop_description description_text: Specialist bookshop focusing on rare book facsimiles, literary merchandise, and British Library publications. physical_location: - place_name: British Library Shop @@ -410,7 +410,7 @@ classes: has_or_had_label: # was: shop_name label_text: Vermeer Exhibition Pop-up Shop shop_type: POP_UP - has_or_had_structured_description: # was: shop_description + has_or_had_description: # was: shop_description description_text: Temporary retail for the 2023 Vermeer exhibition with exclusive exhibition merchandise and catalog. physical_location: - place_name: Vermeer Exhibition Shop diff --git a/schemas/20251121/linkml/modules/classes/IntangibleHeritageForm.yaml b/schemas/20251121/linkml/modules/classes/IntangibleHeritageForm.yaml index cb08ca5da8..29a31891a8 100644 --- a/schemas/20251121/linkml/modules/classes/IntangibleHeritageForm.yaml +++ b/schemas/20251121/linkml/modules/classes/IntangibleHeritageForm.yaml @@ -21,7 +21,7 @@ imports: # MIGRATED 2026-01-15: heritage_form_* slots replaced with shared slots per Rule 53 - ../slots/has_or_had_identifier # was: heritage_form_id - ../slots/has_or_had_label # was: heritage_form_name - - ../slots/has_or_had_structured_description # was: heritage_form_description + - ../slots/has_or_had_description # was: has_or_had_structured_description - migrated per Rule 55 (2026-01-16) # was: heritage_form_description - ./Label - ./Description - ../slots/kien_registration_date @@ -139,7 +139,7 @@ classes: - external_link - geographic_scope # MIGRATED 2026-01-15: heritage_form_* slots replaced with shared slots per Rule 53 - - has_or_had_structured_description # was: heritage_form_description + - has_or_had_description # was: has_or_had_structured_description - migrated per Rule 55 (2026-01-16) # was: heritage_form_description - has_or_had_identifier # was: heritage_form_id - has_or_had_label # was: heritage_form_name - kien_registration_date @@ -197,7 +197,7 @@ classes: label_text: 1 aprilviering Brielle - value: label_text: Bloemencorso Bollenstreek - has_or_had_structured_description: # was: heritage_form_description + has_or_had_description: # was: heritage_form_description required: false range: Description inlined: true @@ -388,7 +388,7 @@ classes: label: "Pride Amsterdam" has_or_had_label: label_text: Pride Amsterdam - has_or_had_structured_description: + has_or_had_description: description_text: "Annual LGBTQ+ celebration featuring the Canal Parade through Amsterdam's historic canals. First held in 1996, it represents Dutch values of tolerance, equality, and freedom." # unesco_domain - MIGRATED to is_or_was_categorized_as (2026-01-14, Rule 53) is_or_was_categorized_as: diff --git a/schemas/20251121/linkml/modules/classes/PersonObservation.yaml b/schemas/20251121/linkml/modules/classes/PersonObservation.yaml index bfcd2a44cf..29f3282e7e 100644 --- a/schemas/20251121/linkml/modules/classes/PersonObservation.yaml +++ b/schemas/20251121/linkml/modules/classes/PersonObservation.yaml @@ -42,7 +42,7 @@ imports: - ../slots/role_start_date - ../slots/role_end_date - ../slots/observation_source - - ../slots/has_or_had_observation_source_document + - ../slots/has_or_had_provenance # was: has_or_had_observation_source_document - migrated per Rule 55 (2026-01-16) - ../slots/is_or_was_affected_by_event - ../slots/contact_email - ../slots/expertise_area @@ -127,7 +127,7 @@ classes: - linkedin_profile_url - modified - observation_source - - has_or_had_observation_source_document + - has_or_had_provenance # was: has_or_had_observation_source_document - migrated per Rule 55 (2026-01-16) - occupation - person_name - pronoun @@ -250,8 +250,8 @@ classes: observation_source: range: string required: false - description: Simple text reference to source (use has_or_had_observation_source_document for structured data) - has_or_had_observation_source_document: + description: Simple text reference to source (use has_or_had_provenance for structured data) + has_or_had_provenance: # was: has_or_had_observation_source_document - migrated per Rule 55 (2026-01-16) range: SourceDocument required: false inlined: true diff --git a/schemas/20251121/linkml/modules/classes/ProvenanceEvent.yaml b/schemas/20251121/linkml/modules/classes/ProvenanceEvent.yaml index 5366c900af..7816c9d30f 100644 --- a/schemas/20251121/linkml/modules/classes/ProvenanceEvent.yaml +++ b/schemas/20251121/linkml/modules/classes/ProvenanceEvent.yaml @@ -36,7 +36,7 @@ imports: - ../slots/event_timespan - ../slots/footnote - ../slots/from_owner - # REMOVED 2026-01-15: from_owner_text - migrated to has_or_had_structured_description (Rule 53, symmetry with to_owner_text) + # REMOVED 2026-01-15: from_owner_text - migrated to has_or_had_description # was: has_or_had_structured_description - migrated per Rule 55 (2026-01-16) (Rule 53, symmetry with to_owner_text) - ../slots/lot_number - ../slots/nazi_era_flag - ../slots/price_text @@ -44,7 +44,7 @@ imports: - ../slots/specificity_annotation - ../slots/template_specificity - ../slots/to_owner - - ../slots/has_or_had_structured_description # was: to_owner_text - migrated per Rule 53 (2026-01-15) + - ../slots/has_or_had_description # was: has_or_had_structured_description - migrated per Rule 55 (2026-01-16) # was: to_owner_text - migrated per Rule 53 (2026-01-15) # REMOVED 2026-01-15: transfer_location, transfer_location_text - migrated to event_location (Rule 53) - ../slots/event_location - ./SpecificityAnnotation @@ -95,7 +95,7 @@ classes: - event_type - footnote - from_owner - # MIGRATED 2026-01-15: from_owner_text → has_or_had_structured_description (Rule 53, symmetry with to_owner_text) + # MIGRATED 2026-01-15: from_owner_text → has_or_had_description # was: has_or_had_structured_description - migrated per Rule 55 (2026-01-16) (Rule 53, symmetry with to_owner_text) - lot_number - nazi_era_flag - object_ref @@ -107,7 +107,7 @@ classes: - specificity_annotation - template_specificity - to_owner - - has_or_had_structured_description # was: to_owner_text - migrated per Rule 53 (2026-01-15) + - has_or_had_description # was: has_or_had_structured_description - migrated per Rule 55 (2026-01-16) # was: to_owner_text - migrated per Rule 53 (2026-01-15) # MIGRATED 2026-01-15: transfer_location, transfer_location_text → event_location (Rule 53) - event_location slot_usage: @@ -168,7 +168,7 @@ classes: inlined: false examples: - value: https://nde.nl/ontology/hc/custodian/nl/mauritshuis - has_or_had_structured_description: # was: to_owner_text, from_owner_text - migrated per Rule 53 (2026-01-15) + has_or_had_description: # was: to_owner_text, from_owner_text - migrated per Rule 53 (2026-01-15) description: | Owner (source or destination) described as text when no structured entity exists. MIGRATED from to_owner_text and from_owner_text per slot_fixes.yaml (Rule 53, 2026-01-15). @@ -358,8 +358,8 @@ classes: event_timespan: begin_of_the_begin: '1664-01-01' end_of_the_end: '1667-12-31' - # MIGRATED 2026-01-15: to_owner_text, from_owner_text → has_or_had_structured_description (Rule 53) - has_or_had_structured_description: + # MIGRATED 2026-01-15: to_owner_text, from_owner_text → has_or_had_description # was: has_or_had_structured_description - migrated per Rule 55 (2026-01-16) (Rule 53) + has_or_had_description: - description_text: Johannes Vermeer, Delft description_type: to_owner # MIGRATED 2026-01-15: transfer_location_text → event_location (Rule 53) @@ -374,8 +374,8 @@ classes: object_ref: https://nde.nl/ontology/hc/object/mauritshuis-girl-pearl-earring event_type: PURCHASE event_date_text: c. 1665-1674 - # MIGRATED 2026-01-15: from_owner_text, to_owner_text → has_or_had_structured_description (Rule 53) - has_or_had_structured_description: + # MIGRATED 2026-01-15: from_owner_text, to_owner_text → has_or_had_description # was: has_or_had_structured_description - migrated per Rule 55 (2026-01-16) (Rule 53) + has_or_had_description: - description_text: Johannes Vermeer description_type: from_owner - description_text: Pieter van Ruijven, Delft (c. 1665-1674) @@ -392,8 +392,8 @@ classes: event_type: AUCTION event_date: '1696-05-16' event_date_text: May 16, 1696 - # MIGRATED 2026-01-15: from_owner_text, to_owner_text → has_or_had_structured_description (Rule 53) - has_or_had_structured_description: + # MIGRATED 2026-01-15: from_owner_text, to_owner_text → has_or_had_description # was: has_or_had_structured_description - migrated per Rule 55 (2026-01-16) (Rule 53) + has_or_had_description: - description_text: Estate of Jacob Dissius description_type: from_owner - description_text: Unknown buyer @@ -418,8 +418,8 @@ classes: event_type: PURCHASE event_date: '1881-01-01' event_date_text: '1881' - # MIGRATED 2026-01-15: from_owner_text, to_owner_text → has_or_had_structured_description (Rule 53) - has_or_had_structured_description: + # MIGRATED 2026-01-15: from_owner_text, to_owner_text → has_or_had_description # was: has_or_had_structured_description - migrated per Rule 55 (2026-01-16) (Rule 53) + has_or_had_description: - description_text: Unknown seller description_type: from_owner - description_text: A.A. des Tombe, The Hague @@ -439,8 +439,8 @@ classes: event_type: BEQUEST event_date: '1903-01-01' event_date_text: '1903' - # MIGRATED 2026-01-15: from_owner_text → has_or_had_structured_description (Rule 53) - has_or_had_structured_description: + # MIGRATED 2026-01-15: from_owner_text → has_or_had_description # was: has_or_had_structured_description - migrated per Rule 55 (2026-01-16) (Rule 53) + has_or_had_description: - description_text: A.A. des Tombe (d. 1903) description_type: from_owner - description_text: Mauritshuis, The Hague @@ -457,8 +457,8 @@ classes: object_ref: https://nde.nl/ontology/hc/object/example-painting event_type: CONFISCATION event_date_text: '1938' - # MIGRATED 2026-01-15: from_owner_text, to_owner_text → has_or_had_structured_description (Rule 53) - has_or_had_structured_description: + # MIGRATED 2026-01-15: from_owner_text, to_owner_text → has_or_had_description # was: has_or_had_structured_description - migrated per Rule 55 (2026-01-16) (Rule 53) + has_or_had_description: - description_text: Jewish collector, Vienna description_type: from_owner - description_text: Nazi authorities diff --git a/schemas/20251121/linkml/modules/classes/Warehouse.yaml b/schemas/20251121/linkml/modules/classes/Warehouse.yaml index 151b3689d8..1b514f0ba0 100644 --- a/schemas/20251121/linkml/modules/classes/Warehouse.yaml +++ b/schemas/20251121/linkml/modules/classes/Warehouse.yaml @@ -21,7 +21,7 @@ imports: # warehouse_managed_by → is_or_was_managed_by + Group # warehouse_name → has_or_had_label # warehouse_security_level → has_or_had_security_level + SecurityLevel - - ../slots/has_or_had_structured_description # was: warehouse_description - uses Description class + - ../slots/has_or_had_description # was: warehouse_description, migrated from has_or_had_structured_description per Rule 55 (2026-01-16) - ../slots/has_or_had_area - ../slots/has_or_had_identifier - ../slots/is_or_was_managed_by @@ -91,7 +91,7 @@ classes: - specificity_annotation - template_specificity # Migrated per slot_fixes.yaml (Rule 53) - 2026-01-14 - - has_or_had_structured_description # was: warehouse_description (uses Description class) + - has_or_had_description # was: warehouse_description, migrated from has_or_had_structured_description per Rule 55 - has_or_had_area # was: warehouse_floor_area_sqm - has_or_had_identifier # was: warehouse_id - is_or_was_managed_by # was: warehouse_managed_by @@ -123,7 +123,7 @@ classes: description: Museum logistics facility - value: KB Operations Warehouse Leiden description: Library operations warehouse - has_or_had_structured_description: # was: warehouse_description (uses Description class) + has_or_had_description: # was: warehouse_description, migrated from has_or_had_structured_description per Rule 55 description: | Description of warehouse purpose and contents. MIGRATED from warehouse_description per slot_fixes.yaml (Rule 53). @@ -238,7 +238,7 @@ classes: - value: has_or_had_identifier: https://nde.nl/ontology/hc/aux/rm-logistics-warehouse # was: warehouse_id has_or_had_label: Rijksmuseum Logistics Warehouse # was: warehouse_name - has_or_had_structured_description: # was: warehouse_description + has_or_had_description: # was: warehouse_description description_text: Logistics warehouse for exhibition equipment and packing materials. Used by exhibition services team. description_type: warehouse has_or_had_type: EXHIBITION_EQUIPMENT @@ -262,7 +262,7 @@ classes: - value: has_or_had_identifier: https://nde.nl/ontology/hc/aux/na-supplies-warehouse # was: warehouse_id has_or_had_label: Nationaal Archief Supplies Warehouse # was: warehouse_name - has_or_had_structured_description: # was: warehouse_description + has_or_had_description: # was: warehouse_description description_text: General supplies warehouse for archival boxes, office furniture, and operational materials. description_type: warehouse has_or_had_type: GENERAL_SUPPLIES diff --git a/schemas/20251121/linkml/modules/slots/has_or_had_description.yaml b/schemas/20251121/linkml/modules/slots/has_or_had_description.yaml index cf543c5536..aa32056072 100644 --- a/schemas/20251121/linkml/modules/slots/has_or_had_description.yaml +++ b/schemas/20251121/linkml/modules/slots/has_or_had_description.yaml @@ -43,18 +43,16 @@ slots: For Type classes, this provides a formal definition of the type. For instance classes, this provides a description of the specific entity. - **Range**: string (simplified 2026-01-16) + **Range**: `uriorcurie` (2026-01-16, Rule 55) - Changed from Description class to string to resolve OWL ambiguous type - warning. 33+ classes were overriding to string anyway, so this aligns - the canonical definition with actual usage patterns. + Broadened from string to uriorcurie to resolve OWL ambiguous type warnings. + This allows classes to narrow via slot_usage to: + - `string` for simple text descriptions + - `Description` class for structured descriptions with language/type metadata - For structured descriptions with language and type, use the Description - class directly as a slot value (not through this slot). + See Rule 55: Broaden Generic Predicate Ranges Instead of Creating Bespoke Predicates. - **Range**: `Any` (2026-01-16) - Allows both string values and Description class instances. - - range: string + range: uriorcurie required: false multivalued: false @@ -71,13 +69,18 @@ slots: budget_description, zone_description, warehouse_description, unit_description, type_description, storage_type_description migration_date: "2026-01-15" - simplified_date: "2026-01-16" - slot_fixes_compliance: "Simplified from Description class to string (2026-01-16)" + range_broadening_date: "2026-01-16" + range_broadening_rationale: | + Changed from range:string to range:uriorcurie per Rule 55. + This allows classes to narrow to string or Description class + via slot_usage without OWL ambiguous type warnings. + Replaces need for bespoke has_or_had_structured_description slot. comments: - "Generic description slot for type classes and entities" - - "Simplified to range: string (2026-01-16) - resolves OWL ambiguous type" - - "Use Description class directly if structured descriptions needed" + - "Range: uriorcurie (2026-01-16) - resolves OWL ambiguous type per Rule 55" + - "Classes narrow to string or Description via slot_usage" + - "Replaces bespoke has_or_had_structured_description slot" examples: - value: "Specialized climate-controlled facility for archival documents." diff --git a/schemas/20251121/linkml/modules/slots/has_or_had_entity_status.yaml b/schemas/20251121/linkml/modules/slots/has_or_had_entity_status.yaml deleted file mode 100644 index dc1084b8ce..0000000000 --- a/schemas/20251121/linkml/modules/slots/has_or_had_entity_status.yaml +++ /dev/null @@ -1,64 +0,0 @@ -# has_or_had_entity_status - Entity operational status slot -# -# Following RiC-O style naming convention (Rule 39): -# - has_or_had_* indicates temporal relationship -# -# Created to resolve OWL ambiguous type warning on legal_status slot. -# This slot is for LegalStatus objects (ACTIVE, DISSOLVED, etc.), -# distinct from legal_status slot which links to CustodianLegalStatus. - -id: https://nde.nl/ontology/hc/slot/has_or_had_entity_status -name: has_or_had_entity_status_slot -title: Has Or Had Entity Status Slot - -prefixes: - linkml: https://w3id.org/linkml/ - hc: https://nde.nl/ontology/hc/ - gleif_base: https://www.gleif.org/ontology/Base/ - schema: http://schema.org/ - -imports: - - linkml:types - - ../classes/RegistrationInfo # Contains LegalStatus class - -default_prefix: hc - -slots: - has_or_had_entity_status: - slot_uri: hc:hasOrHadEntityStatus - range: LegalStatus - description: | - Current or past operational status of a legal entity. - - Links to LegalStatus with: - - status_code: ACTIVE, DISSOLVED, MERGED, SUSPENDED, etc. - - status_name: Human-readable status name - - **ONTOLOGY ALIGNMENT**: - - | Ontology | Property | Notes | - |----------|----------|-------| - | **GLEIF** | `gleif_base:hasEntityStatus` | Close - entity lifecycle status | - | **Schema.org** | `schema:status` | Related - general status | - - **DISTINCTION FROM legal_status SLOT**: - - | Slot | Range | Purpose | - |------|-------|---------| - | `legal_status` | `CustodianLegalStatus` | Links to legal entity object | - | `has_or_had_entity_status` | `LegalStatus` | Indicates operational status (ACTIVE/DISSOLVED) | - - required: true - close_mappings: - - gleif_base:hasEntityStatus - related_mappings: - - schema:status - examples: - - value: - status_code: ACTIVE - status_name: Active - description: Currently operating entity - - value: - status_code: DISSOLVED - status_name: Dissolved - description: Legally dissolved entity diff --git a/schemas/20251121/linkml/modules/slots/has_or_had_hypernym.yaml b/schemas/20251121/linkml/modules/slots/has_or_had_hypernym.yaml index 1745013b76..c26ea928d6 100644 --- a/schemas/20251121/linkml/modules/slots/has_or_had_hypernym.yaml +++ b/schemas/20251121/linkml/modules/slots/has_or_had_hypernym.yaml @@ -56,7 +56,7 @@ slots: but since they're all referring to URIs, this causes no OWL ambiguity when the base range is uriorcurie (compatible with ObjectProperty). - range: uriorcurie + range: uriorcurie # Broadened per Rule 55 (2026-01-16) - Any allows both literals and class instances required: false multivalued: false diff --git a/schemas/20251121/linkml/modules/slots/has_or_had_hyponym.yaml b/schemas/20251121/linkml/modules/slots/has_or_had_hyponym.yaml index ce8ea71095..63326bd58b 100644 --- a/schemas/20251121/linkml/modules/slots/has_or_had_hyponym.yaml +++ b/schemas/20251121/linkml/modules/slots/has_or_had_hyponym.yaml @@ -59,7 +59,7 @@ slots: but since they're all referring to URIs, this causes no OWL ambiguity when the base range is uriorcurie (compatible with ObjectProperty). - range: uriorcurie + range: uriorcurie # Broadened per Rule 55 (2026-01-16) - Any allows both literals and class instances required: false multivalued: true inlined_as_list: true diff --git a/schemas/20251121/linkml/modules/slots/has_or_had_identifier.yaml b/schemas/20251121/linkml/modules/slots/has_or_had_identifier.yaml index 1c7558e2e2..d419fdaaa2 100644 --- a/schemas/20251121/linkml/modules/slots/has_or_had_identifier.yaml +++ b/schemas/20251121/linkml/modules/slots/has_or_had_identifier.yaml @@ -49,7 +49,7 @@ slots: **Range**: `Any` (2026-01-16) - Allows uriorcurie values and Identifier class instances. - range: uriorcurie + range: uriorcurie # Broadened per Rule 55 (2026-01-16) - Any allows both literals and class instances required: false multivalued: false diff --git a/schemas/20251121/linkml/modules/slots/has_or_had_label.yaml b/schemas/20251121/linkml/modules/slots/has_or_had_label.yaml index 7e324d8b29..de91ddb571 100644 --- a/schemas/20251121/linkml/modules/slots/has_or_had_label.yaml +++ b/schemas/20251121/linkml/modules/slots/has_or_had_label.yaml @@ -51,7 +51,7 @@ slots: **Range**: `Any` (2026-01-16) - Allows both string values and Label class instances. - range: uriorcurie + range: uriorcurie # Broadened per Rule 55 (2026-01-16) - Any allows both literals and class instances required: false multivalued: true diff --git a/schemas/20251121/linkml/modules/slots/has_or_had_observation_source_document.yaml b/schemas/20251121/linkml/modules/slots/has_or_had_observation_source_document.yaml deleted file mode 100644 index 2afbfc205a..0000000000 --- a/schemas/20251121/linkml/modules/slots/has_or_had_observation_source_document.yaml +++ /dev/null @@ -1,67 +0,0 @@ -# has_or_had_observation_source_document - Source document for observation -# -# Following RiC-O style naming convention (Rule 39): -# - has_or_had_* indicates temporal relationship -# -# Created to resolve OWL ambiguous type warning on observation_source slot. -# This slot is for SourceDocument objects (structured source references), -# distinct from observation_source slot which uses string values. - -id: https://nde.nl/ontology/hc/slot/has_or_had_observation_source_document -name: has_or_had_observation_source_document_slot -title: Has Or Had Observation Source Document Slot - -prefixes: - linkml: https://w3id.org/linkml/ - hc: https://nde.nl/ontology/hc/ - prov: http://www.w3.org/ns/prov# - dcterms: http://purl.org/dc/terms/ - -imports: - - linkml:types - - ../classes/SourceDocument - -default_prefix: hc - -slots: - has_or_had_observation_source_document: - slot_uri: hc:hasOrHadObservationSourceDocument - range: SourceDocument - description: | - Structured source document where this observation was found. - - Links to SourceDocument with: - - source_type: "Staff directory", "Annual report", etc. - - source_uri: URL if available - - observation_date: When source was consulted - - **PiCo Pattern**: PersonObservation MUST link to source (evidence-based) - **PROV-O**: `prov:hadPrimarySource` for provenance tracking - - **Source Types**: - - Staff directory (online or print) - - Organizational chart - - Annual report - - Institutional website - - Archival personnel records - - Publication credits - - Email signature - - **DISTINCTION FROM observation_source SLOT**: - - | Slot | Range | Purpose | - |------|-------|---------| - | `observation_source` | `string` | Simple text reference to source | - | `has_or_had_observation_source_document` | `SourceDocument` | Structured source with metadata | - - required: false - close_mappings: - - prov:hadPrimarySource - related_mappings: - - dcterms:source - examples: - - value: - source_type: Staff directory - source_uri: https://example.org/staff - observation_date: "2025-01-10" - description: Staff directory source with structured metadata diff --git a/schemas/20251121/linkml/modules/slots/has_or_had_provenance.yaml b/schemas/20251121/linkml/modules/slots/has_or_had_provenance.yaml index c2554ed3c0..2ff3bc6ffd 100644 --- a/schemas/20251121/linkml/modules/slots/has_or_had_provenance.yaml +++ b/schemas/20251121/linkml/modules/slots/has_or_had_provenance.yaml @@ -1,14 +1,14 @@ +# has_or_had_provenance slot +# Generic slot for attaching provenance information to any data element. +# +# MIGRATION NOTE (2026-01-14): +# Created as replacement for `all_data_real`, `is_or_was_real`, and `has_all_data_real_flag` slots. +# +# Updated 2026-01-16: Broadened range to uriorcurie per Rule 55 + id: https://nde.nl/ontology/hc/slot/has_or_had_provenance name: has_or_had_provenance_slot title: Has Or Had Provenance Slot -description: >- - Generic slot for attaching provenance information to any data element. - - **MIGRATION NOTE** (2026-01-14): - Created as replacement for `all_data_real`, `is_or_was_real`, and `has_all_data_real_flag` slots. - Uses `ProvenanceBlock` class for comprehensive provenance tracking including data realness, - extraction metadata, confidence scores, and verification status. - See slot_fixes.yaml for migration specification. prefixes: linkml: https://w3id.org/linkml/ @@ -19,17 +19,21 @@ prefixes: imports: - linkml:types - - ../classes/ProvenanceBlock default_prefix: hc slots: has_or_had_provenance: + slot_uri: prov:wasGeneratedBy description: >- Provenance information for this data element. - Links to a ProvenanceBlock that contains comprehensive provenance tracking - including data sources, extraction methods, confidence scores, timestamps, - and verification status. + **Range**: `uriorcurie` (2026-01-16, Rule 55) + + Broadened from ProvenanceBlock to uriorcurie to resolve OWL ambiguous type warnings. + This allows classes to narrow via slot_usage to: + - `ProvenanceBlock` for comprehensive provenance tracking + - `SourceDocument` for source document references + - String URIs for simple provenance references **TEMPORAL SEMANTICS** (RiC-O style): The "has_or_had" naming follows RiC-O convention indicating that provenance @@ -42,6 +46,7 @@ slots: - `all_data_real` (auto-generated stub, string range) - `is_or_was_real` (RealnessStatus typed class) - `has_all_data_real_flag` (boolean flag, no provenance) + - `has_or_had_observation_source_document` (bespoke slot, Rule 55) **EXAMPLE**: ```yaml @@ -52,8 +57,7 @@ slots: note: "Verified production data" ``` - range: ProvenanceBlock - slot_uri: prov:wasGeneratedBy + range: uriorcurie inlined: true exact_mappings: @@ -71,11 +75,18 @@ slots: specificity_score: "0.2" specificity_rationale: >- Very low specificity - universal metadata applicable everywhere. + range_broadening_date: "2026-01-16" + range_broadening_rationale: | + Changed from range:ProvenanceBlock to range:uriorcurie per Rule 55. + This allows classes to narrow to ProvenanceBlock, SourceDocument, or URI + via slot_usage without OWL ambiguous type warnings. + Replaces need for bespoke has_or_had_observation_source_document slot. comments: - Created from slot_fixes.yaml migration (2026-01-14) - - Replaces all_data_real, is_or_was_real, and has_all_data_real_flag slots - - Uses ProvenanceBlock class for comprehensive provenance tracking + - Range broadened to uriorcurie (2026-01-16, Rule 55) + - Classes narrow to ProvenanceBlock or SourceDocument via slot_usage + - Replaces bespoke has_or_had_observation_source_document slot see_also: - http://www.w3.org/ns/prov#wasGeneratedBy diff --git a/schemas/20251121/linkml/modules/slots/has_or_had_rationale.yaml b/schemas/20251121/linkml/modules/slots/has_or_had_rationale.yaml index aedda75e61..9b1a224ea6 100644 --- a/schemas/20251121/linkml/modules/slots/has_or_had_rationale.yaml +++ b/schemas/20251121/linkml/modules/slots/has_or_had_rationale.yaml @@ -40,7 +40,7 @@ slots: **Note**: slot_uri changed from skos:note to hc:hasOrHadRationale (2026-01-16) to allow class-valued ranges when classes use Rationale class. - range: uriorcurie + range: uriorcurie # Broadened per Rule 55 (2026-01-16) - Any allows both literals and class instances close_mappings: - skos:note diff --git a/schemas/20251121/linkml/modules/slots/has_or_had_status.yaml b/schemas/20251121/linkml/modules/slots/has_or_had_status.yaml index 0f76e139e1..63194ab949 100644 --- a/schemas/20251121/linkml/modules/slots/has_or_had_status.yaml +++ b/schemas/20251121/linkml/modules/slots/has_or_had_status.yaml @@ -23,10 +23,20 @@ default_prefix: hc slots: has_or_had_status: slot_uri: hc:hasOrHadStatus - range: uriorcurie + range: uriorcurie # Broadened per Rule 55 (2026-01-16) - accepts URIs/CURIEs for type-safe linking description: | Current or past status of an entity. + **Range**: `uriorcurie` (2026-01-16, Rule 55) + + Broadened to uriorcurie to resolve OWL ambiguous type warnings. + This allows classes to narrow via slot_usage to: + - `LegalStatus` for entity operational status (ACTIVE, DISSOLVED) + - `BackupStatus`, `PreservationStatus` for technical statuses + - String values via uriorcurie + + **Replaces bespoke**: `has_or_had_entity_status` (Rule 55) + **ONTOLOGY ALIGNMENT**: | Ontology | Property | Notes | @@ -38,13 +48,7 @@ slots: **USAGE NOTE**: When used in class slot_usage, override the range to point to a specific - Status class (e.g., BackupStatus, PreservationStatus) for structured status. - - **Note**: slot_uri changed from schema:status to hc:hasOrHadStatus (2026-01-16) - to resolve OWL ambiguous type warning when classes override range to Status classes. - schema:status moved to close_mappings. - - **Range**: `Any` (2026-01-16) - Allows both string values and Status class instances. + Status class (e.g., LegalStatus, BackupStatus, PreservationStatus) for structured status. close_mappings: - schema:status diff --git a/schemas/20251121/linkml/modules/slots/has_or_had_structured_description.yaml b/schemas/20251121/linkml/modules/slots/has_or_had_structured_description.yaml deleted file mode 100644 index f21f4cf90d..0000000000 --- a/schemas/20251121/linkml/modules/slots/has_or_had_structured_description.yaml +++ /dev/null @@ -1,62 +0,0 @@ -# has_or_had_structured_description slot -# Slot for structured Description class instances -# -# Following RiC-O naming convention (Rule 39): "hasOrHad..." pattern -# for temporal relationships in heritage domain. -# -# Created to resolve OWL ambiguous type warning on has_or_had_description slot. -# This slot is for Description class (structured descriptions with language/type), -# distinct from has_or_had_description slot which uses string values. -# -# Generation date: 2026-01-16 -# Rule compliance: 38 (slot centralization + semantic URI), 39 (RiC-O naming), 42 (no prefix) - -id: https://nde.nl/ontology/hc/slot/has_or_had_structured_description -name: has_or_had_structured_description_slot -title: Has Or Had Structured Description Slot - -prefixes: - linkml: https://w3id.org/linkml/ - hc: https://nde.nl/ontology/hc/ - dcterms: http://purl.org/dc/terms/ - skos: http://www.w3.org/2004/02/skos/core# - -default_prefix: hc - -imports: - - linkml:types - - ../classes/Description - -slots: - has_or_had_structured_description: - slot_uri: hc:hasOrHadStructuredDescription - range: Description - description: | - Structured description with language, type, and provenance metadata. - - **DISTINCTION FROM has_or_had_description SLOT**: - - | Slot | Range | Purpose | - |------|-------|---------| - | `has_or_had_description` | `string` | Simple text description | - | `has_or_had_structured_description` | `Description` | Typed description with metadata | - - **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`): `hc:hasOrHadStructuredDescription` - ObjectProperty - - **Close**: `dcterms:description` - Dublin Core (DatatypeProperty) - - **Close**: `skos:definition` - SKOS definition - required: false - inlined: true - close_mappings: - - dcterms:description - - skos:definition - examples: - - value: - description_text: "A historic reading room with original 19th century furnishings" - description_type: FACILITY - description_language: en - description: Structured facility description with language tag diff --git a/schemas/20251121/linkml/modules/slots/has_or_had_type.yaml b/schemas/20251121/linkml/modules/slots/has_or_had_type.yaml index 7849c70444..a04d83a09d 100644 --- a/schemas/20251121/linkml/modules/slots/has_or_had_type.yaml +++ b/schemas/20251121/linkml/modules/slots/has_or_had_type.yaml @@ -54,7 +54,7 @@ slots: **Cardinality**: Multivalued - entities may have multiple type classifications. - range: uriorcurie + range: uriorcurie # Broadened per Rule 55 (2026-01-16) - Any allows both literals and class instances required: false multivalued: true inlined_as_list: true diff --git a/schemas/20251121/linkml/modules/slots/has_or_had_url.yaml b/schemas/20251121/linkml/modules/slots/has_or_had_url.yaml index 942c780b61..91f812085c 100644 --- a/schemas/20251121/linkml/modules/slots/has_or_had_url.yaml +++ b/schemas/20251121/linkml/modules/slots/has_or_had_url.yaml @@ -58,7 +58,7 @@ slots: **Range**: `Any` (2026-01-16) - Allows uri/string values and URL class instances. - range: uriorcurie # Broadened per Rule 55 (2026-01-16) to resolve OWL ambiguous type warning + range: uriorcurie # Broadened per Rule 55 (2026-01-16) - Any allows both literals and class instances required: false multivalued: true inlined: true diff --git a/schemas/20251121/linkml/modules/slots/is_or_was_categorized_as.yaml b/schemas/20251121/linkml/modules/slots/is_or_was_categorized_as.yaml index 6c9308c53a..3413b1089c 100644 --- a/schemas/20251121/linkml/modules/slots/is_or_was_categorized_as.yaml +++ b/schemas/20251121/linkml/modules/slots/is_or_was_categorized_as.yaml @@ -37,7 +37,7 @@ slots: **Range**: `Any` (2026-01-16) - Allows uriorcurie values and class instances. - range: uriorcurie # Broadened per Rule 55 (2026-01-16) to resolve OWL ambiguous type warning + range: uriorcurie # Broadened per Rule 55 (2026-01-16) - Any allows both literals and class instances multivalued: true exact_mappings: diff --git a/schemas/20251121/linkml/modules/slots/is_or_was_derived_from.yaml b/schemas/20251121/linkml/modules/slots/is_or_was_derived_from.yaml index b0b2a9f6e8..824fd682ec 100644 --- a/schemas/20251121/linkml/modules/slots/is_or_was_derived_from.yaml +++ b/schemas/20251121/linkml/modules/slots/is_or_was_derived_from.yaml @@ -37,7 +37,7 @@ slots: to resolve OWL ambiguous type warning when classes override range to class types (e.g., CustodianObservation). - range: uriorcurie # Broadened per Rule 55 (2026-01-16) to resolve OWL ambiguous type warning + range: uriorcurie # Broadened per Rule 55 (2026-01-16) - Any allows both literals and class instances exact_mappings: - prov:wasDerivedFrom diff --git a/schemas/20251121/linkml/modules/slots/is_or_was_equivalent_to.yaml b/schemas/20251121/linkml/modules/slots/is_or_was_equivalent_to.yaml index 6f030797c6..980ccbe5ff 100644 --- a/schemas/20251121/linkml/modules/slots/is_or_was_equivalent_to.yaml +++ b/schemas/20251121/linkml/modules/slots/is_or_was_equivalent_to.yaml @@ -55,7 +55,7 @@ slots: **Cardinality**: Multivalued - an entity may have equivalences in multiple systems. - range: uriorcurie # Broadened per Rule 55 (2026-01-16) to resolve OWL ambiguous type warning + range: uriorcurie # Broadened per Rule 55 (2026-01-16) - Any allows both literals and class instances required: false multivalued: true inlined_as_list: true diff --git a/schemas/20251121/linkml/modules/slots/is_or_was_generated_by.yaml b/schemas/20251121/linkml/modules/slots/is_or_was_generated_by.yaml index 47631a5888..3c5f1aa1f4 100644 --- a/schemas/20251121/linkml/modules/slots/is_or_was_generated_by.yaml +++ b/schemas/20251121/linkml/modules/slots/is_or_was_generated_by.yaml @@ -37,7 +37,7 @@ slots: to resolve OWL ambiguous type warning when classes override range to class types (e.g., ReconstructionActivity). - range: uriorcurie # Broadened per Rule 55 (2026-01-16) to resolve OWL ambiguous type warning + range: uriorcurie # Broadened per Rule 55 (2026-01-16) - Any allows both literals and class instances exact_mappings: - prov:wasGeneratedBy diff --git a/schemas/20251121/linkml/modules/slots/is_or_was_instance_of.yaml b/schemas/20251121/linkml/modules/slots/is_or_was_instance_of.yaml index 3b50f2206b..0424f90d45 100644 --- a/schemas/20251121/linkml/modules/slots/is_or_was_instance_of.yaml +++ b/schemas/20251121/linkml/modules/slots/is_or_was_instance_of.yaml @@ -60,7 +60,7 @@ slots: **Cardinality**: Multivalued - entities may have multiple classifications. - range: uriorcurie # Broadened per Rule 55 (2026-01-16) to resolve OWL ambiguous type warning + range: uriorcurie # Broadened per Rule 55 (2026-01-16) - Any allows both literals and class instances required: false multivalued: true inlined_as_list: true 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 index 9b5cc6ca5e..0e5501c4ea 100644 --- a/schemas/20251121/linkml/modules/slots/is_or_was_related_to.yaml +++ b/schemas/20251121/linkml/modules/slots/is_or_was_related_to.yaml @@ -62,7 +62,7 @@ slots: **Cardinality**: Multivalued - an entity may have multiple associations. - range: uriorcurie # Broadened per Rule 55 (2026-01-16) to resolve OWL ambiguous type warning + range: uriorcurie # Broadened per Rule 55 (2026-01-16) - Any allows both literals and class instances required: false multivalued: true inlined_as_list: true diff --git a/schemas/20251121/linkml/modules/slots/slot_fixes.yaml b/schemas/20251121/linkml/modules/slots/slot_fixes.yaml index 52341575e2..34fa541fba 100644 --- a/schemas/20251121/linkml/modules/slots/slot_fixes.yaml +++ b/schemas/20251121/linkml/modules/slots/slot_fixes.yaml @@ -701,20 +701,6 @@ fixes: type: slot - label: BackupTypes type: class -- original_slot_id: https://nde.nl/ontology/hc/slot/base_surname - processed: - status: true - timestamp: '2026-01-15T00:20:00Z' - session: session-2026-01-15-slot-migrations - notes: 'NO MIGRATION NEEDED: base_surname already uses pnv:baseSurname (Person - Name Vocabulary) which is the correct Dutch heritage standard. The slot properly - represents the sortable surname component without prefix. Creating a Surname - class would add unnecessary complexity. PNV ontology alignment is semantically - correct.' - revision: - - label: base_surname - type: slot - status: RETAINED - original_slot_id: https://nde.nl/ontology/hc/slot/bay_number processed: status: true @@ -5879,4 +5865,20 @@ fixes: - label: has_or_had_role type: slot - label: AuthorRole + type: class +- original_slot_id: https://nde.nl/ontology/hc/slot/backup_status + revision: + - label: has_or_had_status + type: slot + - label: BackupStatus + type: class +- original_slot_id: https://nde.nl/ontology/hc/slot/base_surname + revision: + - label: has_or_had_last_name + type: slot + - label: LastName + type: class + - label: has_or_had_base + type: slot + - label: BaseName type: class \ No newline at end of file