Compare commits

...

6 commits

Author SHA1 Message Date
kempersc
b68d580c82 chore: sync frontend manifest
All checks were successful
Deploy Frontend / build-and-deploy (push) Successful in 2m1s
2026-01-19 16:16:29 +01:00
kempersc
4e084ace78 chore: update manifests after migrations 2026-01-19 16:15:51 +01:00
kempersc
79314c48ae feat(schema): migrate collection_focus to has_or_had_category and create Category class; archive collection_discovery_score 2026-01-19 16:14:01 +01:00
kempersc
f622450304 Add new slots and update existing ones for heritage ontology
- Introduced new slots for administrative context, CMS categories, detected CMS, product version, co-funding requirements, co-organizers, collection access, collection dates, characteristics, class definitions, Dutch context, example locations, names, notes, and Wikidata IDs.
- Enhanced existing slots such as has_or_had_organizer and offers_or_offered_access to align with RiC-O naming conventions and improve temporal semantics.
- Migrated and restructured descriptions for clarity and consistency across various slots, ensuring alignment with Schema.org and other ontological standards.
- Implemented multivalued and inlined options for several slots to accommodate complex data structures.
- Updated annotations and examples to reflect the latest usage scenarios and best practices in the heritage sector.
2026-01-19 16:05:32 +01:00
kempersc
d0e5a5092d fix(schema): annotation format fixes and add slot_fixes revisions
- Fix template_specificity annotations in Classroom.yaml and RoomUnit.yaml
  (YAML nested object → JSON string format for LinkML compatibility)
- Add 24 new slot_fixes revision entries:
  - decommission_date → is_or_was_decommissioned_at + Timestamp
  - deductibility_* → TaxDeductibility classes
  - default_* → Language, Status, Caption, Alignment classes
  - definition → Resolution + Quantity classes
2026-01-19 15:55:27 +01:00
kempersc
1a665e343f fix: update generated timestamp in manifest.json and add parent_organization field in WikidataEnrichment.yaml 2026-01-19 14:49:47 +01:00
90 changed files with 4984 additions and 346 deletions

View file

@ -1,5 +1,5 @@
{ {
"generated": "2026-01-19T12:10:38.542Z", "generated": "2026-01-19T15:15:51.847Z",
"schemaRoot": "/schemas/20251121/linkml", "schemaRoot": "/schemas/20251121/linkml",
"totalFiles": 2969, "totalFiles": 2969,
"categoryCounts": { "categoryCounts": {

View file

@ -1,5 +1,5 @@
{ {
"generated": "2026-01-19T12:12:01.538Z", "generated": "2026-01-19T15:15:51.847Z",
"schemaRoot": "/schemas/20251121/linkml", "schemaRoot": "/schemas/20251121/linkml",
"totalFiles": 2969, "totalFiles": 2969,
"categoryCounts": { "categoryCounts": {

View file

@ -0,0 +1,254 @@
# Access class
# Structured access information for heritage collections and services
#
# Created per slot_fixes.yaml revision for collection_access migration
# Generation date: 2026-01-19
# Rule compliance: 53 (slot_fixes.yaml), 39 (RiC-O naming)
id: https://nde.nl/ontology/hc/class/Access
name: Access
title: Access Class
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
schema: http://schema.org/
dcterms: http://purl.org/dc/terms/
crm: http://www.cidoc-crm.org/cidoc-crm/
default_prefix: hc
imports:
- linkml:types
- ../metadata
- ./TimeSpan
classes:
Access:
class_uri: dcterms:RightsStatement
description: |
Structured access information for heritage collections, services, or facilities.
**Purpose**:
Replaces simple string descriptions of access conditions with structured
data capturing access types, eligible users, conditions, and restrictions.
**Key Properties**:
- `access_type`: Type of access (PUBLIC, BY_APPOINTMENT, RESTRICTED, etc.)
- `eligible_users`: Who can access (public, students, faculty, researchers)
- `access_conditions`: Conditions or requirements for access
- `access_restrictions`: Specific restrictions that apply
- `temporal_extent`: When this access policy applies
**Access Types**:
- PUBLIC: Open to general public
- BY_APPOINTMENT: Requires advance appointment
- ACADEMIC: Restricted to academic community
- RESEARCHER: Restricted to credentialed researchers
- MEMBER: Requires membership
- RESTRICTED: Limited access with specific conditions
- CLOSED: Not currently accessible
- DIGITAL_ONLY: Available only in digital form
**Ontological Alignment**:
- **Primary**: `dcterms:RightsStatement` - Dublin Core rights statement
- **Close**: `schema:publicAccess` - Schema.org access indicator
- **Related**: `crm:E30_Right` - CIDOC-CRM rights
exact_mappings:
- dcterms:RightsStatement
close_mappings:
- schema:publicAccess
related_mappings:
- crm:E30_Right
slots:
- access_type
- eligible_users
- access_conditions
- access_restrictions
- access_description
- temporal_extent
- is_digital_access
slot_usage:
access_type:
required: true
range: AccessTypeEnum
description: Type of access offered
examples:
- value: PUBLIC
- value: BY_APPOINTMENT
- value: ACADEMIC
eligible_users:
required: false
range: string
multivalued: true
description: |
Categories of users eligible for this access.
Examples: "enrolled students", "faculty", "visiting scholars",
"credentialed researchers", "general public"
examples:
- value: "enrolled students"
- value: "faculty and staff"
- value: "visiting researchers with credentials"
access_conditions:
required: false
range: string
multivalued: true
description: |
Conditions that must be met for access.
Examples: "valid university ID", "advance booking required",
"handling training completed"
examples:
- value: "valid university ID required"
- value: "24-hour advance booking required"
access_restrictions:
required: false
range: string
multivalued: true
description: |
Specific restrictions on access.
Examples: "conservation concerns limit handling",
"donor restrictions apply", "high-value items in secure storage"
examples:
- value: "fragile materials limited to supervised viewing"
- value: "donor bequest restricts reproduction"
access_description:
required: false
range: string
description: |
Free-text description of access policy.
For backward compatibility with string-based collection_access.
examples:
- value: "Open to enrolled students and faculty; public by appointment"
temporal_extent:
required: false
range: TimeSpan
inlined: true
description: |
Time period during which this access policy applies.
Useful for temporary restrictions or seasonal access.
is_digital_access:
required: false
range: boolean
description: Whether this access is for digital materials
annotations:
specificity_score: 0.50
specificity_rationale: "Moderately specific - applies to collection and service access contexts"
custodian_types: '["*"]'
custodian_types_rationale: "All institution types offer some form of access"
comments:
- "Created per slot_fixes.yaml revision for collection_access migration"
- "Replaces string-based collection_access with structured access data"
- "RULE 53: Part of collection_access → offers_or_offered_access + Access migration"
examples:
- value:
access_type: PUBLIC
access_description: "Open to general public during gallery hours"
eligible_users:
- "general public"
access_conditions:
- "during posted gallery hours"
description: "Public access during gallery hours"
- value:
access_type: BY_APPOINTMENT
eligible_users:
- "credentialed researchers"
- "graduate students with faculty sponsor"
access_conditions:
- "48-hour advance booking required"
- "handling training required for original materials"
access_restrictions:
- "fragile materials limited to supervised viewing only"
description: "Research access by appointment with conditions"
- value:
access_type: ACADEMIC
access_description: "Open to enrolled students and faculty; public by appointment"
eligible_users:
- "enrolled students"
- "faculty"
- "research staff"
access_conditions:
- "valid university ID"
is_digital_access: false
description: "Academic community access with public by appointment"
- value:
access_type: DIGITAL_ONLY
access_description: "Collection accessible only through online database"
eligible_users:
- "anyone with internet access"
is_digital_access: true
description: "Digital-only access"
slots:
access_type:
slot_uri: dcterms:accessRights
description: Type of access offered
range: string
required: true
eligible_users:
slot_uri: schema:eligibleRegion
description: Categories of users eligible for access
range: string
multivalued: true
access_conditions:
slot_uri: schema:termsOfService
description: Conditions for access
range: string
multivalued: true
access_restrictions:
slot_uri: schema:usageInfo
description: Restrictions on access
range: string
multivalued: true
access_description:
slot_uri: schema:description
description: Free-text description of access policy
range: string
is_digital_access:
slot_uri: schema:isAccessibleForFree
description: Whether this is digital access
range: boolean
enums:
AccessTypeEnum:
description: Types of access to collections or services
permissible_values:
PUBLIC:
description: Open to general public
BY_APPOINTMENT:
description: Requires advance appointment
ACADEMIC:
description: Restricted to academic community
RESEARCHER:
description: Restricted to credentialed researchers
MEMBER:
description: Requires membership
RESTRICTED:
description: Limited access with specific conditions
CLOSED:
description: Not currently accessible
DIGITAL_ONLY:
description: Available only in digital form
MIXED:
description: Multiple access types apply

View file

@ -0,0 +1,168 @@
id: https://nde.nl/ontology/hc/class/Acquisition
name: acquisition_class
title: Acquisition Class
# Created per slot_fixes.yaml revision for collection_date migration
# RULE 53: Structured acquisition event with temporal extent
# CIDOC-CRM E8 Acquisition pattern
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
crm: http://www.cidoc-crm.org/cidoc-crm/
prov: http://www.w3.org/ns/prov#
schema: http://schema.org/
dwc: http://rs.tdwg.org/dwc/terms/
rico: https://www.ica.org/standards/RiC/ontology#
imports:
- linkml:types
- ../slots/temporal_extent
- ./TimeSpan
- ../slots/specificity_annotation
- ../slots/has_or_had_score
- ./SpecificityAnnotation
- ./TemplateSpecificityScore
- ./TemplateSpecificityType
- ./TemplateSpecificityTypes
default_range: string
enums:
AcquisitionMethodEnum:
description: Methods by which items are acquired for collections.
permissible_values:
FIELD_COLLECTION:
description: Collected in the field (biological, geological specimens)
meaning: dwc:Occurrence
PURCHASE:
description: Acquired through purchase
meaning: schema:BuyAction
DONATION:
description: Given as a gift or donation
meaning: schema:DonateAction
BEQUEST:
description: Received through will or estate
TRANSFER:
description: Transferred from another institution
meaning: crm:E10_Transfer_of_Custody
EXCHANGE:
description: Exchanged with another institution (specimen exchange)
EXCAVATION:
description: Recovered through archaeological excavation
LOAN:
description: On long-term loan (not owned)
CONFISCATION:
description: Seized or confiscated (legal action)
FOUND:
description: Found object (no prior owner)
COMMISSION:
description: Commissioned work (created for the collection)
UNKNOWN:
description: Acquisition method unknown
classes:
Acquisition:
class_uri: crm:E8_Acquisition
description: >-
Represents an acquisition event - how and when an object or specimen was obtained for a collection.
CIDOC-CRM E8 Acquisition models the transfer of legal ownership rights.
**Key properties**:
- `temporal_extent`: When the acquisition occurred (TimeSpan with fuzzy boundaries for historical items)
- `acquisition_method`: How the item was acquired (field collection, purchase, donation, etc.)
- `acquisition_source`: From whom/where acquired (collector, dealer, previous owner, field location)
- `acquisition_agent`: Who performed the acquisition (collector, curator, institution)
**Darwin Core alignment**: For biological specimens:
- `temporal_extent` replaces `dwc:eventDate` (collection date)
- `acquisition_source` can capture `dwc:locality` and `dwc:recordedBy`
**Use cases**:
- Museum object provenance (purchase from dealer, 1923)
- Biological specimen collection (field collection, Amazon basin, 1750s)
- Archival transfer (transferred from ministry archives, 2001)
- Art donation (donated by artist's estate, 2015)
exact_mappings:
- crm:E8_Acquisition
close_mappings:
- prov:Activity
- schema:AcquireAction
related_mappings:
- rico:Event
- dwc:Event
slots:
- temporal_extent
- specificity_annotation
- has_or_had_score
attributes:
acquisition_method:
range: AcquisitionMethodEnum
description: >-
Method by which the item was acquired (field collection, purchase, donation, etc.).
acquisition_source:
range: string
description: >-
Source from which item was acquired. Can be:
- Person name (collector, donor, seller)
- Institution name (transferring institution)
- Location (field collection locality)
- Dealer or auction house
acquisition_agent:
range: string
description: >-
Agent who performed the acquisition (collector name, curator, institution).
For biological specimens, maps to dwc:recordedBy.
acquisition_location:
range: string
description: >-
Location where acquisition occurred (field collection site, auction house location).
For biological specimens, can capture field locality.
acquisition_reference:
range: string
description: >-
Reference number or identifier for the acquisition (accession number, lot number).
acquisition_notes:
range: string
description: >-
Additional notes about the acquisition event.
acquisition_date_text:
range: string
description: >-
Original date text as recorded (e.g., "1750s", "pre-1662", "circa 1900").
For backward compatibility with string-based collection_date.
The structured date should be in temporal_extent.
comments:
- "Created per slot_fixes.yaml revision for collection_date migration"
- "Replaces simple collection_date string with structured acquisition event"
- "RULE 53: Part of collection_date → was_acquired_through + Acquisition migration"
annotations:
specificity_score: 0.70
specificity_rationale: "Fairly specific - applies to items with acquisition provenance"
examples:
- value: |
# Biological specimen collected in the field
acquisition_method: FIELD_COLLECTION
temporal_extent:
begin_of_the_begin: "1750-01-01"
end_of_the_end: "1759-12-31"
notes: "Collected sometime in the 1750s"
acquisition_source: "Amazon basin, Brazil"
acquisition_agent: "Unknown Dutch collector"
acquisition_date_text: "1750s"
- value: |
# Museum object purchased from dealer
acquisition_method: PURCHASE
temporal_extent:
begin_of_the_begin: "1923-03-15"
end_of_the_end: "1923-03-15"
acquisition_source: "Sotheby's London"
acquisition_reference: "Lot 245, Sale of March 1923"
- value: |
# Historical specimen with uncertain date
acquisition_method: FIELD_COLLECTION
temporal_extent:
begin_of_the_begin: "1600-01-01"
end_of_the_end: "1662-12-31"
notes: "Pre-1662 (before Great Fire of London)"
acquisition_date_text: "pre-1662"

View file

@ -14,7 +14,10 @@ imports:
- ../slots/end_time - ../slots/end_time
- ../slots/segment_index - ../slots/segment_index
- ../slots/segment_text - ../slots/segment_text
- ../slots/confidence # MIGRATED 2026-01-19: confidence → is_or_was_generated_by + GenerationEvent + ConfidenceScore
- ../slots/is_or_was_generated_by
- ./GenerationEvent
- ./ConfidenceScore
- ../slots/specificity_annotation - ../slots/specificity_annotation
- ../slots/has_or_had_score # was: template_specificity - migrated per Rule 53 (2026-01-17) - ../slots/has_or_had_score # was: template_specificity - migrated per Rule 53 (2026-01-17)
- ./SpecificityAnnotation - ./SpecificityAnnotation
@ -96,7 +99,8 @@ classes:
- end_time - end_time
- segment_index - segment_index
- segment_text - segment_text
- confidence # MIGRATED 2026-01-19: confidence → is_or_was_generated_by (structured ConfidenceScore)
- is_or_was_generated_by
- specificity_annotation - specificity_annotation
- has_or_had_score # was: template_specificity - migrated per Rule 53 (2026-01-17) - has_or_had_score # was: template_specificity - migrated per Rule 53 (2026-01-17)
attributes: attributes:
@ -155,17 +159,19 @@ classes:
description: Speech transcript text description: Speech transcript text
- value: "Classical background music" - value: "Classical background music"
description: Music segment description description: Music segment description
confidence: is_or_was_generated_by:
range: float range: GenerationEvent
required: false required: false
minimum_value: 0.0 inlined: true
maximum_value: 1.0 description: >-
description: Confidence score (0.0-1.0) for the audio event detection. Generation event containing confidence score for audio event detection.
MIGRATED 2026-01-19: Replaces confidence slot with structured pattern.
examples: examples:
- value: 0.95 - value:
description: High confidence detection has_or_had_score:
- value: 0.72 has_or_had_score: 0.95
description: Medium confidence detection has_or_had_method: "audio_classification"
description: High confidence audio event detection
comments: comments:
- Audio event segment for speech, music, silence, sound event detection - Audio event segment for speech, music, silence, sound event detection
- Temporal boundaries with start/end seconds (primary) and ISO 8601 (secondary) - Temporal boundaries with start/end seconds (primary) and ISO 8601 (secondary)

View file

@ -30,7 +30,10 @@ imports:
- ../slots/has_or_had_archival_status - ../slots/has_or_had_archival_status
- ../slots/has_or_had_identifier - ../slots/has_or_had_identifier
- ../slots/has_auxiliary_platform_type - ../slots/has_auxiliary_platform_type
- ../slots/cms_detected # REMOVED 2026-01-19: ../slots/cms_detected - migrated to is_or_was_based_on + CMS (Rule 53)
- ../slots/is_or_was_based_on # was: cms_detected - migrated per Rule 53 (2026-01-19)
- ./CMS
- ./CMSType
- ../slots/fixity_info - ../slots/fixity_info
- ../slots/iiif_support - ../slots/iiif_support
- ../slots/is_auxiliary_of_platform - ../slots/is_auxiliary_of_platform
@ -122,7 +125,7 @@ classes:
- is_or_was_archived_at # MIGRATED: was archived_at (2026-01-15) - is_or_was_archived_at # MIGRATED: was archived_at (2026-01-15)
- has_or_had_identifier - has_or_had_identifier
- has_auxiliary_platform_type - has_auxiliary_platform_type
- cms_detected - is_or_was_based_on # was: cms_detected - migrated per Rule 53 (2026-01-19)
- has_or_had_data_service_endpoint - has_or_had_data_service_endpoint
- fixity_info - fixity_info
- funding_source - funding_source
@ -299,14 +302,36 @@ classes:
examples: examples:
- value: sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 - value: sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
description: SHA-256 checksum of archived content description: SHA-256 checksum of archived content
cms_detected: # DEPRECATED 2026-01-19: cms_detected - migrated to is_or_was_based_on + CMS
range: boolean # Old: cms_detected: true/false (boolean flag)
# New: is_or_was_based_on: CMS instance with name, version, detection method
is_or_was_based_on: # was: cms_detected - migrated per Rule 53 (2026-01-19)
description: |
CMS detected on this platform (replaces boolean cms_detected).
MIGRATED from boolean flag to structured CMS reference.
If present, a CMS was detected; if absent, no CMS detected.
**Migration**:
- Old: cms_detected: true
- New: is_or_was_based_on: {cms_name: WordPress, cms_version: "6.4"}
range: CMS
multivalued: true
inlined_as_list: true
required: false required: false
examples: examples:
- value: true - value:
description: CMS backend detected cms_name: WordPress
- value: false cms_version: "6.4.2"
description: No CMS detected (static site) has_or_had_type: CustomCMS
detected_at: "2026-01-19T12:00:00Z"
detection_method: HTTP_HEADER
description: CMS detected via HTTP header
- value:
cms_name: Omeka S
cms_version: "4.0.1"
has_or_had_type: MuseumCMS
detection_method: URL_PATTERN
description: Omeka S detected via URL pattern
has_or_had_powered_by_cm: has_or_had_powered_by_cm:
range: CollectionManagementSystem range: CollectionManagementSystem
multivalued: true multivalued: true

View file

@ -28,7 +28,9 @@ imports:
# cites_appendix REMOVED - migrated to is_or_was_listed_in with CITESAppendix class (Rule 53, 2026-01-19) # cites_appendix REMOVED - migrated to is_or_was_listed_in with CITESAppendix class (Rule 53, 2026-01-19)
- ../slots/is_or_was_listed_in - ../slots/is_or_was_listed_in
- ./CITESAppendix - ./CITESAppendix
- ../slots/collection_date # REMOVED 2026-01-19: collection_date - migrated to was_acquired_through + Acquisition (Rule 53)
- ../slots/was_acquired_through
- ./Acquisition
- ../slots/collection_locality_text - ../slots/collection_locality_text
- ../slots/collection_location - ../slots/collection_location
- ../slots/collector - ../slots/collector
@ -122,7 +124,8 @@ classes:
- has_or_had_identifier - has_or_had_identifier
# cites_appendix REMOVED - migrated to is_or_was_listed_in with CITESAppendix (Rule 53, 2026-01-19) # cites_appendix REMOVED - migrated to is_or_was_listed_in with CITESAppendix (Rule 53, 2026-01-19)
- is_or_was_listed_in - is_or_was_listed_in
- collection_date # collection_date REMOVED - migrated to was_acquired_through + Acquisition (Rule 53, 2026-01-19)
- was_acquired_through
- collection_locality_text - collection_locality_text
- collection_location - collection_location
- collector - collector
@ -374,15 +377,36 @@ classes:
examples: examples:
- value: Natural History Museum Preparation Lab - value: Natural History Museum Preparation Lab
- value: J. van der Berg - value: J. van der Berg
collection_date: # MIGRATED 2026-01-19: collection_date → was_acquired_through + Acquisition (Rule 53)
was_acquired_through:
required: false required: false
range: string range: Acquisition
inlined: true
inlined_as_list: true
description: >-
Acquisition event capturing when and how specimen was collected.
Replaces simple collection_date with structured acquisition data.
examples: examples:
- value: '2020-06-15' - value: |
- value: 2020-06/2020-07 acquisition_method: FIELD_COLLECTION
description: Collected sometime in June-July 2020 temporal_extent:
- value: 1870s begin_of_the_begin: "2020-06-15"
description: Historical specimen with approximate date end_of_the_end: "2020-06-15"
acquisition_date_text: "2020-06-15"
- value: |
acquisition_method: FIELD_COLLECTION
temporal_extent:
begin_of_the_begin: "2020-06-01"
end_of_the_end: "2020-07-31"
acquisition_date_text: "2020-06/2020-07"
acquisition_notes: "Collected sometime in June-July 2020"
- value: |
acquisition_method: FIELD_COLLECTION
temporal_extent:
begin_of_the_begin: "1870-01-01"
end_of_the_end: "1879-12-31"
acquisition_date_text: "1870s"
acquisition_notes: "Historical specimen with approximate date"
collection_location: collection_location:
required: false required: false
range: CustodianPlace range: CustodianPlace
@ -514,7 +538,14 @@ classes:
- HEAD - HEAD
- FOOT - FOOT
preservation_method: DRIED_WHOLE preservation_method: DRIED_WHOLE
collection_date: pre-1662 # MIGRATED 2026-01-19: collection_date → was_acquired_through (Rule 53)
was_acquired_through:
- acquisition_method: FIELD_COLLECTION
acquisition_date_text: "pre-1662"
temporal_extent:
begin_of_the_begin: "1600-01-01"
end_of_the_end: "1662-12-31"
notes: "Pre-1662 (before Great Fire of London destroyed records)"
collection_location: collection_location:
place_name: Mauritius place_name: Mauritius
country: MU country: MU
@ -578,7 +609,14 @@ classes:
- LEAF - LEAF
- FLOWER - FLOWER
preservation_method: DRIED_PRESSED preservation_method: DRIED_PRESSED
collection_date: 1750s # MIGRATED 2026-01-19: collection_date → was_acquired_through (Rule 53)
was_acquired_through:
- acquisition_method: FIELD_COLLECTION
acquisition_date_text: "1750s"
temporal_extent:
begin_of_the_begin: "1750-01-01"
end_of_the_end: "1759-12-31"
notes: "Collected by Linnaeus in the 1750s"
collector: collector:
- Carl Linnaeus - Carl Linnaeus
current_keeper: https://nde.nl/ontology/hc/custodian/uk/royal-botanic-gardens-kew current_keeper: https://nde.nl/ontology/hc/custodian/uk/royal-botanic-gardens-kew

View file

@ -21,7 +21,10 @@ imports:
- ./TemplateSpecificityType - ./TemplateSpecificityType
- ./TemplateSpecificityTypes - ./TemplateSpecificityTypes
- ../slots/confidence # MIGRATED 2026-01-19: confidence → is_or_was_generated_by + GenerationEvent + ConfidenceScore
- ../slots/is_or_was_generated_by
- ./GenerationEvent
- ./ConfidenceScore
- ../slots/birth_edtf - ../slots/birth_edtf
- ../slots/birth_iso_date - ../slots/birth_iso_date
- ../slots/birth_source_text - ../slots/birth_source_text
@ -94,7 +97,8 @@ classes:
- birth_source_text - birth_source_text
- is_inferred - is_inferred
- inference_provenance - inference_provenance
- confidence # MIGRATED 2026-01-19: confidence → is_or_was_generated_by (structured ConfidenceScore)
- is_or_was_generated_by
- specificity_annotation - specificity_annotation
- has_or_had_score # was: template_specificity - migrated per Rule 53 (2026-01-17) - has_or_had_score # was: template_specificity - migrated per Rule 53 (2026-01-17)
slot_usage: slot_usage:
@ -150,11 +154,25 @@ classes:
Required when is_inferred is true. Required when is_inferred is true.
examples: examples:
- value: '{"method": "earliest_education_heuristic", "inference_chain": [...]}' - value: '{"method": "earliest_education_heuristic", "inference_chain": [...]}'
confidence: is_or_was_generated_by:
range: BirthDateConfidenceEnum range: GenerationEvent
required: false required: false
inlined: true
description: >- description: >-
Confidence level in the birth date value. Generation event containing confidence score for birth date determination.
MIGRATED 2026-01-19: Replaces confidence slot with structured pattern.
examples:
- value:
has_or_had_score:
has_or_had_score: 0.95
has_or_had_method: "document_extraction"
description: High confidence date extraction
- value:
has_or_had_score:
has_or_had_score: 0.50
has_or_had_method: "education_inference"
has_or_had_description: "Inferred from education start year"
description: Low confidence inferred date
comments: comments:
- "Replaces simple birth_date string slot (Rule 53)" - "Replaces simple birth_date string slot (Rule 53)"
- "EDTF notation enables uncertain/incomplete date representation" - "EDTF notation enables uncertain/incomplete date representation"
@ -168,19 +186,28 @@ classes:
birth_edtf: "1970-08-15" birth_edtf: "1970-08-15"
birth_iso_date: "1970-08-15" birth_iso_date: "1970-08-15"
is_inferred: false is_inferred: false
confidence: HIGH is_or_was_generated_by:
has_or_had_score:
has_or_had_score: 0.95
has_or_had_method: "birth_certificate_extraction"
description: Full date known with high confidence description: Full date known with high confidence
- value: - value:
birth_edtf: "197X" birth_edtf: "197X"
is_inferred: true is_inferred: true
inference_provenance: '{"method": "earliest_education_heuristic", "source_field": "education[0].start_year"}' inference_provenance: '{"method": "earliest_education_heuristic", "source_field": "education[0].start_year"}'
confidence: LOW is_or_was_generated_by:
has_or_had_score:
has_or_had_score: 0.40
has_or_had_method: "education_inference"
description: Decade inferred from education start year description: Decade inferred from education start year
- value: - value:
birth_edtf: "1823" birth_edtf: "1823"
birth_source_text: "born in the year of our Lord 1823" birth_source_text: "born in the year of our Lord 1823"
is_inferred: false is_inferred: false
confidence: MEDIUM is_or_was_generated_by:
has_or_had_score:
has_or_had_score: 0.75
has_or_had_method: "document_extraction"
description: Year extracted from historical document description: Year extracted from historical document
annotations: annotations:
specificity_score: 0.45 specificity_score: 0.45

View file

@ -0,0 +1,142 @@
id: https://nde.nl/ontology/hc/class/CMS
name: cms_class
title: CMS Class
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
schema: http://schema.org/
prov: http://www.w3.org/ns/prov#
doap: http://usefulinc.com/ns/doap#
imports:
- linkml:types
- ../slots/has_or_had_label
- ../slots/has_or_had_version
- ../slots/has_or_had_type
- ./CMSType
default_prefix: hc
classes:
CMS:
class_uri: schema:SoftwareApplication
description: |
A detected Content Management System (CMS) on a digital platform.
**Purpose**: Represents a CMS instance detected through automated discovery
or manual identification. Used when a platform is_or_was_based_on a CMS.
**Distinction from CollectionManagementSystem**:
- **CMS**: Lightweight detection record (what CMS was found)
- **CollectionManagementSystem**: Full institutional CMS deployment profile
(configuration, collections managed, custodian relationships)
**Detection Methods** (from original cms_detected documentation):
- HTTP response headers (X-Powered-By, Server)
- HTML meta tags (generator)
- URL patterns (e.g., /providence/, /omeka/)
- JavaScript libraries or framework signatures
- Admin panel detection
**Use Cases**:
1. "What CMS powers this auxiliary platform?" → Check is_or_was_based_on
2. Technical survey: Identify platforms by CMS type
3. Migration planning: Prioritize platforms by CMS technology
**Example**:
```yaml
AuxiliaryDigitalPlatform:
platform_name: Heritage Blog
is_or_was_based_on:
- cms_name: WordPress
cms_version: "6.4.2"
cms_type: CustomCMS
detected_at: "2026-01-19T12:00:00Z"
detection_method: HTTP_HEADER
```
**Migration Note**: Created 2026-01-19 per slot_fixes.yaml (Rule 53).
Supports migration from boolean cms_detected to structured CMS reference.
exact_mappings:
- schema:SoftwareApplication
close_mappings:
- doap:Project
slots:
- cms_name
- has_or_had_version
- has_or_had_type
- detected_at
- detection_method
slot_usage:
cms_name:
description: Name of the detected CMS (e.g., WordPress, Drupal, Omeka)
range: string
required: true
examples:
- value: WordPress
description: WordPress CMS
- value: Omeka S
description: Omeka S digital collections platform
- value: CollectiveAccess
description: CollectiveAccess museum CMS
has_or_had_version:
description: Detected version of the CMS
range: string
required: false
examples:
- value: "6.4.2"
description: WordPress version
- value: "4.0.1"
description: Omeka S version
has_or_had_type:
description: CMS type classification (maps to CMSType hierarchy)
range: CMSType
required: false
examples:
- value: MuseumCMS
description: Museum-focused CMS
- value: ArchiveCMS
description: Archive-focused CMS
detected_at:
description: ISO 8601 timestamp when CMS was detected
range: datetime
required: false
examples:
- value: "2026-01-19T12:00:00Z"
description: Detection timestamp
detection_method:
description: Method used to detect the CMS
range: string
required: false
examples:
- value: HTTP_HEADER
description: Detected via X-Powered-By header
- value: META_TAG
description: Detected via HTML generator meta tag
- value: URL_PATTERN
description: Detected via URL structure
- value: MANUAL
description: Manually identified
annotations:
custodian_types: '["D"]'
custodian_types_rationale: Digital platforms (D) are the primary users of CMS detection
specificity_score: 0.70
specificity_rationale: Specific to digital platform CMS detection context
slots:
cms_name:
slot_uri: schema:name
description: Name of the Content Management System
range: string
exact_mappings:
- schema:name
- doap:name
detected_at:
slot_uri: prov:generatedAtTime
description: Timestamp when the CMS was detected
range: datetime
exact_mappings:
- prov:generatedAtTime
detection_method:
slot_uri: prov:wasGeneratedBy
description: Method used to detect the CMS (HTTP_HEADER, META_TAG, URL_PATTERN, MANUAL)
range: string

View file

@ -0,0 +1,120 @@
# CMSType class
# Abstract base class for CMS type taxonomy
#
# Generation date: 2026-01-19
# Rule compliance: 0b (Type/Types pattern), 53 (slot_fixes.yaml), 39 (RiC-O naming)
#
# This is the SINGULAR "Type" class - abstract base for the type hierarchy
# Concrete types are in CMSTypes.yaml (plural)
id: https://nde.nl/ontology/hc/class/cms_type
name: cms_type_class
title: CMS Type Class
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
skos: http://www.w3.org/2004/02/skos/core#
schema: http://schema.org/
default_prefix: hc
imports:
- linkml:types
- ../slots/has_or_had_label
- ../slots/has_or_had_description
- ../slots/includes_or_included
classes:
CMSType:
class_uri: skos:Concept
abstract: true
description: |
Abstract base class for Collection Management System type taxonomy.
**DESIGN PATTERN** (Rule 0b - Type/Types Naming):
This file (`CMSType.yaml`) defines the **singular abstract base class**.
Concrete subclasses are defined in `CMSTypes.yaml` (plural).
**TYPE HIERARCHY**:
```
CMSType (abstract base)
├── MUSEUM_CMS - Museum collection management (MuseumPlus, TMS, CollectiveAccess)
├── ARCHIVE_CMS - Archival description (ArchivesSpace, MAIS, Calm)
├── LIBRARY_CMS - Library management (Koha, Alma, WorldShare)
├── DAM - Digital asset management (ResourceSpace, DAMsimple)
├── REPOSITORY - Digital repository (DSpace, Fedora, EPrints)
├── MIXED - Multi-domain (Omeka S, CollectiveAccess)
└── CUSTOM - Institution-specific/custom-built
```
**ONTOLOGICAL ALIGNMENT**:
- **Primary** (`class_uri`): `skos:Concept` - SKOS concept scheme
- **Related**: `schema:applicationCategory` - Schema.org software categorization
**USE CASES**:
The CMSType is used as the range for the `has_or_had_type`
slot in the CollectionManagementSystem class:
```yaml
CollectionManagementSystem:
has_or_had_identifier:
identifier_scheme: CMS_URI
identifier_value: "https://nde.nl/ontology/hc/cms/rijksmuseum-adlib"
has_or_had_type: MUSEUM_CMS # ← CMSType
```
exact_mappings:
- skos:Concept
related_mappings:
- schema:applicationCategory
slots:
- has_or_had_label
- has_or_had_description
- includes_or_included
slot_usage:
has_or_had_label:
description: |
Display label for this CMS type.
range: string
required: true
examples:
- value: "MUSEUM_CMS"
description: Museum collection management system
has_or_had_description:
description: |
Description of what this CMS type covers.
examples:
- value:
description_text: "Collection management systems designed for museum collections, including object cataloging, provenance tracking, and exhibition management."
description_type: definition
description: Museum CMS type definition
includes_or_included:
description: |
Subtypes included in this CMS type (for hierarchical types).
range: CMSType
multivalued: true
annotations:
type_types_pattern: |
This is the SINGULAR "Type" class per Rule 0b.
Concrete subclasses in CMSTypes.yaml (plural).
custodian_types: '["*"]'
custodian_types_rationale: CMS types apply to all heritage custodian contexts.
specificity_score: 0.55
specificity_rationale: Type taxonomy - moderately specific to software categorization.
replaces_slots: "cms_category (the old string-valued slot)"
migration_date: "2026-01-19"
comments:
- "Abstract base class for CMS type hierarchy"
- "Follows Rule 0b Type/Types naming pattern"
- "Concrete types: MUSEUM_CMS, ARCHIVE_CMS, LIBRARY_CMS, DAM, REPOSITORY, MIXED, CUSTOM"
- "See CMSTypes.yaml for subclass definitions"

View file

@ -0,0 +1,258 @@
# CMSTypes class
# Concrete subclasses for CMS type taxonomy
#
# Generation date: 2026-01-19
# Rule compliance: 0b (Type/Types pattern), 53 (slot_fixes.yaml), 39 (RiC-O naming)
#
# This is the PLURAL "Types" file - contains all concrete subclasses
# Abstract base is in CMSType.yaml (singular)
id: https://nde.nl/ontology/hc/class/cms_types
name: cms_types_class
title: CMS Types Classes
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
skos: http://www.w3.org/2004/02/skos/core#
schema: http://schema.org/
default_prefix: hc
imports:
- linkml:types
- ./CMSType
classes:
# ========================================================================
# MUSEUM_CMS - Museum collection management
# ========================================================================
MuseumCMS:
is_a: CMSType
class_uri: hc:MuseumCMS
description: |
Collection management systems designed for museum collections.
**TYPICAL FEATURES**:
- Object cataloging and registration
- Provenance tracking
- Exhibition management
- Loan management
- Conservation records
- SPECTRUM workflow support
**EXAMPLES**:
- MuseumPlus (Zetcom)
- TMS - The Museum System (Gallery Systems)
- CollectiveAccess
- Adlib (Axiell)
- EMu (Axiell)
- PastPerfect
annotations:
cms_type_code: "MUSEUM_CMS"
primary_domain: "museums"
examples:
- value:
has_or_had_label: "MUSEUM_CMS"
has_or_had_description:
description_text: "Collection management systems designed for museum collections, including object cataloging, provenance tracking, and exhibition management."
description: Museum CMS type
# ========================================================================
# ARCHIVE_CMS - Archival description systems
# ========================================================================
ArchiveCMS:
is_a: CMSType
class_uri: hc:ArchiveCMS
description: |
Systems for archival description and records management.
**TYPICAL FEATURES**:
- Hierarchical description (fonds, series, files, items)
- ISAD(G) compliance
- EAD export
- Access restrictions management
- Finding aid generation
**EXAMPLES**:
- ArchivesSpace
- MAIS-Flexis (De Ree)
- Calm (Axiell)
- AtoM (Access to Memory)
- Archivist's Toolkit (legacy)
annotations:
cms_type_code: "ARCHIVE_CMS"
primary_domain: "archives"
examples:
- value:
has_or_had_label: "ARCHIVE_CMS"
has_or_had_description:
description_text: "Archival description systems supporting hierarchical arrangement, ISAD(G) compliance, and EAD export."
description: Archive CMS type
# ========================================================================
# LIBRARY_CMS - Library management systems
# ========================================================================
LibraryCMS:
is_a: CMSType
class_uri: hc:LibraryCMS
description: |
Integrated library systems (ILS) and library service platforms.
**TYPICAL FEATURES**:
- Cataloging (MARC21, RDA)
- Circulation management
- Acquisitions
- Serials management
- OPAC (public catalog)
- Interlibrary loan
**EXAMPLES**:
- Alma (Ex Libris)
- Koha (open-source)
- WorldShare (OCLC)
- Folio (open-source)
- Sierra (III)
- Symphony (SirsiDynix)
annotations:
cms_type_code: "LIBRARY_CMS"
primary_domain: "libraries"
examples:
- value:
has_or_had_label: "LIBRARY_CMS"
has_or_had_description:
description_text: "Integrated library systems supporting MARC21 cataloging, circulation, acquisitions, and OPAC functionality."
description: Library CMS type
# ========================================================================
# DAM - Digital Asset Management
# ========================================================================
DigitalAssetManagement:
is_a: CMSType
class_uri: hc:DigitalAssetManagement
description: |
Digital asset management systems for media files.
**TYPICAL FEATURES**:
- Image, video, audio management
- Metadata extraction
- Format conversion
- Rights management
- Distribution workflows
**EXAMPLES**:
- ResourceSpace
- DAMsimple
- Razuna
- Pimcore
- Bynder
- Canto
annotations:
cms_type_code: "DAM"
primary_domain: "digital_assets"
examples:
- value:
has_or_had_label: "DAM"
has_or_had_description:
description_text: "Digital asset management systems for organizing, storing, and distributing media files including images, video, and audio."
description: DAM type
# ========================================================================
# REPOSITORY - Digital repository systems
# ========================================================================
DigitalRepository:
is_a: CMSType
class_uri: hc:DigitalRepository
description: |
Digital repository systems for long-term preservation and access.
**TYPICAL FEATURES**:
- Long-term preservation
- OAI-PMH harvesting
- DOI/Handle assignment
- Bitstream management
- OAIS compliance
**EXAMPLES**:
- DSpace
- Fedora (Flexible Extensible Digital Object Repository Architecture)
- EPrints
- Islandora (Drupal + Fedora)
- Samvera (formerly Hydra)
- Preservica
annotations:
cms_type_code: "REPOSITORY"
primary_domain: "digital_preservation"
examples:
- value:
has_or_had_label: "REPOSITORY"
has_or_had_description:
description_text: "Digital repository systems for long-term preservation, OAI-PMH harvesting, and OAIS-compliant storage."
description: Digital repository type
# ========================================================================
# MIXED - Multi-domain systems
# ========================================================================
MixedCMS:
is_a: CMSType
class_uri: hc:MixedCMS
description: |
Multi-domain systems that serve museums, archives, and/or libraries.
**TYPICAL FEATURES**:
- Flexible data models
- Multiple metadata standards
- Cross-domain searching
- Configurable workflows
**EXAMPLES**:
- Omeka S (museums, archives, libraries)
- CollectiveAccess (museums, archives)
- ArchivesSpace + plugins
- ResourceSpace with customization
annotations:
cms_type_code: "MIXED"
primary_domain: "multi-domain"
examples:
- value:
has_or_had_label: "MIXED"
has_or_had_description:
description_text: "Multi-domain collection management systems that can serve museums, archives, and/or libraries with flexible data models."
description: Mixed CMS type
# ========================================================================
# CUSTOM - Institution-specific/custom-built
# ========================================================================
CustomCMS:
is_a: CMSType
class_uri: hc:CustomCMS
description: |
Institution-specific or custom-built collection management systems.
**TYPICAL FEATURES**:
- Tailored to institutional needs
- May be legacy systems
- Often lack standard API/export
- Proprietary data models
**EXAMPLES**:
- In-house developed systems
- Heavily customized commercial systems
- Legacy database applications
- Spreadsheet-based systems (transitional)
annotations:
cms_type_code: "CUSTOM"
primary_domain: "custom"
examples:
- value:
has_or_had_label: "CUSTOM"
has_or_had_description:
description_text: "Institution-specific or custom-built collection management systems, often legacy or heavily customized."
description: Custom CMS type

View file

@ -32,7 +32,9 @@ imports:
- ./URL # for has_or_had_url range - ./URL # for has_or_had_url range
- ./Identifier # for has_or_had_identifier range - ./Identifier # for has_or_had_identifier range
# NOTE: has_or_had_status uses CallForApplicationStatusEnum (imported above), not a CallStatus class # NOTE: has_or_had_status uses CallForApplicationStatusEnum (imported above), not a CallStatus class
- ../slots/co_funding_required # REMOVED 2026-01-19: co_funding_required - migrated to requires_or_required + CoFunding (Rule 53)
- ../slots/requires_or_required # was: co_funding_required - migrated per Rule 53 (2026-01-19)
- ./CoFunding # for requires_or_required range (co-funding requirements)
- ../slots/eligible_applicant - ../slots/eligible_applicant
- ../slots/eligible_country - ../slots/eligible_country
- ../slots/funded_project - ../slots/funded_project
@ -115,7 +117,8 @@ classes:
- has_or_had_label # was: call_short_name, call_title - migrated per Rule 53 (2026-01-17) - has_or_had_label # was: call_short_name, call_title - migrated per Rule 53 (2026-01-17)
- has_or_had_status # was: call_status - migrated per Rule 53 (2026-01-17) - has_or_had_status # was: call_status - migrated per Rule 53 (2026-01-17)
- has_or_had_url # was: call_url - migrated per Rule 53 (2026-01-17) - has_or_had_url # was: call_url - migrated per Rule 53 (2026-01-17)
- co_funding_required # REMOVED 2026-01-19: co_funding_required - migrated to requires_or_required + CoFunding (Rule 53)
- requires_or_required # was: co_funding_required - migrated per Rule 53 (2026-01-19)
- contact_email - contact_email
- eligible_applicant - eligible_applicant
- eligible_country - eligible_country
@ -317,6 +320,27 @@ classes:
description: Project funded by this call description: Project funded by this call
- value: https://nde.nl/ontology/hc/project/europeana/common-culture-2024 - value: https://nde.nl/ontology/hc/project/europeana/common-culture-2024
description: Europeana project funded through Horizon Europe description: Europeana project funded through Horizon Europe
requires_or_required: # was: co_funding_required - migrated per Rule 53 (2026-01-19)
range: CoFunding
multivalued: false
inlined: true
description: |
Co-funding/match funding requirement for this call.
MIGRATED from co_funding_required (boolean) to structured CoFunding class per Rule 53 (2026-01-19).
Now captures whether co-funding is required, percentage/amount requirements, and human-readable descriptions.
examples:
- value:
is_or_was_required: true
has_or_had_description: "Partnership funding 5-50% depending on grant size"
description: NLHF co-funding requirement with percentage range
- value:
is_or_was_required: true
has_or_had_quantity:
- quantity_value: 20
has_or_had_measurement_unit:
unit_label: "%"
has_or_had_description: "Minimum 20% co-funding from applicant organization"
description: Co-funding with specific percentage requirement
comments: comments:
- CallForApplication links FundingOrganisation to heritage custodian funding opportunities - CallForApplication links FundingOrganisation to heritage custodian funding opportunities
- Lifecycle tracked via CallForApplicationStatusEnum (ANNOUNCED through RESULTS_PUBLISHED) - Lifecycle tracked via CallForApplicationStatusEnum (ANNOUNCED through RESULTS_PUBLISHED)
@ -466,7 +490,9 @@ classes:
- Natural heritage - Natural heritage
- Intangible heritage - Intangible heritage
- Industrial heritage - Industrial heritage
co_funding_required: true requires_or_required: # was: co_funding_required - migrated per Rule 53 (2026-01-19)
is_or_was_required: true
has_or_had_description: "Partnership funding 5-50% depending on grant size"
partnership_required: false partnership_required: false
issuing_organisation: https://nde.nl/ontology/hc/encompassing-body/funding/nlhf issuing_organisation: https://nde.nl/ontology/hc/encompassing-body/funding/nlhf
parent_programme: National Lottery Heritage Fund parent_programme: National Lottery Heritage Fund

View file

@ -0,0 +1,135 @@
id: https://nde.nl/ontology/hc/class/Category
name: category_class
title: Category Class
# Created per slot_fixes.yaml revision for collection_focus migration
# RULE 53: Structured category class based on SKOS Concept
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
skos: http://www.w3.org/2004/02/skos/core#
dcterms: http://purl.org/dc/terms/
schema: http://schema.org/
imports:
- linkml:types
- ../slots/specificity_annotation
- ../slots/has_or_had_score
- ./SpecificityAnnotation
- ./TemplateSpecificityScore
- ./TemplateSpecificityType
- ./TemplateSpecificityTypes
default_range: string
enums:
CategoryTypeEnum:
description: Types of categories for classification.
permissible_values:
SUBJECT:
description: Subject or topic category (art, science, history)
meaning: skos:Concept
THEME:
description: Thematic category (Dutch Golden Age, WWII, Islamic art)
MATERIAL:
description: Material or medium category (paintings, manuscripts, specimens)
GEOGRAPHIC:
description: Geographic category (European, Asian, African)
TEMPORAL:
description: Temporal/period category (Medieval, Renaissance, Contemporary)
CREATOR:
description: Creator-focused category (single artist, school, movement)
TYPOLOGY:
description: Typological category (portraits, landscapes, genre scenes)
FORMAT:
description: Format category (books, photographs, digital)
GENRE:
description: Genre category (fiction, documentary, liturgical)
classes:
Category:
class_uri: skos:Concept
description: >-
A category or classification term, based on SKOS Concept model.
Categories represent hierarchical or faceted classifications used to
describe the focus, subject, or scope of collections and items.
**Use cases**:
- Collection focus (thematic specialization)
- Subject classification (AAT, LCSH, custom vocabularies)
- Material classification (medium, format)
- Geographic scope (regions, countries)
- Temporal scope (periods, eras)
**Examples**:
- "Dutch Golden Age paintings" (THEME + TEMPORAL + MATERIAL)
- "Lepidoptera" (SUBJECT, scientific classification)
- "First edition literature" (FORMAT + TYPOLOGY)
exact_mappings:
- skos:Concept
close_mappings:
- schema:DefinedTerm
- dcterms:subject
slots:
- specificity_annotation
- has_or_had_score
attributes:
category_name:
range: string
required: true
description: Name of the category.
slot_uri: skos:prefLabel
category_type:
range: CategoryTypeEnum
description: Type of category (subject, theme, material, geographic, etc.).
category_description:
range: string
description: Description of what this category encompasses.
slot_uri: skos:definition
broader_category:
range: string
description: >-
Broader (parent) category in hierarchy.
E.g., "Paintings" is broader than "Oil paintings"
slot_uri: skos:broader
narrower_category:
range: string
multivalued: true
description: >-
Narrower (child) categories.
E.g., "Oil paintings", "Watercolors" are narrower than "Paintings"
slot_uri: skos:narrower
vocabulary_source:
range: string
description: >-
Source vocabulary or thesaurus (AAT, LCSH, custom).
vocabulary_id:
range: string
description: >-
Identifier in the source vocabulary (e.g., AAT term ID).
comments:
- "Created per slot_fixes.yaml revision for collection_focus migration"
- "SKOS-based category model for collection classification"
- "RULE 53: Part of collection_focus → has_or_had_category + Category migration"
annotations:
specificity_score: 0.45
specificity_rationale: "Broadly useful - applies to many collection contexts"
examples:
- value: |
category_name: "Dutch Golden Age paintings"
category_type: THEME
category_description: "Paintings from the Dutch Golden Age (17th century)"
broader_category: "European paintings"
vocabulary_source: "AAT"
- value: |
category_name: "Lepidoptera"
category_type: SUBJECT
category_description: "Butterflies and moths"
broader_category: "Insects"
vocabulary_source: "ITIS"
- value: |
category_name: "First edition literature"
category_type: FORMAT
category_description: "First printings of literary works"
broader_category: "Rare books"

View file

@ -1,6 +1,7 @@
# ChAnnotatorAnnotationMetadata - Metadata about the annotation # ChAnnotatorAnnotationMetadata - Metadata about the annotation
# Extracted from custodian_source.yaml per Rule 38 (modular schema files) # Extracted from custodian_source.yaml per Rule 38 (modular schema files)
# Extraction date: 2026-01-08 # Extraction date: 2026-01-08
# MIGRATED 2026-01-19: confidence_score → is_or_was_generated_by + GenerationEvent + ConfidenceScore
id: https://nde.nl/ontology/hc/classes/ChAnnotatorAnnotationMetadata id: https://nde.nl/ontology/hc/classes/ChAnnotatorAnnotationMetadata
name: ChAnnotatorAnnotationMetadata name: ChAnnotatorAnnotationMetadata
@ -17,7 +18,10 @@ prefixes:
imports: imports:
- linkml:types - linkml:types
- ../slots/confidence_score # MIGRATED 2026-01-19: confidence_score → is_or_was_generated_by + GenerationEvent + ConfidenceScore
- ../slots/is_or_was_generated_by
- ./GenerationEvent
- ./ConfidenceScore
default_range: string default_range: string
@ -42,7 +46,22 @@ classes:
- prov:Entity - prov:Entity
- schema:Rating - schema:Rating
slots: slots:
- confidence_score # MIGRATED 2026-01-19: confidence_score → is_or_was_generated_by
- is_or_was_generated_by
slot_usage:
is_or_was_generated_by:
range: GenerationEvent
required: false
inlined: true
description: >-
Generation event containing confidence score for annotation.
MIGRATED 2026-01-19: Replaces confidence_score slot with structured pattern.
examples:
- value:
has_or_had_score:
has_or_had_score: 0.92
has_or_had_method: "annotation_validation"
description: High confidence annotation
attributes: attributes:
verified: verified:
range: boolean range: boolean
@ -53,3 +72,6 @@ classes:
verified_by: verified_by:
range: string range: string
description: Who verified the annotation description: Who verified the annotation
comments:
- "MIGRATED 2026-01-19: confidence_score → is_or_was_generated_by + ConfidenceScore"

View file

@ -102,17 +102,7 @@ classes:
annotations: annotations:
specificity_score: "0.55" specificity_score: "0.55"
specificity_rationale: "Moderately specific - classrooms common in education centers." specificity_rationale: "Moderately specific - classrooms common in education centers."
template_specificity: template_specificity: '{"archive_search": 0.30, "museum_search": 0.50, "library_search": 0.45, "collection_discovery": 0.20, "person_research": 0.15, "location_browse": 0.60, "identifier_lookup": 0.10, "organizational_change": 0.25, "digital_platform": 0.15, "general_heritage": 0.55}'
archive_search: 0.30
museum_search: 0.50
library_search: 0.45
collection_discovery: 0.20
person_research: 0.15
location_browse: 0.60
identifier_lookup: 0.10
organizational_change: 0.25
digital_platform: 0.15
general_heritage: 0.55
examples: examples:
- value: - value:

View file

@ -0,0 +1,161 @@
# ClimateControl class
# Climate control system or approach for heritage facilities
#
# Generation date: 2026-01-19
# Rule compliance: 53 (slot_fixes.yaml), 39 (RiC-O naming), 0b (Type/Types pattern)
#
# Created for climate_control_type migration
id: https://nde.nl/ontology/hc/class/climate_control
name: climate_control_class
title: Climate Control Class
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
schema: http://schema.org/
crm: http://www.cidoc-crm.org/cidoc-crm/
aat: http://vocab.getty.edu/aat/
default_prefix: hc
imports:
- linkml:types
- ../slots/has_or_had_label
- ../slots/has_or_had_description
- ../slots/has_or_had_type
- ./ClimateControlType
classes:
ClimateControl:
class_uri: aat:300264752
description: |
Climate control system or approach for managing environmental conditions.
**DEFINITION**:
A ClimateControl represents the physical system, equipment, or approach
used to manage temperature, humidity, air quality, and other environmental
factors in heritage facilities.
**GETTY AAT ALIGNMENT**:
`aat:300264752` (climate control systems) - "Systems for controlling
environmental conditions such as temperature and humidity."
**USE CASES**:
1. **Full HVAC System**:
```yaml
ClimateControl:
has_or_had_label: "Main Gallery HVAC"
has_or_had_type: HVAC
has_or_had_description:
description_text: "Central HVAC with 24/7 monitoring, backup power"
```
2. **Basic Heating**:
```yaml
ClimateControl:
has_or_had_label: "Warehouse Heating"
has_or_had_type: HEATED
```
3. **Dehumidification Only**:
```yaml
ClimateControl:
has_or_had_label: "Photo Archive Dehumidifier"
has_or_had_type: DEHUMIDIFIED
```
**RELATIONSHIP TO ClimateControlType**:
```
ClimateControl
└── has_or_had_type ──► ClimateControlType
└── (HEATED, HVAC, DEHUMIDIFIED, NONE, etc.)
```
exact_mappings:
- aat:300264752
close_mappings:
- schema:Product
related_mappings:
- crm:E22_Human-Made_Object
slots:
- has_or_had_label
- has_or_had_description
- has_or_had_type
slot_usage:
has_or_had_label:
description: |
Name or identifier for this climate control system.
range: string
required: false
examples:
- value: "Main Stack HVAC System"
description: Named HVAC system
- value: "Depot B Climate Control"
description: Named by location
has_or_had_description:
description: |
Description of the climate control system capabilities.
examples:
- value:
description_text: "Precision HVAC with temperature control ±1°C, humidity control ±3% RH. Redundant systems with automatic failover."
description_type: technical
description: Detailed technical description
has_or_had_type:
range: ClimateControlType
required: true
description: |
Type of climate control (HEATED, HVAC, DEHUMIDIFIED, NONE, etc.).
examples:
- value: HVAC
description: Full heating/cooling system
- value: HEATED
description: Heating only
- value: DEHUMIDIFIED
description: Humidity control only
- value: NONE
description: No climate control
annotations:
custodian_types: '["*"]'
custodian_types_rationale: Climate control applies to all heritage custodian types with physical facilities.
custodian_types_primary: A
specificity_score: 0.55
specificity_rationale: Moderately specific - common across facility management contexts.
replaces_slots: "climate_control_type (partial - represents the system, type is separate)"
comments:
- "Represents climate control systems/equipment"
- "Maps to Getty AAT 300264752"
- "Type classification via has_or_had_type → ClimateControlType"
examples:
- value:
has_or_had_label: "Rijksmuseum Collection Storage HVAC"
has_or_had_type: HVAC
has_or_had_description:
description_text: "Precision climate control with T=20±1°C, RH=50±3%. Redundant compressors, backup power, 24/7 monitoring."
description_type: technical
description: Museum collection storage climate system
- value:
has_or_had_label: "Logistics Warehouse Heating"
has_or_had_type: HEATED
has_or_had_description:
description_text: "Basic gas heating to prevent freezing. No humidity control."
description_type: technical
description: Basic warehouse heating
- value:
has_or_had_label: "Photo Archive Dehumidifier"
has_or_had_type: DEHUMIDIFIED
has_or_had_description:
description_text: "Portable dehumidifier maintaining RH below 50%."
description_type: technical
description: Dehumidification for photos

View file

@ -0,0 +1,154 @@
# ClimateControlPolicy class
# Policy governing climate control systems and conditions
#
# Generation date: 2026-01-19
# Rule compliance: 53 (slot_fixes.yaml), 39 (RiC-O naming), 0b (Type/Types pattern)
#
# Created for climate_control_type migration
id: https://nde.nl/ontology/hc/class/climate_control_policy
name: climate_control_policy_class
title: Climate Control Policy Class
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
odrl: http://www.w3.org/ns/odrl/2/
dcterms: http://purl.org/dc/terms/
schema: http://schema.org/
prov: http://www.w3.org/ns/prov#
crm: http://www.cidoc-crm.org/cidoc-crm/
default_prefix: hc
imports:
- linkml:types
- ../slots/has_or_had_label
- ../slots/has_or_had_description
- ../slots/regulates_or_regulated
- ./ClimateControl
classes:
ClimateControlPolicy:
class_uri: odrl:Policy
description: |
Policy governing climate control systems and environmental conditions.
**DEFINITION**:
A ClimateControlPolicy defines the rules, standards, and requirements
for environmental control within heritage facilities. This includes
temperature ranges, humidity levels, air quality standards, and
monitoring requirements.
**ONTOLOGICAL ALIGNMENT**:
- **Primary** (`class_uri`): `odrl:Policy` - ODRL policy construct
- **Related**: `crm:E29_Design_or_Procedure` - CIDOC-CRM procedures
**USE CASES**:
1. **Preservation Environment Policy**:
```yaml
ClimateControlPolicy:
has_or_had_label: "Archives Preservation Environment Standard"
has_or_had_description:
description_text: "Temperature 18-22°C, RH 45-55%, 24/7 monitoring"
regulates_or_regulated:
- ClimateControl: HVAC system for stack areas
```
2. **Warehouse Climate Requirements**:
```yaml
ClimateControlPolicy:
has_or_had_label: "Logistics Warehouse Climate Requirements"
regulates_or_regulated:
- ClimateControl: Basic heating system
```
**RELATIONSHIP TO ClimateControl**:
```
ClimateControlPolicy
├── regulates_or_regulated ──► ClimateControl
│ │
│ └── has_or_had_type ──► ClimateControlType
└── (may regulate multiple systems)
```
exact_mappings:
- odrl:Policy
close_mappings:
- crm:E29_Design_or_Procedure
related_mappings:
- schema:Action
slots:
- has_or_had_label
- has_or_had_description
- regulates_or_regulated
slot_usage:
has_or_had_label:
description: |
Name of this climate control policy.
range: string
required: true
examples:
- value: "Archives Preservation Environment Standard"
description: Policy for archival storage
has_or_had_description:
description: |
Detailed description of policy requirements.
examples:
- value:
description_text: "Temperature must be maintained between 18-22°C with relative humidity 45-55%. Continuous monitoring required."
description_type: policy
description: Preservation environment requirements
regulates_or_regulated:
range: ClimateControl
description: |
Climate control system(s) governed by this policy.
inlined: true
inlined_as_list: true
examples:
- value:
has_or_had_label: "Main Stack HVAC"
has_or_had_type: HVAC
description: HVAC system regulated by policy
annotations:
custodian_types: '["A", "L", "M", "R"]'
custodian_types_rationale: Climate policies primarily for archives, libraries, museums, and research centers with preservation needs.
custodian_types_primary: A
specificity_score: 0.60
specificity_rationale: Moderately specific - applies to facilities with climate-controlled storage.
comments:
- "Policy governing climate control systems"
- "Maps to ODRL Policy construct"
- "Links to ClimateControl via regulates_or_regulated slot"
examples:
- value:
has_or_had_label: "Rijksmuseum Collection Storage Climate Policy"
has_or_had_description:
description_text: "All collection storage areas must maintain temperature 20±2°C, RH 50±5%. HVAC failure triggers immediate response protocol."
description_type: policy
regulates_or_regulated:
- has_or_had_label: "Depot A HVAC System"
has_or_had_type: HVAC
- has_or_had_label: "Depot B HVAC System"
has_or_had_type: HVAC
description: Museum collection storage climate policy
- value:
has_or_had_label: "Warehouse Basic Climate Requirements"
has_or_had_description:
description_text: "Non-collection warehouse areas must maintain temperature above freezing. Heating required October-April."
description_type: policy
regulates_or_regulated:
- has_or_had_label: "Logistics Warehouse Heating"
has_or_had_type: HEATED
description: Basic warehouse climate requirements

View file

@ -0,0 +1,117 @@
# ClimateControlType class
# Abstract base class for climate control type taxonomy
#
# Generation date: 2026-01-19
# Rule compliance: 0b (Type/Types pattern), 53 (slot_fixes.yaml), 39 (RiC-O naming)
#
# This is the SINGULAR "Type" class - abstract base for the type hierarchy
# Concrete types are in ClimateControlTypes.yaml (plural)
id: https://nde.nl/ontology/hc/class/climate_control_type
name: climate_control_type_class
title: Climate Control Type Class
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
skos: http://www.w3.org/2004/02/skos/core#
aat: http://vocab.getty.edu/aat/
default_prefix: hc
imports:
- linkml:types
- ../slots/has_or_had_label
- ../slots/has_or_had_description
- ../slots/includes_or_included
classes:
ClimateControlType:
class_uri: skos:Concept
abstract: true
description: |
Abstract base class for climate control type taxonomy.
**DESIGN PATTERN** (Rule 0b - Type/Types Naming):
This file (`ClimateControlType.yaml`) defines the **singular abstract base class**.
Concrete subclasses are defined in `ClimateControlTypes.yaml` (plural).
**TYPE HIERARCHY**:
```
ClimateControlType (abstract base)
├── HEATED - Heating only (prevent freezing)
├── HVAC - Full heating, ventilation, air conditioning
├── DEHUMIDIFIED - Humidity control only
├── COOLED - Cooling only (no heating)
├── PASSIVE - Passive environmental control (building design)
└── NONE - No climate control
```
**ONTOLOGICAL ALIGNMENT**:
- **Primary** (`class_uri`): `skos:Concept` - SKOS concept scheme
- **Related**: `aat:300264752` - Getty AAT climate control systems
**USE CASES**:
The ClimateControlType is used as the range for the `has_or_had_type`
slot in the ClimateControl class:
```yaml
ClimateControl:
has_or_had_label: "Main Stack HVAC"
has_or_had_type: HVAC # ← ClimateControlType
```
exact_mappings:
- skos:Concept
related_mappings:
- aat:300264752
slots:
- has_or_had_label
- has_or_had_description
- includes_or_included
slot_usage:
has_or_had_label:
description: |
Display label for this climate control type.
range: string
required: true
examples:
- value: "HVAC"
description: Heating, ventilation, air conditioning
has_or_had_description:
description: |
Description of what this climate control type provides.
examples:
- value:
description_text: "Full heating, ventilation, and air conditioning with temperature and humidity control."
description_type: definition
description: HVAC type definition
includes_or_included:
description: |
Subtypes included in this climate control type (for hierarchical types).
range: ClimateControlType
multivalued: true
annotations:
type_types_pattern: |
This is the SINGULAR "Type" class per Rule 0b.
Concrete subclasses in ClimateControlTypes.yaml (plural).
custodian_types: '["*"]'
custodian_types_rationale: Climate control types apply to all heritage facility contexts.
specificity_score: 0.50
specificity_rationale: Type taxonomy - moderately specific to facility management.
replaces_slots: "climate_control_type (the old string-valued slot)"
migration_date: "2026-01-19"
comments:
- "Abstract base class for climate control type hierarchy"
- "Follows Rule 0b Type/Types naming pattern"
- "Concrete types: HEATED, HVAC, DEHUMIDIFIED, COOLED, PASSIVE, NONE"
- "See ClimateControlTypes.yaml for subclass definitions"

View file

@ -0,0 +1,211 @@
# ClimateControlTypes class
# Concrete subclasses for climate control type taxonomy
#
# Generation date: 2026-01-19
# Rule compliance: 0b (Type/Types pattern), 53 (slot_fixes.yaml), 39 (RiC-O naming)
#
# This is the PLURAL "Types" file - contains all concrete subclasses
# Abstract base is in ClimateControlType.yaml (singular)
id: https://nde.nl/ontology/hc/class/climate_control_types
name: climate_control_types_class
title: Climate Control Types Classes
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
skos: http://www.w3.org/2004/02/skos/core#
aat: http://vocab.getty.edu/aat/
default_prefix: hc
imports:
- linkml:types
- ./ClimateControlType
classes:
# ========================================================================
# HEATED - Heating only (prevent freezing)
# ========================================================================
HeatedClimateControl:
is_a: ClimateControlType
class_uri: hc:HeatedClimateControl
description: |
Heating-only climate control - prevents freezing, no cooling or humidity control.
**TYPICAL USE CASES**:
- Warehouses in cold climates
- Unheated outbuildings needing freeze protection
- Basic storage areas without preservation requirements
**CAPABILITIES**:
- Temperature: Above freezing (typically 10-15°C minimum)
- Humidity: Uncontrolled
- Air quality: Uncontrolled
annotations:
climate_control_code: "HEATED"
preservation_suitability: "Low - suitable for non-sensitive materials only"
examples:
- value:
has_or_had_label: "HEATED"
has_or_had_description:
description_text: "Heating only to prevent freezing. No humidity or cooling control."
description: Basic heating type
# ========================================================================
# HVAC - Full heating, ventilation, air conditioning
# ========================================================================
HVACClimateControl:
is_a: ClimateControlType
class_uri: hc:HVACClimateControl
description: |
Full HVAC - heating, ventilation, and air conditioning with temperature
and typically humidity control.
**TYPICAL USE CASES**:
- Museum collection storage
- Archive repositories
- Special collections libraries
- Conservation labs
**CAPABILITIES**:
- Temperature: Precise control (typically ±1-2°C)
- Humidity: Controlled (typically ±3-5% RH)
- Air quality: Filtered, controlled air changes
annotations:
climate_control_code: "HVAC"
preservation_suitability: "High - suitable for sensitive collections"
examples:
- value:
has_or_had_label: "HVAC"
has_or_had_description:
description_text: "Full heating, ventilation, and air conditioning with temperature and humidity control."
description: Full HVAC type
# ========================================================================
# DEHUMIDIFIED - Humidity control only
# ========================================================================
DehumidifiedClimateControl:
is_a: ClimateControlType
class_uri: hc:DehumidifiedClimateControl
description: |
Dehumidification-only climate control - humidity control without
temperature control.
**TYPICAL USE CASES**:
- Photo archives in temperate climates
- Basement storage areas
- Areas with mold/mildew concerns
**CAPABILITIES**:
- Temperature: Uncontrolled (ambient)
- Humidity: Controlled (typically below 50-60% RH)
- Air quality: May have basic filtration
annotations:
climate_control_code: "DEHUMIDIFIED"
preservation_suitability: "Medium - protects against humidity damage"
examples:
- value:
has_or_had_label: "DEHUMIDIFIED"
has_or_had_description:
description_text: "Humidity control only - maintains RH below target threshold."
description: Dehumidification type
# ========================================================================
# COOLED - Cooling only (no heating)
# ========================================================================
CooledClimateControl:
is_a: ClimateControlType
class_uri: hc:CooledClimateControl
description: |
Cooling-only climate control - air conditioning without heating.
**TYPICAL USE CASES**:
- Tropical/warm climate facilities
- Server rooms with collections databases
- Cold storage for photographic materials
**CAPABILITIES**:
- Temperature: Cooling only (may have precise control)
- Humidity: May be controlled as byproduct of cooling
- Air quality: Typically filtered
annotations:
climate_control_code: "COOLED"
preservation_suitability: "Medium-High - depends on precision"
examples:
- value:
has_or_had_label: "COOLED"
has_or_had_description:
description_text: "Cooling only - maintains temperature below ambient in warm climates."
description: Cooling-only type
# ========================================================================
# PASSIVE - Passive environmental control (building design)
# ========================================================================
PassiveClimateControl:
is_a: ClimateControlType
class_uri: hc:PassiveClimateControl
description: |
Passive climate control - environmental management through building
design rather than mechanical systems.
**TYPICAL USE CASES**:
- Historic buildings with thick walls
- Underground/cave storage
- Purpose-built passive storage facilities
**CAPABILITIES**:
- Temperature: Stable but not precisely controlled
- Humidity: May be naturally stable
- Air quality: Natural ventilation
**EXAMPLES**:
- Swiss National Library underground repository
- Cave archives
- Historic stone buildings with thermal mass
annotations:
climate_control_code: "PASSIVE"
preservation_suitability: "Variable - depends on building characteristics"
examples:
- value:
has_or_had_label: "PASSIVE"
has_or_had_description:
description_text: "Passive environmental control through building design, thermal mass, and natural ventilation."
description: Passive control type
# ========================================================================
# NONE - No climate control
# ========================================================================
NoClimateControl:
is_a: ClimateControlType
class_uri: hc:NoClimateControl
description: |
No climate control - ambient conditions only.
**TYPICAL USE CASES**:
- Outdoor monuments
- Unimproved storage spaces
- Temporary exhibition spaces
**CAPABILITIES**:
- Temperature: Ambient (uncontrolled)
- Humidity: Ambient (uncontrolled)
- Air quality: Ambient (uncontrolled)
**WARNING**:
Not suitable for sensitive heritage materials.
annotations:
climate_control_code: "NONE"
preservation_suitability: "None - unsuitable for sensitive materials"
examples:
- value:
has_or_had_label: "NONE"
has_or_had_description:
description_text: "No climate control - ambient environmental conditions only."
description: No climate control type

View file

@ -0,0 +1,137 @@
# CoFunding - Co-funding/match funding requirement
# Created 2026-01-19 per slot_fixes.yaml revision for co_funding_required
# Rule 53: Generic slot + structured class pattern
id: https://nde.nl/ontology/hc/class/CoFunding
name: CoFunding
title: CoFunding Class
version: 1.0.0
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
schema: http://schema.org/
dcterms: http://purl.org/dc/terms/
imports:
- linkml:types
- ../slots/has_or_had_description
- ../slots/is_or_was_required
- ../slots/has_or_had_quantity
- ./Quantity
- ./MeasureUnit
- ../enums/MeasureUnitEnum
default_prefix: hc
classes:
CoFunding:
class_uri: schema:MonetaryAmount
description: |
Co-funding or match funding requirement for a funding call or grant.
Co-funding represents the financial contribution that an applicant must
provide alongside the grant funding. This may be expressed as:
- A percentage of total project cost (e.g., 30% co-funding required)
- A minimum absolute amount (e.g., €50,000 minimum co-funding)
- In-kind contributions (staff time, facilities, equipment)
**ONTOLOGY ALIGNMENT**:
- schema:MonetaryAmount - For monetary co-funding amounts
- schema:percentageValue - For percentage-based requirements
**MIGRATION NOTE**:
Replaces simple boolean `co_funding_required` slot with structured class
that captures co-funding amount, percentage, and type information.
**USAGE**:
- CallForApplication requires_or_required CoFunding
- Grant has_or_had_cofunding CoFunding
**EXAMPLES**:
- Horizon Europe: 0% co-funding for academic partners (100% funding rate)
- National Lottery Heritage Fund: 5-50% partnership funding required
- Creative Europe: 40% co-funding required (60% EU contribution)
exact_mappings:
- schema:MonetaryAmount
close_mappings:
- schema:percentageValue
related_mappings:
- schema:Grant
- schema:FundingScheme
slots:
- is_or_was_required
- has_or_had_description
- has_or_had_quantity
slot_usage:
is_or_was_required:
required: true
range: boolean
description: |
Whether co-funding is required for this funding opportunity.
True = applicants must provide matching funds.
False = full funding provided (no co-funding required).
examples:
- value: true
description: Co-funding required (e.g., 30% match)
- value: false
description: Full funding provided (100% grant rate)
has_or_had_description:
range: string
description: |
Human-readable description of co-funding requirements.
May include eligibility notes, in-kind contribution rules, etc.
examples:
- value: "30% co-funding required; in-kind contributions accepted up to 10%"
description: Mixed co-funding with in-kind allowance
- value: "Partnership funding required ranging from 5% to 50% depending on grant size"
description: Sliding scale co-funding
has_or_had_quantity:
range: Quantity
multivalued: true
inlined: true
inlined_as_list: true
description: |
Quantified co-funding requirements expressed as:
- Percentage (e.g., 30% of total project cost)
- Minimum amount (e.g., €50,000)
- Maximum amount (e.g., up to €1,000,000)
examples:
- value:
quantity_value: 30
has_or_had_measurement_unit:
unit_label: "%"
description: 30% co-funding percentage
- value:
quantity_value: 50000
has_or_had_measurement_unit:
unit_label: EUR
description: Minimum €50,000 co-funding
comments:
- Replaces simple co_funding_required boolean with structured class
- Captures both percentage and absolute co-funding amounts
- In-kind contributions tracked via description field
- Links to Quantity for precise numerical requirements
see_also:
- https://schema.org/MonetaryAmount
- https://ec.europa.eu/research/participants/docs/h2020-funding-guide/grants/applying-for-funding/find-a-call/what-you-need-to-know_en.htm
examples:
- value:
is_or_was_required: true
has_or_had_description: "30% co-funding required for all project costs"
has_or_had_quantity:
- quantity_value: 30
has_or_had_measurement_unit:
unit_label: "%"
description: EU Creative Europe style co-funding (30%)
- value:
is_or_was_required: true
has_or_had_description: "Partnership funding 5-50% depending on grant size; in-kind contributions permitted"
has_or_had_quantity:
- quantity_value: 5
has_or_had_measurement_unit:
unit_label: "%"
- quantity_value: 50
has_or_had_measurement_unit:
unit_label: "%"
description: NLHF sliding scale co-funding range
- value:
is_or_was_required: false
has_or_had_description: "100% funding rate for academic and non-profit partners"
description: Horizon Europe full funding (no co-funding)

View file

@ -0,0 +1,86 @@
id: https://nde.nl/ontology/hc/class/CollectionDiscoveryScore
name: collection_discovery_score_class
title: Collection Discovery Score Class
# Created per slot_fixes.yaml revision for collection_discovery_score migration
# RULE 53: Structured score class replacing primitive float
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
sosa: http://www.w3.org/ns/sosa/
prov: http://www.w3.org/ns/prov#
schema: http://schema.org/
imports:
- linkml:types
- ../slots/has_or_had_score
- ../slots/specificity_annotation
- ./SpecificityAnnotation
- ./TemplateSpecificityScore
- ./TemplateSpecificityType
- ./TemplateSpecificityTypes
default_range: string
classes:
CollectionDiscoveryScore:
class_uri: sosa:Observation
description: >-
Structured score for collection discovery/exploration relevance.
Captures the computed relevance score from search/retrieval algorithms
acting as observation systems, along with metadata about when and how
the score was computed.
**Use cases**:
- RAG retrieval relevance scores for collection metadata
- Search result ranking scores
- Collection exploration priority scores
- Template-specific relevance for different query contexts
**Score semantics**:
- 0.0 = Not relevant to query/context
- 0.5 = Moderately relevant
- 1.0 = Highly relevant
exact_mappings:
- sosa:Observation
close_mappings:
- prov:Entity
- schema:Rating
slots:
- has_or_had_score
- specificity_annotation
attributes:
score_context:
range: string
description: >-
Context or query type for which this score was computed.
E.g., "collection_discovery", "archive_search", "museum_search"
computed_at:
range: datetime
description: When the score was computed.
algorithm_version:
range: string
description: >-
Version of the scoring algorithm used.
Enables reproducibility and score comparison across versions.
score_notes:
range: string
description: Additional notes about the score computation.
comments:
- "Created per slot_fixes.yaml revision for collection_discovery_score migration"
- "Replaces primitive float with structured observation"
- "RULE 53: Part of collection_discovery_score → has_or_had_score + CollectionDiscoveryScore migration"
annotations:
specificity_score: 0.75
specificity_rationale: "Fairly specific - applies to collection search/discovery contexts"
examples:
- value: |
has_or_had_score: 0.85
score_context: "collection_discovery"
computed_at: "2026-01-19T12:00:00Z"
algorithm_version: "v1.2.0"
- value: |
has_or_had_score: 0.92
score_context: "archive_search"
computed_at: "2026-01-19T14:30:00Z"

View file

@ -12,12 +12,17 @@ imports:
- ../slots/documentation_url - ../slots/documentation_url
- ./ReconstructedEntity - ./ReconstructedEntity
- ../slots/is_or_was_available # MIGRATED: was ../slots/api_available (2026-01-15) - ../slots/is_or_was_available # MIGRATED: was ../slots/api_available (2026-01-15)
- ../slots/cms_category # REMOVED 2026-01-19: ../slots/cms_category - migrated to has_or_had_type + CMSType (Rule 53)
- ../slots/has_or_had_type # was: cms_category - migrated per Rule 53 (2026-01-19)
- ./CMSType
- ./CMSTypes
# REMOVED 2026-01-18: ../slots/cms_id - migrated to has_or_had_identifier + Identifier (Rule 53) # REMOVED 2026-01-18: ../slots/cms_id - migrated to has_or_had_identifier + Identifier (Rule 53)
- ../slots/has_or_had_identifier # was: cms_id - migrated per Rule 53 (2026-01-18) - ../slots/has_or_had_identifier # was: cms_id - migrated per Rule 53 (2026-01-18)
- ./Identifier - ./Identifier
# REMOVED 2026-01-18: ../slots/cms_product_name - migrated to has_or_had_label with Label (type: product_name) # REMOVED 2026-01-18: ../slots/cms_product_name - migrated to has_or_had_label with Label (type: product_name)
- ../slots/cms_product_version # REMOVED 2026-01-19: ../slots/cms_product_version - migrated to has_or_had_version + Version (Rule 53)
- ../slots/has_or_had_version # was: cms_product_version - migrated per Rule 53 (2026-01-19)
- ./Version
- ../slots/has_or_had_custodian_type - ../slots/has_or_had_custodian_type
- ../slots/deployment_date - ../slots/deployment_date
- ../slots/iiif_compatible - ../slots/iiif_compatible
@ -114,10 +119,12 @@ classes:
- rico:Activity - rico:Activity
slots: slots:
- is_or_was_available # MIGRATED: was api_available (2026-01-15) - is_or_was_available # MIGRATED: was api_available (2026-01-15)
- cms_category # REMOVED 2026-01-19: cms_category - migrated to has_or_had_type with CMSType
- has_or_had_type # was: cms_category - migrated per Rule 53 (2026-01-19)
- has_or_had_identifier # was: cms_id - migrated per Rule 53 (2026-01-18) - has_or_had_identifier # was: cms_id - migrated per Rule 53 (2026-01-18)
# REMOVED 2026-01-18: cms_product_name - migrated to has_or_had_label with Label (type: product_name) # REMOVED 2026-01-18: cms_product_name - migrated to has_or_had_label with Label (type: product_name)
- cms_product_version # REMOVED 2026-01-19: cms_product_version - migrated to has_or_had_version + Version (Rule 53)
- has_or_had_version # was: cms_product_version - migrated per Rule 53 (2026-01-19)
- has_or_had_custodian_type - has_or_had_custodian_type
- deployment_date - deployment_date
- documentation_url - documentation_url
@ -177,18 +184,65 @@ classes:
See has_or_had_label slot_usage for current pattern. See has_or_had_label slot_usage for current pattern.
deprecated: "Use has_or_had_label with Label(has_or_had_type='product_name')" deprecated: "Use has_or_had_label with Label(has_or_had_type='product_name')"
cms_product_version: cms_product_version:
range: string description: |
DEPRECATED 2026-01-19: Migrated to has_or_had_version slot with Version class.
This slot_usage entry retained for documentation only.
See has_or_had_version slot_usage for current pattern.
deprecated: "Use has_or_had_version with Version class"
has_or_had_version: # was: cms_product_version - migrated per Rule 53 (2026-01-19)
description: |
MIGRATED from cms_product_version per slot_fixes.yaml (Rule 53, 2026-01-19).
Version of the CMS software deployed.
Uses Version class for structured version representation:
- version_string: Full version (e.g., "1.8.0", "7.4")
- major_version, minor_version, patch_version: Semantic versioning components
- release_date: When this version was released
- temporal_extent: When this version was deployed at the custodian
range: Version
multivalued: true
inlined_as_list: true
examples: examples:
- value: 1.8.0 - value:
description: CollectiveAccess version version_string: "1.8.0"
- value: '7.0' major_version: 1
minor_version: 8
patch_version: 0
description: CollectiveAccess version with semantic components
- value:
version_string: "7.4"
major_version: 7
minor_version: 4
description: MuseumPlus version description: MuseumPlus version
cms_category: cms_category:
range: string description: |
DEPRECATED 2026-01-19: Migrated to has_or_had_type slot with CMSType class.
This slot_usage entry retained for documentation only.
See has_or_had_type slot_usage for current pattern.
deprecated: "Use has_or_had_type with CMSType class"
has_or_had_type: # was: cms_category - migrated per Rule 53 (2026-01-19)
description: |
MIGRATED from cms_category per slot_fixes.yaml (Rule 53, 2026-01-19).
The type of collection management system.
Uses CMSType class hierarchy for structured type representation:
- MuseumCMS: Museum-focused collection management (e.g., TMS, CollectiveAccess)
- ArchiveCMS: Archives-focused (e.g., ArchivesSpace, MAIS-Flexis)
- LibraryCMS: Library-focused (e.g., Koha, Alma)
- DigitalAssetManagement: DAM systems (e.g., ResourceSpace)
- DigitalRepository: Repository platforms (e.g., DSpace, Fedora)
- MixedCMS: Multi-domain systems
- CustomCMS: Institution-specific systems
range: CMSType
inlined: true
examples: examples:
- value: MUSEUM_CMS - value:
has_or_had_label: Museum CMS
has_or_had_type: museum_cms
description: Museum-focused CMS description: Museum-focused CMS
- value: ARCHIVE_CMS - value:
has_or_had_label: Archive CMS
has_or_had_type: archive_cms
description: Archives-focused CMS description: Archives-focused CMS
open_source: open_source:
range: boolean range: boolean
@ -382,15 +436,20 @@ classes:
- http://www.cidoc-crm.org/cidoc-crm/E29_Design_or_Procedure - http://www.cidoc-crm.org/cidoc-crm/E29_Design_or_Procedure
- http://usefulinc.com/ns/doap#Project - http://usefulinc.com/ns/doap#Project
examples: examples:
# Examples updated for migrated slots (Rule 53) - 2026-01-14, 2026-01-16, 2026-01-18 # Examples updated for migrated slots (Rule 53) - 2026-01-14, 2026-01-16, 2026-01-18, 2026-01-19
- value: - value:
# cms_id migrated to has_or_had_identifier with Identifier class (2026-01-18) # cms_id migrated to has_or_had_identifier with Identifier class (2026-01-18)
has_or_had_identifier: has_or_had_identifier:
identifier_scheme: CMS_URI identifier_scheme: CMS_URI
identifier_value: "https://nde.nl/ontology/hc/cms/rijksmuseum-adlib" identifier_value: "https://nde.nl/ontology/hc/cms/rijksmuseum-adlib"
# cms_product_name migrated to has_or_had_label with type: product_name (2026-01-18) # cms_product_name migrated to has_or_had_label with type: product_name (2026-01-18)
cms_product_version: '7.4' # cms_product_version migrated to has_or_had_version with Version class (2026-01-19)
cms_category: MUSEUM_CMS has_or_had_version:
version_string: "7.4"
major_version: 7
minor_version: 4
# cms_category migrated to has_or_had_type with CMSType (2026-01-19)
has_or_had_type: MuseumCMS # was: cms_category: MUSEUM_CMS
open_source: false open_source: false
license: Proprietary license: Proprietary
has_or_had_label: # was: vendor_name AND cms_product_name - now uses Label with type discrimination has_or_had_label: # was: vendor_name AND cms_product_name - now uses Label with type discrimination
@ -425,8 +484,14 @@ classes:
identifier_scheme: CMS_URI identifier_scheme: CMS_URI
identifier_value: "https://nde.nl/ontology/hc/cms/example-museum-collectiveaccess" identifier_value: "https://nde.nl/ontology/hc/cms/example-museum-collectiveaccess"
# cms_product_name migrated to has_or_had_label with type: product_name (2026-01-18) # cms_product_name migrated to has_or_had_label with type: product_name (2026-01-18)
cms_product_version: 1.8.0 # cms_product_version migrated to has_or_had_version with Version class (2026-01-19)
cms_category: MUSEUM_CMS has_or_had_version:
version_string: "1.8.0"
major_version: 1
minor_version: 8
patch_version: 0
# cms_category migrated to has_or_had_type with CMSType (2026-01-19)
has_or_had_type: MuseumCMS # was: cms_category: MUSEUM_CMS
open_source: true open_source: true
license: GPL-3.0 license: GPL-3.0
has_or_had_label: # was: vendor_name AND cms_product_name - now uses Label with type discrimination has_or_had_label: # was: vendor_name AND cms_product_name - now uses Label with type discrimination
@ -462,8 +527,10 @@ classes:
identifier_scheme: CMS_URI identifier_scheme: CMS_URI
identifier_value: "https://nde.nl/ontology/hc/cms/nationaal-archief-mais" identifier_value: "https://nde.nl/ontology/hc/cms/nationaal-archief-mais"
# cms_product_name migrated to has_or_had_label with type: product_name (2026-01-18) # cms_product_name migrated to has_or_had_label with type: product_name (2026-01-18)
cms_product_version: null # cms_product_version migrated to has_or_had_version with Version class (2026-01-19)
cms_category: ARCHIVE_CMS # Version unknown for this CMS deployment
# cms_category migrated to has_or_had_type with CMSType (2026-01-19)
has_or_had_type: ArchiveCMS # was: cms_category: ARCHIVE_CMS
open_source: false open_source: false
license: Proprietary license: Proprietary
has_or_had_label: # was: vendor_name AND cms_product_name - now uses Label with type discrimination has_or_had_label: # was: vendor_name AND cms_product_name - now uses Label with type discrimination

View file

@ -11,24 +11,16 @@ prefixes:
imports: imports:
- linkml:types - linkml:types
- ../metadata - ../metadata
# NOTE: This class uses confidence_value/confidence_method directly (not migrated to is_or_was_generated_by pattern)
# because it serves as the range for has_or_had_confidence_measure slot in CustodianObservation, ReconstructionActivity
- ../slots/confidence_value - ../slots/confidence_value
- ../slots/confidence_method - ../slots/confidence_method
- ../slots/specificity_annotation - ../slots/specificity_annotation
- ../slots/has_or_had_score # was: template_specificity - migrated per Rule 53 (2026-01-17) - ../slots/has_or_had_score # was: template_specificity - migrated per Rule 53 (2026-01-17)
- ./SpecificityAnnotation - ./SpecificityAnnotation
- ./TemplateSpecificityScore # was: TemplateSpecificityScores - migrated per Rule 53 (2026-01-17) - ./TemplateSpecificityScore # was: TemplateSpecificityScores - migrated per Rule 53 (2026-01-17)
- ./TemplateSpecificityType - ./TemplateSpecificityType
- ./TemplateSpecificityTypes - ./TemplateSpecificityTypes
- ../slots/confidence_method
- ../slots/confidence_value
- ../slots/specificity_annotation
- ../slots/has_or_had_score # was: template_specificity - migrated per Rule 53 (2026-01-17)
- ../slots/confidence_method
- ../slots/confidence_value
- ../slots/specificity_annotation
- ../slots/has_or_had_score # was: template_specificity - migrated per Rule 53 (2026-01-17)
classes: classes:
ConfidenceMeasure: ConfidenceMeasure:
class_uri: prov:Confidence class_uri: prov:Confidence

View file

@ -0,0 +1,135 @@
# ConfidenceMethod - Method used to calculate confidence scores
#
# Created per slot_fixes.yaml migration for: confidence_method
# Revision: has_or_had_method + ConfidenceMethod
# Creation date: 2026-01-19
id: https://nde.nl/ontology/hc/class/ConfidenceMethod
name: confidence_method_class
title: Confidence Method
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
prov: http://www.w3.org/ns/prov#
schema: http://schema.org/
imports:
- linkml:types
- ../slots/has_or_had_type
- ../slots/has_or_had_description
- ../slots/has_or_had_identifier
default_prefix: hc
classes:
ConfidenceMethod:
description: >-
A method or algorithm used to calculate confidence scores.
**USAGE**:
Documents how confidence values were computed:
- Fuzzy string matching algorithms
- ML model predictions
- Rule-based validation
- XPath match verification
- Human assessment
**COMMON METHODS**:
| Method | Description |
|--------|-------------|
| fuzzy_matching | Levenshtein, Jaro-Winkler, etc. |
| xpath_validation | XPath match confidence |
| llm_classification | LLM-based entity classification |
| ml_prediction | Machine learning model output |
| human_assessment | Manual quality assessment |
| ensemble | Combined multiple methods |
class_uri: prov:Plan
exact_mappings:
- prov:Plan
close_mappings:
- schema:HowTo
slots:
- has_or_had_type
- has_or_had_description
- has_or_had_identifier
slot_usage:
has_or_had_type:
range: string
required: true
description: >-
Type of confidence calculation method.
examples:
- value: "fuzzy_matching"
description: String similarity algorithm
- value: "ml_prediction"
description: Machine learning model
- value: "human_assessment"
description: Manual human review
has_or_had_description:
range: string
required: false
description: >-
Detailed description of the method implementation.
examples:
- value: "Jaro-Winkler similarity with 0.7 threshold"
description: Fuzzy matching configuration
has_or_had_identifier:
range: string
required: false
description: >-
Identifier for the method (e.g., algorithm name, model version).
examples:
- value: "rapidfuzz-2.15.1"
description: Library version
attributes:
threshold:
range: float
description: >-
Confidence threshold used by this method for accept/reject decisions.
examples:
- value: 0.85
description: 85% threshold for acceptance
is_deterministic:
range: boolean
description: >-
Whether the method produces consistent results for same inputs.
annotations:
custodian_types: '["*"]'
custodian_types_rationale: >-
Confidence methods apply universally to data quality assessment.
custodian_types_primary: "*"
specificity_score: 0.25
specificity_rationale: >-
Low specificity - fundamental methodology documentation.
examples:
- value:
has_or_had_type: "fuzzy_matching"
has_or_had_description: "Levenshtein distance with ratio normalization"
has_or_had_identifier: "rapidfuzz-levenshtein"
threshold: 0.85
is_deterministic: true
description: Fuzzy string matching method
- value:
has_or_had_type: "llm_classification"
has_or_had_description: "GPT-4 based entity type classification"
has_or_had_identifier: "gpt-4-turbo-2024-04-09"
is_deterministic: false
description: LLM-based classification method
comments:
- Created from slot_fixes.yaml migration (2026-01-19)
- Documents confidence calculation methodology
- Used with ConfidenceScore class

View file

@ -0,0 +1,126 @@
# ConfidenceScore - Confidence score class for quality/certainty measurements
#
# Created per slot_fixes.yaml migration for: confidence_score
# Revision: is_or_was_generated_by + GenerationEvent + has_or_had_score + ConfidenceScore
# Creation date: 2026-01-19
id: https://nde.nl/ontology/hc/class/ConfidenceScore
name: confidence_score_class
title: Confidence Score
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
sosa: http://www.w3.org/ns/sosa/
prov: http://www.w3.org/ns/prov#
schema: http://schema.org/
imports:
- linkml:types
- ../slots/has_or_had_score
- ../slots/has_or_had_method
- ../slots/has_or_had_description
default_prefix: hc
classes:
ConfidenceScore:
description: >-
A structured confidence score representing quality/certainty measurements.
**MIGRATION**:
Replaces simple `confidence_score` float slot with structured class:
- `has_or_had_score`: The numeric value (0.0-1.0)
- `has_or_had_method`: How confidence was calculated
- `has_or_had_description`: Explanation of confidence assessment
**USAGE**:
- Process quality assessment (methodology confidence)
- Match/similarity confidence (entity resolution)
- Extraction confidence (NLP/XPath extraction)
- Prediction confidence (ML model outputs)
**RANGE**: 0.0 (low confidence) to 1.0 (high confidence)
**ONTOLOGY MAPPING**:
- sosa:hasSimpleResult for the score value
- prov:value as close mapping
class_uri: sosa:Result
exact_mappings:
- sosa:Result
close_mappings:
- prov:Value
- schema:Rating
slots:
- has_or_had_score
- has_or_had_method
- has_or_had_description
slot_usage:
has_or_had_score:
range: float
minimum_value: 0.0
maximum_value: 1.0
required: true
description: >-
The confidence score value, ranging from 0.0 (no confidence) to 1.0 (complete confidence).
examples:
- value: 0.95
description: High confidence (95%)
- value: 0.50
description: Moderate confidence (50%)
- value: 0.10
description: Low confidence (10%)
has_or_had_method:
range: string
required: false
description: >-
Method or algorithm used to calculate the confidence score.
examples:
- value: "fuzzy_string_matching"
description: String similarity method
- value: "xpath_extraction_validation"
description: XPath match validation
- value: "llm_classification"
description: LLM-based classification
has_or_had_description:
range: string
required: false
description: >-
Human-readable explanation of the confidence assessment.
examples:
- value: "High confidence - exact name match with verified ISIL code"
description: Explanation for high score
annotations:
custodian_types: '["*"]'
custodian_types_rationale: >-
Confidence scoring applies universally across all data extraction contexts.
custodian_types_primary: "*"
specificity_score: 0.20
specificity_rationale: >-
Low specificity - fundamental measurement concept for data quality.
examples:
- value:
has_or_had_score: 0.95
has_or_had_method: "xpath_extraction"
has_or_had_description: "Exact match found at expected XPath location"
description: High confidence XPath extraction
- value:
has_or_had_score: 0.65
has_or_had_method: "fuzzy_string_matching"
has_or_had_description: "Moderate similarity to reference name (Levenshtein ratio 0.85)"
description: Moderate confidence entity resolution
comments:
- Created from slot_fixes.yaml migration (2026-01-19)
- Replaces simple confidence_score float slot
- Used with is_or_was_generated_by slot for provenance

View file

@ -26,7 +26,10 @@ imports:
- ../slots/has_or_had_identifier - ../slots/has_or_had_identifier
- ../slots/has_or_had_label - ../slots/has_or_had_label
- ../slots/has_or_had_type - ../slots/has_or_had_type
- ../slots/confidence_score # MIGRATED 2026-01-19: confidence_score → is_or_was_generated_by + GenerationEvent + ConfidenceScore
- ../slots/is_or_was_generated_by
- ./GenerationEvent
- ./ConfidenceScore
- ../slots/start_time - ../slots/start_time
- ../slots/end_time - ../slots/end_time
- ../slots/has_or_had_geographic_extent # was: bounding_box - migrated per Rule 53/56 (2026-01-17) - ../slots/has_or_had_geographic_extent # was: bounding_box - migrated per Rule 53/56 (2026-01-17)
@ -107,7 +110,8 @@ classes:
- has_or_had_identifier - has_or_had_identifier
- has_or_had_label - has_or_had_label
- has_or_had_type - has_or_had_type
- confidence_score # MIGRATED 2026-01-19: confidence_score → is_or_was_generated_by
- is_or_was_generated_by
- start_time - start_time
- end_time - end_time
- has_or_had_geographic_extent # was: bounding_box - migrated per Rule 53/56 (2026-01-17) - has_or_had_geographic_extent # was: bounding_box - migrated per Rule 53/56 (2026-01-17)
@ -139,16 +143,23 @@ classes:
- value: "Museum Tour" - value: "Museum Tour"
- value: "Opening Credits" - value: "Opening Credits"
confidence_score: is_or_was_generated_by:
range: float range: GenerationEvent
required: false required: false
minimum_value: 0.0 inlined: true
maximum_value: 1.0 description: >-
description: "Detection confidence score (0.0 to 1.0)" Generation event containing confidence score for entity detection.
MIGRATED 2026-01-19: Replaces confidence_score slot with structured pattern.
examples: examples:
- value: 0.95 - value:
has_or_had_score:
has_or_had_score: 0.95
has_or_had_method: "computer_vision"
description: "High confidence detection" description: "High confidence detection"
- value: 0.62 - value:
has_or_had_score:
has_or_had_score: 0.62
has_or_had_method: "ocr_extraction"
description: "Moderate confidence, may need review" description: "Moderate confidence, may need review"
start_time: start_time:
@ -188,9 +199,10 @@ classes:
comments: comments:
- "Base class for automated detection results" - "Base class for automated detection results"
- "Use has_or_had_type to link to specific Type classes (TransitionType, TextType)" - "Use has_or_had_type to link to specific Type classes (TransitionType, TextType)"
- "Captures detection metadata: confidence, timestamps, bounding boxes" - "Captures detection metadata: confidence (via is_or_was_generated_by), timestamps, bounding boxes"
- "Generated by detection activities (prov:wasGeneratedBy pattern)" - "Generated by detection activities (prov:wasGeneratedBy pattern)"
- "Rule 39 compliant: uses has_or_had_* slot naming" - "Rule 39 compliant: uses has_or_had_* slot naming"
- "MIGRATED 2026-01-19: confidence_score → is_or_was_generated_by + ConfidenceScore"
see_also: see_also:
- https://www.w3.org/TR/prov-o/#Entity - https://www.w3.org/TR/prov-o/#Entity
@ -201,7 +213,10 @@ classes:
- value: - value:
has_or_had_identifier: "transition-001" has_or_had_identifier: "transition-001"
has_or_had_type: "TransitionType:FADE_IN" has_or_had_type: "TransitionType:FADE_IN"
confidence_score: 0.95 is_or_was_generated_by:
has_or_had_score:
has_or_had_score: 0.95
has_or_had_method: "video_analysis"
start_time: "00:03:15" start_time: "00:03:15"
end_time: "00:03:17" end_time: "00:03:17"
description: "Video transition detection (fade in)" description: "Video transition detection (fade in)"
@ -210,6 +225,9 @@ classes:
has_or_had_identifier: "text-001" has_or_had_identifier: "text-001"
has_or_had_type: "TextType:TITLE" has_or_had_type: "TextType:TITLE"
has_or_had_label: "Museum Tour Guide" has_or_had_label: "Museum Tour Guide"
confidence_score: 0.87 is_or_was_generated_by:
has_or_had_score:
has_or_had_score: 0.87
has_or_had_method: "ocr_extraction"
has_or_had_geographic_extent: [100.0, 50.0, 400.0, 150.0] # was: bounding_box has_or_had_geographic_extent: [100.0, 50.0, 400.0, 150.0] # was: bounding_box
description: "On-screen text detection" description: "On-screen text detection"

View file

@ -66,7 +66,8 @@ imports:
- ./TemplateSpecificityTypes - ./TemplateSpecificityTypes
- ../slots/education_level - ../slots/education_level
- ../slots/has_or_had_academic_program - ../slots/has_or_had_academic_program
- ../slots/collection_access - ../slots/offers_or_offered_access
- ./Access
# REMOVED 2026-01-15: teaching_collection, student_service imports - defined locally as attributes, slots archived # REMOVED 2026-01-15: teaching_collection, student_service imports - defined locally as attributes, slots archived
- ../slots/has_or_had_accreditation - ../slots/has_or_had_accreditation
- ../slots/education_provider_subtype - ../slots/education_provider_subtype
@ -367,77 +368,15 @@ classes:
range: string range: string
multivalued: true multivalued: true
slot_uri: aiiso:programme slot_uri: aiiso:programme
collection_access: offers_or_offered_access:
description: 'Access policies for heritage collections, especially concerning student and faculty use. description: >-
Access offerings for heritage collections, especially concerning student and faculty use.
Uses structured Access class to capture access type, eligible users, conditions, and restrictions.
Academic Community Access: Education providers typically offer multiple access types for different user groups.
range: Access
- Students enrolled: Undergraduate, graduate, doctoral students multivalued: true
inlined: true
- Faculty and staff: Teaching faculty, research faculty, emeritus inlined_as_list: true
- Academic affiliates: Visiting scholars, postdocs, adjuncts
Curriculum Integration:
- Class visits: Scheduled visits as part of coursework
- Hands-on learning: Object-based teaching with collection items
- Laboratory access: Specimen examination for science students
- Research use: Thesis/dissertation research, faculty research projects
External Access:
- Public visiting hours: Open to general public (specific days/times)
- Appointment required: By-appointment access for researchers
- Restricted access: Academic credentials required
- Membership programs: Community membership for non-affiliated users
Digital Access:
- Online catalog: Searchable collection database
- Digital collections: Digitized materials available online
- Virtual exhibitions: Online exhibition programming
- Learning management integration: Collections in course management systems
Special Restrictions:
- Conservation concerns: Fragile materials limited access
- Donor restrictions: Bequest conditions limiting use
- Privacy restrictions: Student records, personnel files
- Security restrictions: High-value items in secure storage
Examples:
- "Open to enrolled students and faculty; public by appointment"
- "Class visits scheduled through instructors; public gallery hours Wednesday-Saturday"
- "Digital collections open access; physical materials require university ID"
This field maps to Schema.org and CIDOC-CRM access properties.
'
range: string
slot_uri: schema:publicAccess
teaching_collection: teaching_collection:
description: 'Description of collections specifically maintained for educational purposes and description: 'Description of collections specifically maintained for educational purposes and

View file

@ -16,7 +16,6 @@ imports:
- ./TimeSpan - ./TimeSpan
- ../enums/EventTypeEnum - ../enums/EventTypeEnum
- ../slots/event_description - ../slots/event_description
- ../slots/confidence_score
- ../slots/event_id - ../slots/event_id
- ../slots/documentation_source - ../slots/documentation_source
- ../slots/event_label - ../slots/event_label
@ -28,32 +27,12 @@ imports:
- ../slots/takes_or_took_place_at # was: took_place_at - migrated per Rule 53 - ../slots/takes_or_took_place_at # was: took_place_at - migrated per Rule 53
- ./SpecificityAnnotation - ./SpecificityAnnotation
- ./TemplateSpecificityScore # was: TemplateSpecificityScores - migrated per Rule 53 (2026-01-17) - ./TemplateSpecificityScore # was: TemplateSpecificityScores - migrated per Rule 53 (2026-01-17)
- ./TemplateSpecificityType - ./TemplateSpecificityType
- ./TemplateSpecificityTypes - ./TemplateSpecificityTypes
- ../slots/confidence_score # MIGRATED 2026-01-19: confidence_score → is_or_was_generated_by + GenerationEvent + ConfidenceScore
- ../slots/documentation_source - ../slots/is_or_was_generated_by
- ../slots/event_description - ./GenerationEvent
- ../slots/event_id - ./ConfidenceScore
- ../slots/event_label
- ../slots/has_or_had_involved_actor
- ../slots/has_timespan
- ../slots/hypernym_event_type
- ../slots/specificity_annotation
- ../slots/takes_or_took_place_at
- ../slots/has_or_had_score # was: template_specificity - migrated per Rule 53 (2026-01-17)
- ../slots/confidence_score
- ../slots/documentation_source
- ../slots/event_description
- ../slots/event_id
- ../slots/event_label
- ../slots/has_or_had_involved_actor
- ../slots/has_timespan
- ../slots/hypernym_event_type
- ../slots/specificity_annotation
- ../slots/takes_or_took_place_at
- ../slots/has_or_had_score # was: template_specificity - migrated per Rule 53 (2026-01-17)
classes: classes:
Event: Event:
class_uri: crm:E5_Event class_uri: crm:E5_Event
@ -105,7 +84,6 @@ classes:
- crm:E85_Joining - crm:E85_Joining
- crm:E86_Leaving - crm:E86_Leaving
slots: slots:
- confidence_score
- documentation_source - documentation_source
- event_description - event_description
- event_id - event_id
@ -116,6 +94,7 @@ classes:
- specificity_annotation - specificity_annotation
- has_or_had_score # was: template_specificity - migrated per Rule 53 (2026-01-17) - has_or_had_score # was: template_specificity - migrated per Rule 53 (2026-01-17)
- takes_or_took_place_at # was: took_place_at - migrated per Rule 53 - takes_or_took_place_at # was: took_place_at - migrated per Rule 53
- is_or_was_generated_by # MIGRATED 2026-01-19: replaces confidence_score
slot_usage: slot_usage:
event_id: event_id:
required: true required: true
@ -124,6 +103,19 @@ classes:
required: true required: true
has_timespan: has_timespan:
required: false required: false
is_or_was_generated_by:
range: GenerationEvent
required: false
inlined: true
description: >-
Generation event containing confidence score for this event.
MIGRATED 2026-01-19: Replaces confidence_score slot with structured pattern.
examples:
- value:
has_or_had_score:
has_or_had_score: 0.95
has_or_had_method: "documentation_verification"
description: High confidence from verified documentation
comments: comments:
- Event is the hub class for all temporal phenomena in the HC ontology - Event is the hub class for all temporal phenomena in the HC ontology
- Domain-specific events (OrganizationalChangeEvent, CollectionEvent) can inherit from Event - Domain-specific events (OrganizationalChangeEvent, CollectionEvent) can inherit from Event
@ -131,6 +123,7 @@ classes:
- Actor links (involved_actors) connect events to both persons and organizations - Actor links (involved_actors) connect events to both persons and organizations
- hypernym_event_type provides cross-domain event queries - hypernym_event_type provides cross-domain event queries
- 'Future: Add participated_in_events slot to Custodian and Person for inverse navigation' - 'Future: Add participated_in_events slot to Custodian and Person for inverse navigation'
- 'MIGRATED 2026-01-19: confidence_score → is_or_was_generated_by + ConfidenceScore'
examples: examples:
- value: - value:
event_id: https://nde.nl/ontology/hc/event/nha-merger-2001 event_id: https://nde.nl/ontology/hc/event/nha-merger-2001
@ -142,4 +135,8 @@ classes:
has_or_had_involved_actor: has_or_had_involved_actor:
- https://nde.nl/ontology/hc/nl-nh-haa-a-gah - https://nde.nl/ontology/hc/nl-nh-haa-a-gah
- https://nde.nl/ontology/hc/nl-nh-haa-a-ranh - https://nde.nl/ontology/hc/nl-nh-haa-a-ranh
description: Merger of two archives to form Noord-Hollands Archief is_or_was_generated_by:
has_or_had_score:
has_or_had_score: 0.95
has_or_had_method: documentation_verification
description: Merger of two archives to form Noord-Hollands Archief with structured confidence score

View file

@ -25,7 +25,10 @@ imports:
- ../slots/has_or_had_identifier - ../slots/has_or_had_identifier
- ./WikiDataIdentifier - ./WikiDataIdentifier
- ../slots/exhibition_type - ../slots/exhibition_type
- ../slots/co_organized_by # REMOVED 2026-01-19: co_organized_by - migrated to has_or_had_organizer + Organizer (Rule 53)
- ../slots/has_or_had_organizer
- ./Organizer
- ./OrganizerRole
- ../slots/curated_by - ../slots/curated_by
- ../slots/has_or_had_custodian_type - ../slots/has_or_had_custodian_type
- ../slots/exhibition_catalog_url - ../slots/exhibition_catalog_url
@ -92,7 +95,8 @@ classes:
- schema:Event - schema:Event
- crm:E4_Period - crm:E4_Period
slots: slots:
- co_organized_by # REMOVED 2026-01-19: co_organized_by - migrated to has_or_had_organizer + Organizer (Rule 53)
- has_or_had_organizer
- curated_by - curated_by
- has_or_had_custodian_type - has_or_had_custodian_type
- end_date - end_date
@ -168,13 +172,42 @@ classes:
examples: examples:
- value: https://nde.nl/ontology/hc/custodian/nl/rijksmuseum - value: https://nde.nl/ontology/hc/custodian/nl/rijksmuseum
- value: https://nde.nl/ontology/hc/custodian/nl/mauritshuis - value: https://nde.nl/ontology/hc/custodian/nl/mauritshuis
co_organized_by: # REMOVED 2026-01-19: co_organized_by - migrated to has_or_had_organizer + Organizer (Rule 53)
# co_organized_by:
# required: false
# range: uriorcurie
# multivalued: true
# inlined: false
# examples:
# - value: https://nde.nl/ontology/hc/custodian/us/national-gallery-washington
has_or_had_organizer:
required: false required: false
range: uriorcurie range: Organizer
multivalued: true multivalued: true
inlined: false inlined: true
inlined_as_list: true
description: |
Organizations that organize this exhibition.
MIGRATED 2026-01-19: Replaces co_organized_by slot per Rule 53.
Includes primary organizers, co-organizers, sponsors with curatorial input.
examples: examples:
- value: https://nde.nl/ontology/hc/custodian/us/national-gallery-washington - value:
organizer_entity: https://nde.nl/ontology/hc/custodian/nl/rijksmuseum
has_or_had_role:
role_type: PRIMARY
description: "Rijksmuseum as primary organizer"
- value:
organizer_entity: https://nde.nl/ontology/hc/custodian/nl/mauritshuis
has_or_had_role:
role_type: CO_ORGANIZER
organizer_contribution: "Provided key loans including Girl with a Pearl Earring"
description: "Mauritshuis as co-organizer"
- value:
organizer_entity: https://nde.nl/ontology/hc/custodian/us/national-gallery-washington
has_or_had_role:
role_type: LENDING_INSTITUTION
organizer_contribution: "Lent Woman Holding a Balance"
description: "National Gallery Washington as lending institution"
curated_by: curated_by:
required: false required: false
range: string range: string
@ -360,10 +393,15 @@ classes:
' '
exhibition_type: BLOCKBUSTER exhibition_type: BLOCKBUSTER
organized_by: # MIGRATED 2026-01-19: organized_by/co_organized_by → has_or_had_organizer + Organizer (Rule 53)
- https://nde.nl/ontology/hc/custodian/nl/rijksmuseum has_or_had_organizer:
co_organized_by: - organizer_entity: https://nde.nl/ontology/hc/custodian/nl/rijksmuseum
- https://nde.nl/ontology/hc/custodian/nl/mauritshuis has_or_had_role:
role_type: PRIMARY
- organizer_entity: https://nde.nl/ontology/hc/custodian/nl/mauritshuis
has_or_had_role:
role_type: CO_ORGANIZER
organizer_contribution: "Provided Girl with a Pearl Earring and 5 other Vermeers"
curated_by: curated_by:
- Pieter Roelofs - Pieter Roelofs
- Gregor J.M. Weber - Gregor J.M. Weber
@ -407,8 +445,10 @@ classes:
exhibition_name: Voices from the War exhibition_name: Voices from the War
exhibition_subtitle: Personal Stories from World War II Archives exhibition_subtitle: Personal Stories from World War II Archives
exhibition_type: ARCHIVAL exhibition_type: ARCHIVAL
organized_by: has_or_had_organizer:
- https://nde.nl/ontology/hc/custodian/nl/nationaal-archief - organizer_entity: https://nde.nl/ontology/hc/custodian/nl/nationaal-archief
has_or_had_role:
role_type: PRIMARY
start_date: '2024-05-04' start_date: '2024-05-04'
end_date: '2024-11-11' end_date: '2024-11-11'
exhibition_location: exhibition_location:
@ -428,8 +468,10 @@ classes:
' '
exhibition_type: PERMANENT exhibition_type: PERMANENT
organized_by: has_or_had_organizer:
- https://nde.nl/ontology/hc/custodian/nl/rijksmuseum - organizer_entity: https://nde.nl/ontology/hc/custodian/nl/rijksmuseum
has_or_had_role:
role_type: PRIMARY
exhibition_venue: Gallery of Honour (Eregalerij) exhibition_venue: Gallery of Honour (Eregalerij)
featured_work: featured_work:
- The Night Watch (Rembrandt) - The Night Watch (Rembrandt)

View file

@ -43,7 +43,11 @@ imports:
- ../slots/has_or_had_provenance_path - ../slots/has_or_had_provenance_path
- ./XPath - ./XPath
- ../slots/css_selector - ../slots/css_selector
- ../slots/confidence # REMOVED 2026-01-19: ../slots/confidence - migrated to is_or_was_generated_by + GenerationEvent + ConfidenceScore (Rule 53)
- ../slots/is_or_was_generated_by
- ./GenerationEvent
- ./ConfidenceScore
- ./ConfidenceMethod
- ../slots/html_file - ../slots/html_file
# REMOVED 2026-01-18: ../slots/claim_id - migrated to has_or_had_identifier + Identifier (Rule 53) # REMOVED 2026-01-18: ../slots/claim_id - migrated to has_or_had_identifier + Identifier (Rule 53)
- ../slots/has_or_had_identifier - ../slots/has_or_had_identifier

View file

@ -2,6 +2,7 @@
# #
# Created per slot_fixes.yaml migration for: chapters_generated_at # Created per slot_fixes.yaml migration for: chapters_generated_at
# Revision specifies: GenerationEvent with has_or_had_provenance + temporal_extent # Revision specifies: GenerationEvent with has_or_had_provenance + temporal_extent
# Updated 2026-01-19: Added has_or_had_score for confidence tracking (confidence_* migration)
# Creation date: 2026-01-19 # Creation date: 2026-01-19
id: https://nde.nl/ontology/hc/class/GenerationEvent id: https://nde.nl/ontology/hc/class/GenerationEvent
@ -21,6 +22,8 @@ imports:
- ../slots/temporal_extent - ../slots/temporal_extent
- ./TimeSpan - ./TimeSpan
- ../slots/has_or_had_description - ../slots/has_or_had_description
- ../slots/has_or_had_score
- ./ConfidenceScore
default_prefix: hc default_prefix: hc
@ -34,11 +37,13 @@ classes:
- Video chapter generation (manual, AI, imported) - Video chapter generation (manual, AI, imported)
- Content extraction events - Content extraction events
- Automated processing activities - Automated processing activities
- Confidence scoring for generated content
**STRUCTURE**: **STRUCTURE**:
- temporal_extent: When the generation occurred (TimeSpan) - temporal_extent: When the generation occurred (TimeSpan)
- has_or_had_provenance: Who/what performed the generation (Provenance) - has_or_had_provenance: Who/what performed the generation (Provenance)
- has_or_had_description: Details about the generation process - has_or_had_description: Details about the generation process
- has_or_had_score: Confidence score for the generated content (ConfidenceScore)
**ONTOLOGY ALIGNMENT**: **ONTOLOGY ALIGNMENT**:
- Maps to prov:Generation (PROV-O generation event) - Maps to prov:Generation (PROV-O generation event)
@ -56,6 +61,7 @@ classes:
- temporal_extent - temporal_extent
- has_or_had_provenance - has_or_had_provenance
- has_or_had_description - has_or_had_description
- has_or_had_score
slot_usage: slot_usage:
temporal_extent: temporal_extent:
@ -88,3 +94,40 @@ classes:
examples: examples:
- value: "Generated using Whisper transcript segmentation" - value: "Generated using Whisper transcript segmentation"
description: Description of generation method description: Description of generation method
has_or_had_score:
description: >-
Confidence score for the generation output. Uses ConfidenceScore class
to capture structured confidence with method and explanation.
range: ConfidenceScore
required: false
inlined: true
examples:
- value:
has_or_had_score: 0.95
has_or_had_method: "xpath_extraction"
has_or_had_description: "High confidence - exact match at expected location"
description: Confidence score for generated content
annotations:
custodian_types: '["*"]'
custodian_types_rationale: >-
Generation events are universal for tracking content creation.
custodian_types_primary: "*"
specificity_score: 0.30
specificity_rationale: >-
Moderately low specificity - used across many content types.
examples:
- value:
temporal_extent:
begin_of_the_begin: "2024-01-15T10:30:00Z"
has_or_had_description: "AI-generated video chapters from transcript"
has_or_had_score:
has_or_had_score: 0.92
has_or_had_method: "transcript_segmentation"
description: Video chapter generation event with confidence
comments:
- Created from slot_fixes.yaml migration (2026-01-19)
- Updated 2026-01-19 to include has_or_had_score for confidence tracking

View file

@ -15,7 +15,11 @@ prefixes:
imports: imports:
- linkml:types - linkml:types
- ../slots/confidence_score # REMOVED 2026-01-19: ../slots/confidence_score - migrated to is_or_was_generated_by + GenerationEvent + ConfidenceScore (Rule 53)
- ../slots/is_or_was_generated_by
- ./GenerationEvent
- ./ConfidenceScore
- ./ConfidenceMethod
default_range: string default_range: string
@ -50,7 +54,8 @@ classes:
- skos:note - skos:note
slots: slots:
- confidence_score # REMOVED 2026-01-19: confidence_score - migrated to is_or_was_generated_by (Rule 53)
- is_or_was_generated_by
attributes: attributes:
asserted_value: asserted_value:
@ -107,7 +112,10 @@ classes:
Hypothesis: Hypothesis:
asserted_value: "MUSEUM" asserted_value: "MUSEUM"
confidence_level: "medium" confidence_level: "medium"
confidence_score: 0.65 is_or_was_generated_by:
has_or_had_score:
has_or_had_score: 0.65
has_or_had_method: "type_inference_from_website"
supporting_evidence: supporting_evidence:
- "Website mentions 'exhibitions'" - "Website mentions 'exhibitions'"
- "Has physical visitor address" - "Has physical visitor address"
@ -121,10 +129,16 @@ classes:
Hypothesis: Hypothesis:
asserted_value: "COLLECTING_SOCIETY" asserted_value: "COLLECTING_SOCIETY"
confidence_level: "high" confidence_level: "high"
confidence_score: 0.85 is_or_was_generated_by:
has_or_had_score:
has_or_had_score: 0.85
has_or_had_method: "name_pattern_analysis"
supporting_evidence: supporting_evidence:
- "Name contains 'Historische Vereniging'" - "Name contains 'Historische Vereniging'"
- "Membership-based organization" - "Membership-based organization"
- "Maintains local archive" - "Maintains local archive"
description: >- description: >-
High-confidence hypothesis for a collecting society. High-confidence hypothesis for a collecting society.
comments:
- 'MIGRATED 2026-01-19: confidence_score → is_or_was_generated_by + ConfidenceScore'

View file

@ -34,7 +34,9 @@ imports:
- ../slots/latency_ms - ../slots/latency_ms
- ../slots/has_or_had_mode # was: thinking_mode - migrated per Rule 53/56 (2026-01-16) - ../slots/has_or_had_mode # was: thinking_mode - migrated per Rule 53/56 (2026-01-16)
- ./ThinkingMode # for has_or_had_mode range - ./ThinkingMode # for has_or_had_mode range
- ../slots/clear_thinking # clear_thinking migrated to preserves_or_preserved + ReasoningContent per Rule 53 (2026-01-19)
- ../slots/preserves_or_preserved
- ./ReasoningContent # for preserves_or_preserved range
- ../slots/created - ../slots/created
- ../slots/cost_usd - ../slots/cost_usd
- ../slots/request_id - ../slots/request_id
@ -53,7 +55,7 @@ classes:
\n2. **Preserved Thinking** (new in GLM-4.7):\n - Retains reasoning_content from previous assistant turns in context\n\ \n2. **Preserved Thinking** (new in GLM-4.7):\n - Retains reasoning_content from previous assistant turns in context\n\
\ - Preserves reasoning continuity across multi-turn conversations\n - Improves model performance and increases\ \ - Preserves reasoning continuity across multi-turn conversations\n - Improves model performance and increases\
\ cache hit rates\n - **Enabled by default on Coding Plan endpoint**\n - Requires returning EXACT, UNMODIFIED reasoning_content\ \ cache hit rates\n - **Enabled by default on Coding Plan endpoint**\n - Requires returning EXACT, UNMODIFIED reasoning_content\
\ back to API\n - Set via: `\"clear_thinking\": false` (do NOT clear previous reasoning)\n\n3. **Turn-level Thinking**\ \ back to API\n - Set via: `preserves_or_preserved` with `is_preserved: true` (preserve previous reasoning)\n\n3. **Turn-level Thinking**\
\ (new in GLM-4.7):\n - Control reasoning computation on a per-turn basis\n - Enable/disable thinking independently\ \ (new in GLM-4.7):\n - Control reasoning computation on a per-turn basis\n - Enable/disable thinking independently\
\ for each request in a session\n - Useful for balancing speed (simple queries) vs accuracy (complex tasks)\n -\ \ for each request in a session\n - Useful for balancing speed (simple queries) vs accuracy (complex tasks)\n -\
\ Set via: `\"thinking\": {\"type\": \"enabled\"}` or `\"thinking\": {\"type\": \"disabled\"}`\n\n**Critical Implementation\ \ Set via: `\"thinking\": {\"type\": \"enabled\"}` or `\"thinking\": {\"type\": \"disabled\"}`\n\n**Critical Implementation\
@ -71,7 +73,7 @@ classes:
- schema:CreativeWork - schema:CreativeWork
slots: slots:
- has_or_had_token # was: cached_token AND completion_token - migrated per Rule 53/56 (2026-01-17, 2026-01-19) - has_or_had_token # was: cached_token AND completion_token - migrated per Rule 53/56 (2026-01-17, 2026-01-19)
- clear_thinking - preserves_or_preserved # was: clear_thinking - migrated per Rule 53 (2026-01-19)
# completion_token removed - now use has_or_had_token with OutputTokenType # completion_token removed - now use has_or_had_token with OutputTokenType
- content - content
- cost_usd - cost_usd
@ -226,14 +228,30 @@ classes:
mode_value: disabled mode_value: disabled
has_or_had_label: Disabled has_or_had_label: Disabled
description: Disabled for fast, simple queries description: Disabled for fast, simple queries
clear_thinking: # REMOVED 2026-01-19: clear_thinking - migrated to preserves_or_preserved + ReasoningContent
range: boolean # clear_thinking: range: boolean (false=preserve reasoning, true=clear reasoning)
preserves_or_preserved:
description: |
Reasoning content preserved across conversation turns.
MIGRATED 2026-01-19: Replaces clear_thinking boolean per Rule 53/56.
When populated with is_preserved: true, equivalent to old clear_thinking: false
(Preserved Thinking enabled - keep reasoning for better cache hits).
range: ReasoningContent
inlined: true
multivalued: true
required: false required: false
examples: examples:
- value: false - value:
description: Keep reasoning for Preserved Thinking (recommended) is_preserved: true
- value: true has_or_had_label: Preserved Reasoning
description: Clear previous reasoning (fresh context each turn) content_text: The user is asking about Dutch heritage institutions...
turn_number: 3
description: Preserved reasoning content (equivalent to clear_thinking false)
- value:
is_preserved: false
has_or_had_label: Fresh Context
description: Cleared reasoning (equivalent to clear_thinking true)
comments: comments:
- reasoning_content is the key field for Interleaved Thinking (GLM 4.7) - reasoning_content is the key field for Interleaved Thinking (GLM 4.7)
- Store reasoning_content for debugging, auditing, and DSPy optimization - Store reasoning_content for debugging, auditing, and DSPy optimization

View file

@ -4,7 +4,9 @@ title: Museum Type Classification
imports: imports:
- linkml:types - linkml:types
- ./CustodianType - ./CustodianType
- ../slots/collection_focus # REMOVED 2026-01-19: ../slots/collection_focus - migrated to has_or_had_category + Category (Rule 53)
- ../slots/has_or_had_category
- ./Category
# - ../slots/cataloging_standard # ARCHIVED 2026-01-17: migrated to complies_or_complied_with + CatalogingStandard per Rule 53/56 # - ../slots/cataloging_standard # ARCHIVED 2026-01-17: migrated to complies_or_complied_with + CatalogingStandard per Rule 53/56
- ../slots/complies_or_complied_with - ../slots/complies_or_complied_with
- ./CatalogingStandard - ./CatalogingStandard
@ -139,7 +141,8 @@ classes:
\ entities with type='M'\nin `data/wikidata/GLAMORCUBEPSXHFN/hyponyms_curated_full.yaml`.\n" \ entities with type='M'\nin `data/wikidata/GLAMORCUBEPSXHFN/hyponyms_curated_full.yaml`.\n"
slots: slots:
- complies_or_complied_with # was: cataloging_standard - migrated per Rule 53/56 (2026-01-17) - complies_or_complied_with # was: cataloging_standard - migrated per Rule 53/56 (2026-01-17)
- collection_focus # REMOVED 2026-01-19: collection_focus - migrated to has_or_had_category + Category (Rule 53)
- has_or_had_category
- conservation_lab - conservation_lab
- has_or_had_custodian_type - has_or_had_custodian_type
- exhibition_program - exhibition_program
@ -179,6 +182,13 @@ classes:
range: CatalogingStandard range: CatalogingStandard
inlined: true inlined: true
multivalued: true multivalued: true
has_or_had_category: # was: collection_focus - migrated per Rule 53 (2026-01-19)
description: |
MIGRATED from collection_focus per slot_fixes.yaml (Rule 53, 2026-01-19).
Subject areas and thematic focus of the museum's collections using Category class.
range: Category
inlined: true
multivalued: true
exact_mappings: exact_mappings:
- skos:Concept - skos:Concept
- schema:Museum - schema:Museum
@ -206,10 +216,13 @@ classes:
- Kunstmuseum@de - Kunstmuseum@de
has_or_had_description: museum that primarily exhibits works of art # was: type_description - migrated per Rule 53/56 (2026-01-16) has_or_had_description: museum that primarily exhibits works of art # was: type_description - migrated per Rule 53/56 (2026-01-16)
has_or_had_hypernym: https://nde.nl/ontology/hc/type/museum/Q33506 # was: broader_type - migrated per Rule 53 (2026-01-17) has_or_had_hypernym: https://nde.nl/ontology/hc/type/museum/Q33506 # was: broader_type - migrated per Rule 53 (2026-01-17)
collection_focus: has_or_had_category: # was: collection_focus - migrated per Rule 53 (2026-01-19)
- paintings - category_name: paintings
- sculptures category_type: TYPOLOGY
- decorative arts - category_name: sculptures
category_type: TYPOLOGY
- category_name: decorative arts
category_type: TYPOLOGY
exhibition_program: rotating exhibitions with permanent collection exhibition_program: rotating exhibitions with permanent collection
has_or_had_facility: # was: visitor_facility has_or_had_facility: # was: visitor_facility
- facility_name: Museum Café - facility_name: Museum Café
@ -235,11 +248,15 @@ classes:
- natuurhistorisch museum@nl - natuurhistorisch museum@nl
has_or_had_description: museum that exhibits natural history specimens # was: type_description - migrated per Rule 53/56 (2026-01-16) has_or_had_description: museum that exhibits natural history specimens # was: type_description - migrated per Rule 53/56 (2026-01-16)
has_or_had_hypernym: https://nde.nl/ontology/hc/type/museum/Q33506 # was: broader_type - migrated per Rule 53 (2026-01-17) has_or_had_hypernym: https://nde.nl/ontology/hc/type/museum/Q33506 # was: broader_type - migrated per Rule 53 (2026-01-17)
collection_focus: has_or_had_category: # was: collection_focus - migrated per Rule 53 (2026-01-19)
- biological specimens - category_name: biological specimens
- fossils category_type: TYPOLOGY
- minerals - category_name: fossils
- taxidermy category_type: TYPOLOGY
- category_name: minerals
category_type: MATERIAL
- category_name: taxidermy
category_type: TYPOLOGY
exhibition_program: permanent collection with themed galleries exhibition_program: permanent collection with themed galleries
complies_or_complied_with: # was: cataloging_standard - migrated per Rule 53/56 (2026-01-17) complies_or_complied_with: # was: cataloging_standard - migrated per Rule 53/56 (2026-01-17)
- has_or_had_identifier: Darwin Core - has_or_had_identifier: Darwin Core

View file

@ -0,0 +1,32 @@
id: https://nde.nl/ontology/hc/class/NotableExample
name: NotableExample-class
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
skos: http://www.w3.org/2004/02/skos/core#
schema: http://schema.org/
default_prefix: hc
imports:
- linkml:types
- ../slots/example_name
- ../slots/example_location
- ../slots/example_wikidata_id
- ../slots/example_note
classes:
NotableExample:
class_uri: hc:NotableExample
description: |
A real-world example of a heritage institution of this type.
Provides concrete instances for understanding the class scope.
slots:
- example_name
- example_location
- example_wikidata_id
- example_note
annotations:
specificity_score: 0.3
specificity_rationale: "Universal utility for concrete examples"

View file

@ -0,0 +1,162 @@
# Organizer class
# Entity that organizes events, exhibitions, programs with role specification
#
# Created per slot_fixes.yaml revision for co_organized_by migration
# Generation date: 2026-01-19
# Rule compliance: 53 (slot_fixes.yaml), 39 (RiC-O naming)
id: https://nde.nl/ontology/hc/class/Organizer
name: Organizer
title: Organizer Class
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
schema: http://schema.org/
org: http://www.w3.org/ns/org#
prov: http://www.w3.org/ns/prov#
default_prefix: hc
imports:
- linkml:types
- ../metadata
- ../slots/has_or_had_role
- ./OrganizerRole
classes:
Organizer:
class_uri: schema:Organization
description: |
An entity that organizes or organized an event, exhibition, program, or activity.
**Purpose**:
Captures the organizing entity along with their role, replacing simple
uriorcurie references like `co_organized_by` or `organized_by`.
**Key Properties**:
- `organizer_entity`: Reference to the organizing institution (Custodian, Organization)
- `has_or_had_role`: Role of the organizer (PRIMARY, CO_ORGANIZER, etc.)
- `organizer_contribution`: Description of organizational contribution
**Pattern**:
Instead of separate `organized_by` and `co_organized_by` slots with plain URIs,
use a single `has_or_had_organizer` slot with Organizer instances that specify roles.
**Example Migration**:
```yaml
# OLD (deprecated):
organized_by:
- https://nde.nl/ontology/hc/custodian/nl/rijksmuseum
co_organized_by:
- https://nde.nl/ontology/hc/custodian/nl/mauritshuis
# NEW (Rule 53):
has_or_had_organizer:
- organizer_entity: https://nde.nl/ontology/hc/custodian/nl/rijksmuseum
has_or_had_role:
role_type: PRIMARY
- organizer_entity: https://nde.nl/ontology/hc/custodian/nl/mauritshuis
has_or_had_role:
role_type: CO_ORGANIZER
```
**Ontological Alignment**:
- **Primary**: `schema:Organization` (organizer is an organization)
- **Close**: `org:Organization` (W3C Org vocabulary)
- **Related**: `prov:Agent` (PROV-O agent in activity)
exact_mappings:
- schema:Organization
close_mappings:
- org:Organization
related_mappings:
- prov:Agent
slots:
- organizer_entity
- has_or_had_role
- organizer_contribution
slot_usage:
organizer_entity:
required: true
range: uriorcurie
description: |
Reference to the organizing institution (Custodian, Organization).
This is the entity that actually does the organizing.
examples:
- value: "https://nde.nl/ontology/hc/custodian/nl/rijksmuseum"
description: "Rijksmuseum as organizer"
has_or_had_role:
required: false
range: OrganizerRole
inlined: true
description: |
Role of this organizer (PRIMARY, CO_ORGANIZER, SPONSOR_ORGANIZER, etc.).
If omitted, implies general organizational involvement.
examples:
- value:
role_type: PRIMARY
description: "Primary organizer role"
organizer_contribution:
required: false
range: string
description: |
Description of organizational contribution.
Examples: "Provided 15 works from permanent collection",
"Funded conservation of borrowed works", "Curatorial expertise"
examples:
- value: "Provided 15 works from permanent collection and curatorial expertise"
description: "Description of Mauritshuis contribution to Vermeer exhibition"
annotations:
specificity_score: 0.55
specificity_rationale: "Moderately specific - applies to any event organization context"
custodian_types: '["*"]'
custodian_types_rationale: "Any institution type can organize events/exhibitions"
comments:
- "Created per slot_fixes.yaml revision for co_organized_by migration"
- "Replaces separate organized_by/co_organized_by with role-based discrimination"
- "RULE 53: Part of co_organized_by → has_or_had_organizer + Organizer migration"
examples:
- value:
organizer_entity: "https://nde.nl/ontology/hc/custodian/nl/rijksmuseum"
has_or_had_role:
role_type: PRIMARY
role_description: "Main organizing institution"
description: "Rijksmuseum as primary organizer of Vermeer exhibition"
- value:
organizer_entity: "https://nde.nl/ontology/hc/custodian/nl/mauritshuis"
has_or_had_role:
role_type: CO_ORGANIZER
role_description: "Partner institution providing key loans"
organizer_contribution: "Provided Girl with a Pearl Earring and 5 other Vermeers"
description: "Mauritshuis as co-organizer with specific contribution"
- value:
organizer_entity: "https://nde.nl/ontology/hc/custodian/us/national-gallery-washington"
has_or_had_role:
role_type: LENDING_INSTITUTION
organizer_contribution: "Lent Woman Holding a Balance"
description: "National Gallery Washington as lending institution"
slots:
organizer_entity:
slot_uri: schema:organizer
description: Reference to the organizing institution
range: uriorcurie
required: true
organizer_contribution:
slot_uri: schema:description
description: Description of organizational contribution
range: string
required: false

View file

@ -0,0 +1,121 @@
# OrganizerRole class
# Enumeration-like class for organizer roles in events/exhibitions
#
# Created per slot_fixes.yaml revision for co_organized_by migration
# Generation date: 2026-01-19
# Rule compliance: 53 (slot_fixes.yaml), 39 (RiC-O naming), 0b (Type/Types pattern)
id: https://nde.nl/ontology/hc/class/OrganizerRole
name: OrganizerRole
title: Organizer Role Class
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
schema: http://schema.org/
skos: http://www.w3.org/2004/02/skos/core#
prov: http://www.w3.org/ns/prov#
default_prefix: hc
imports:
- linkml:types
- ../metadata
classes:
OrganizerRole:
class_uri: schema:Role
description: |
Role of an organizer in an event, exhibition, or program.
**Purpose**:
Distinguishes between different types of organizational involvement:
- PRIMARY: Main organizing institution
- CO_ORGANIZER: Partner institution with significant organizational role
- SPONSOR_ORGANIZER: Sponsor with curatorial/organizational input
- LENDING_INSTITUTION: Institution lending objects with exhibition involvement
- HOST_VENUE: Venue hosting a traveling exhibition
**Pattern**:
Used with Organizer class to specify the role of an organizing entity.
**Ontological Alignment**:
- **Primary**: `schema:Role` - Schema.org role
- **Close**: `prov:Role` - PROV-O role in activity
exact_mappings:
- schema:Role
close_mappings:
- prov:Role
slots:
- role_type
- role_description
slot_usage:
role_type:
required: true
range: OrganizerRoleTypeEnum
description: Type of organizer role (PRIMARY, CO_ORGANIZER, etc.)
role_description:
required: false
range: string
description: Additional description of the role
annotations:
specificity_score: 0.65
specificity_rationale: "Fairly specific - applies to event/exhibition organization contexts"
custodian_types: '["M", "G", "A", "L", "R"]'
custodian_types_rationale: "Primarily used by museums, galleries, archives, libraries, research centers that organize exhibitions"
comments:
- "Created per slot_fixes.yaml revision for co_organized_by migration"
- "Used with Organizer class to specify organizational involvement"
- "RULE 53: Part of co_organized_by → has_or_had_organizer + Organizer migration"
examples:
- value:
role_type: PRIMARY
role_description: "Main organizing institution"
description: "Primary organizer role"
- value:
role_type: CO_ORGANIZER
role_description: "Partner institution contributing loans and curatorial expertise"
description: "Co-organizer role with description"
- value:
role_type: LENDING_INSTITUTION
role_description: "Major lender with exhibition advisory role"
description: "Lending institution with organizational involvement"
slots:
role_type:
slot_uri: schema:roleName
description: Type of organizer role
range: string
required: true
role_description:
slot_uri: schema:description
description: Additional description of the organizational role
range: string
required: false
enums:
OrganizerRoleTypeEnum:
description: Types of organizer roles
permissible_values:
PRIMARY:
description: Main organizing institution
CO_ORGANIZER:
description: Partner institution with significant organizational role
SPONSOR_ORGANIZER:
description: Sponsor with curatorial/organizational input
LENDING_INSTITUTION:
description: Institution lending objects with exhibition involvement
HOST_VENUE:
description: Venue hosting a traveling exhibition
SUPPORTING_PARTNER:
description: Supporting partner institution
ADVISOR:
description: Advisory organization

View file

@ -12,7 +12,9 @@ description: 'Specialized CustodianType for individual private collectors and th
imports: imports:
- linkml:types - linkml:types
- ./CustodianType - ./CustodianType
- ../slots/collection_focus # REMOVED 2026-01-19: ../slots/collection_focus - migrated to has_or_had_category + Category (Rule 53)
- ../slots/has_or_had_category
- ./Category
# REMOVED 2026-01-19: ../slots/collection_size - migrated to has_or_had_quantity + Quantity (Rule 53) # REMOVED 2026-01-19: ../slots/collection_size - migrated to has_or_had_quantity + Quantity (Rule 53)
- ../slots/has_or_had_quantity - ../slots/has_or_had_quantity
- ./Quantity - ./Quantity
@ -183,7 +185,8 @@ classes:
slots: slots:
- has_or_had_access_restriction - has_or_had_access_restriction
- has_acquisition_history - has_acquisition_history
- collection_focus # REMOVED 2026-01-19: collection_focus - migrated to has_or_had_category + Category (Rule 53)
- has_or_had_category
# REMOVED 2026-01-19: collection_size - migrated to has_or_had_quantity + Quantity (Rule 53) # REMOVED 2026-01-19: collection_size - migrated to has_or_had_quantity + Quantity (Rule 53)
- has_or_had_quantity - has_or_had_quantity
- has_or_had_custodian_type - has_or_had_custodian_type
@ -193,16 +196,26 @@ classes:
- specificity_annotation - specificity_annotation
- has_or_had_score # was: template_specificity - migrated per Rule 53 (2026-01-17) - has_or_had_score # was: template_specificity - migrated per Rule 53 (2026-01-17)
slot_usage: slot_usage:
collection_focus: has_or_had_category: # was: collection_focus - migrated per Rule 53 (2026-01-19)
range: string description: |
MIGRATED from collection_focus per slot_fixes.yaml (Rule 53, 2026-01-19).
Subject areas and thematic focus of the personal collection using Category class.
range: Category
inlined: true
multivalued: true multivalued: true
required: true required: true
examples: examples:
- value: Dutch Golden Age paintings, Rembrandt - value:
category_name: Dutch Golden Age paintings
category_type: SUBJECT
description: Art collector focus description: Art collector focus
- value: First editions, Modernist poetry, Fine press - value:
description: Bibliophile focus category_name: Rembrandt works
- value: Roman coins, Medieval numismatics category_type: CREATOR
description: Artist-focused collection
- value:
category_name: Roman coins
category_type: TYPOLOGY
description: Numismatist focus description: Numismatist focus
has_or_had_quantity: # was: collection_size - migrated per Rule 53 (2026-01-19) has_or_had_quantity: # was: collection_size - migrated per Rule 53 (2026-01-19)
description: | description: |

View file

@ -7,7 +7,11 @@ imports:
- ./TimeSpan - ./TimeSpan
- ../enums/DigitalPresenceTypeEnum - ../enums/DigitalPresenceTypeEnum
- ../slots/supersedes_or_superseded # was: supersede - migrated per Rule 53/56 (2026-01-17) - ../slots/supersedes_or_superseded # was: supersede - migrated per Rule 53/56 (2026-01-17)
- ../slots/confidence_score # REMOVED 2026-01-19: ../slots/confidence_score - migrated to is_or_was_generated_by + GenerationEvent + ConfidenceScore (Rule 53)
- ../slots/is_or_was_generated_by
- ./GenerationEvent
- ./ConfidenceScore
- ./ConfidenceMethod
- ../slots/is_or_was_superseded_by # was: superseded_by - migrated per Rule 53/56 (2026-01-16) - ../slots/is_or_was_superseded_by # was: superseded_by - migrated per Rule 53/56 (2026-01-16)
- ../slots/is_or_was_about_digital_presence - ../slots/is_or_was_about_digital_presence
# REMOVED - migrated to is_or_was_asserted_by (Rule 53) # REMOVED - migrated to is_or_was_asserted_by (Rule 53)
@ -106,7 +110,8 @@ classes:
- has_assertion_rationale - has_assertion_rationale
- has_assertion_value - has_assertion_value
- has_or_had_based_on_observation - has_or_had_based_on_observation
- confidence_score # REMOVED 2026-01-19: confidence_score - migrated to is_or_was_generated_by (Rule 53)
- is_or_was_generated_by
- digital_presence_type - digital_presence_type
- specificity_annotation - specificity_annotation
- is_or_was_superseded_by # was: superseded_by - migrated per Rule 53/56 (2026-01-16) - is_or_was_superseded_by # was: superseded_by - migrated per Rule 53/56 (2026-01-16)
@ -196,16 +201,25 @@ classes:
asserter_contact: jane.doe@heritage-org.nl asserter_contact: jane.doe@heritage-org.nl
description: Human analyst asserter description: Human analyst asserter
# was_asserted_by REMOVED - fully migrated to is_or_was_asserted_by (Rule 53, 2026-01-15) # was_asserted_by REMOVED - fully migrated to is_or_was_asserted_by (Rule 53, 2026-01-15)
confidence_score: # REMOVED 2026-01-19: confidence_score - migrated to is_or_was_generated_by (Rule 53)
range: float is_or_was_generated_by:
range: GenerationEvent
required: false required: false
minimum_value: 0.0 inlined: true
maximum_value: 1.0 description: >-
Generation event containing confidence score for this assertion.
MIGRATED 2026-01-19: Replaces confidence_score slot with structured pattern.
examples: examples:
- value: 0.95 - value:
description: High confidence - no website exists has_or_had_score:
- value: 0.65 has_or_had_score: 0.95
description: Medium confidence - both active, unclear primary has_or_had_method: "evidence_analysis"
description: High confidence - no website exists, Facebook only presence
- value:
has_or_had_score:
has_or_had_score: 0.65
has_or_had_method: "comparative_analysis"
description: Medium confidence - both presences active, unclear primary
is_or_was_superseded_by: # was: superseded_by - migrated per Rule 53/56 (2026-01-16) is_or_was_superseded_by: # was: superseded_by - migrated per Rule 53/56 (2026-01-16)
range: uriorcurie range: uriorcurie
required: false required: false
@ -217,6 +231,7 @@ classes:
examples: examples:
- value: https://nde.nl/ontology/hc/assertion/club-facebook-secondary-2020 - value: https://nde.nl/ontology/hc/assertion/club-facebook-secondary-2020
comments: comments:
- 'MIGRATED 2026-01-19: confidence_score → is_or_was_generated_by + GenerationEvent + ConfidenceScore (Rule 53)'
- Models primary presence status as temporal assertion, not static boolean - Models primary presence status as temporal assertion, not static boolean
- Based on CIDOC-CRM E13_Attribute_Assignment pattern - Based on CIDOC-CRM E13_Attribute_Assignment pattern
- Supports change tracking via supersedes_or_superseded/is_or_was_superseded_by links - Supports change tracking via supersedes_or_superseded/is_or_was_superseded_by links

View file

@ -19,7 +19,10 @@ imports:
- linkml:types - linkml:types
- ../slots/has_or_had_agent - ../slots/has_or_had_agent
- ../slots/temporal_extent - ../slots/temporal_extent
- ../slots/confidence_score # REMOVED 2026-01-19: ../slots/confidence_score - migrated to is_or_was_generated_by + ConfidenceScore
- ../slots/is_or_was_generated_by
- ./GenerationEvent
- ./ConfidenceScore
default_range: string default_range: string
@ -56,7 +59,8 @@ classes:
slots: slots:
- has_or_had_agent - has_or_had_agent
- temporal_extent - temporal_extent
- confidence_score # REMOVED 2026-01-19: confidence_score - migrated to is_or_was_generated_by + ConfidenceScore
- is_or_was_generated_by
attributes: attributes:
source_entity: source_entity:
@ -83,6 +87,20 @@ classes:
Human-readable note about this provenance statement. Human-readable note about this provenance statement.
slot_uri: prov:value slot_uri: prov:value
slot_usage:
is_or_was_generated_by:
range: GenerationEvent
inlined: true
description: >-
Generation event containing confidence scoring information.
MIGRATED 2026-01-19: Replaces confidence_score slot with structured GenerationEvent.
examples:
- value:
has_or_had_score:
has_or_had_score: 0.95
has_or_had_method: "xpath_extraction"
description: Generation event with confidence score
annotations: annotations:
custodian_types: '["*"]' custodian_types: '["*"]'
custodian_types_rationale: >- custodian_types_rationale: >-
@ -97,10 +115,15 @@ classes:
Provenance: Provenance:
extraction_method: "xpath_extraction" extraction_method: "xpath_extraction"
source_entity: "https://example.org/webpage/12345" source_entity: "https://example.org/webpage/12345"
confidence_score: 0.95 is_or_was_generated_by:
has_or_had_score:
has_or_had_score: 0.95
has_or_had_method: "xpath_extraction"
has_or_had_description: "Exact match at expected XPath"
note: "Extracted from archived HTML using XPath" note: "Extracted from archived HTML using XPath"
description: >- description: >-
Provenance for an XPath-extracted value from an archived webpage. Provenance for an XPath-extracted value from an archived webpage.
Uses new structured ConfidenceScore via GenerationEvent.
- value: | - value: |
Provenance: Provenance:
@ -108,6 +131,10 @@ classes:
agent_type: "software" agent_type: "software"
name: "glam-extractor-v2.1" name: "glam-extractor-v2.1"
extraction_method: "api_scraping" extraction_method: "api_scraping"
confidence_score: 0.85 is_or_was_generated_by:
has_or_had_score:
has_or_had_score: 0.85
has_or_had_method: "api_response_validation"
description: >- description: >-
Provenance for API-scraped data with agent identification. Provenance for API-scraped data with agent identification.
Confidence score captured in structured GenerationEvent.

View file

@ -22,7 +22,11 @@ imports:
- ./DataTierSummary - ./DataTierSummary
- ./EnrichmentProvenance - ./EnrichmentProvenance
- ./ProvenanceSources - ./ProvenanceSources
- ../slots/confidence_score # REMOVED 2026-01-19: ../slots/confidence_score - migrated to is_or_was_generated_by + GenerationEvent + ConfidenceScore (Rule 53)
- ../slots/is_or_was_generated_by
- ./GenerationEvent
- ./ConfidenceScore
- ./ConfidenceMethod
default_range: string default_range: string
classes: classes:
@ -47,7 +51,29 @@ classes:
- prov:Entity - prov:Entity
- prov:Activity - prov:Activity
slots: slots:
- confidence_score # REMOVED 2026-01-19: confidence_score - migrated to is_or_was_generated_by (Rule 53)
- is_or_was_generated_by
slot_usage:
is_or_was_generated_by:
range: GenerationEvent
required: false
inlined: true
description: >-
Generation event containing confidence score for the provenance block.
MIGRATED 2026-01-19: Replaces confidence_score slot with structured pattern.
examples:
- value:
has_or_had_score:
has_or_had_score: 0.95
has_or_had_method: "automated_extraction"
description: High confidence data extraction
- value:
has_or_had_score:
has_or_had_score: 0.65
has_or_had_method: "manual_review"
description: Medium confidence manual review
comments:
- "MIGRATED 2026-01-19: confidence_score → is_or_was_generated_by + GenerationEvent + ConfidenceScore (Rule 53)"
attributes: attributes:
schema_version: schema_version:
range: string range: string

View file

@ -0,0 +1,163 @@
# ReasoningContent - LLM reasoning content preservation class
#
# Created: 2026-01-19
# Migration: clear_thinking → preserves_or_preserved + ReasoningContent class
# Per slot_fixes.yaml, Rule 53/56
#
# Rule compliance: 0b (structured class), 37 (specificity), 50 (ontology mapping)
id: https://nde.nl/ontology/hc/class/ReasoningContent
name: reasoning_content_class
title: Reasoning Content Class
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
schema: http://schema.org/
prov: http://www.w3.org/ns/prov#
default_prefix: hc
imports:
- linkml:types
- ../slots/has_or_had_label
- ../slots/has_or_had_description
- ../slots/has_or_had_identifier
classes:
ReasoningContent:
class_uri: prov:Entity
description: |
LLM reasoning content that is preserved across conversation turns.
**DEFINITION**:
ReasoningContent represents the chain-of-thought reasoning that LLMs like
GLM 4.7 expose through their thinking modes. This class captures the
reasoning_content that should be preserved when using "Preserved Thinking"
mode for multi-turn conversations.
**GLM 4.7 Preserved Thinking** (https://docs.z.ai/guides/capabilities/thinking-mode):
When `clear_thinking: false` (Preserved Thinking enabled):
- Reasoning content from previous turns is retained in context
- Improves model performance and increases cache hit rates
- Requires returning EXACT, UNMODIFIED reasoning_content back to API
**Migration from clear_thinking**:
This class replaces the boolean `clear_thinking` slot with a structured
representation of what is being preserved:
| Old Pattern | New Pattern |
|-------------|-------------|
| `clear_thinking: false` | `preserves_or_preserved: ReasoningContent` with `is_preserved: true` |
| `clear_thinking: true` | `preserves_or_preserved: ReasoningContent` with `is_preserved: false` |
**PROV-O Alignment**:
- ReasoningContent IS a prov:Entity (the reasoning output)
- Links to LLMResponse via preserves_or_preserved slot
- Enables tracking reasoning provenance across turns
**Use Cases**:
- Multi-turn agent conversations with preserved context
- Debugging reasoning chain across API calls
- Auditing LLM decision-making process
- Optimizing cache hit rates
exact_mappings:
- prov:Entity
close_mappings:
- schema:Comment
- schema:Review
slots:
- has_or_had_label
- has_or_had_description
- has_or_had_identifier
attributes:
is_preserved:
range: boolean
required: true
description: |
Whether this reasoning content is preserved across turns.
- **true**: Preserved Thinking enabled (keep reasoning, better cache hits)
- **false**: Clear previous reasoning (fresh context each turn)
Maps to the inverse of the old `clear_thinking` boolean:
- `is_preserved: true` ≡ `clear_thinking: false`
- `is_preserved: false` ≡ `clear_thinking: true`
content_text:
range: string
required: false
description: |
The actual reasoning content text (chain-of-thought).
Optional - may be omitted if only tracking preservation status.
examples:
- value: |
The user is asking about Dutch heritage institutions. I need to identify:
1) Institution name: Rijksmuseum
2) Type: Museum (maps to InstitutionTypeEnum.MUSEUM)
3) Location: Amsterdam (city in Noord-Holland province)...
description: GLM 4.7 reasoning trace
turn_number:
range: integer
required: false
description: |
The conversation turn number this reasoning came from.
Useful for tracking reasoning provenance across multi-turn conversations.
token_count:
range: integer
required: false
description: |
Number of tokens in the reasoning content.
Important for context window management.
slot_usage:
has_or_had_label:
description: Human-readable label for this reasoning content.
examples:
- value: Turn 3 Reasoning
description: Reasoning from the third conversation turn
has_or_had_description:
description: Description of the reasoning context or purpose.
examples:
- value: Chain-of-thought reasoning for heritage institution extraction
description: Purpose of the preserved reasoning
has_or_had_identifier:
description: Unique identifier for this reasoning content block.
examples:
- value: reasoning-turn-3-20260119-143000
description: Timestamped reasoning block ID
annotations:
specificity_score: 0.80
specificity_rationale: Highly specific to LLM API reasoning preservation domain
custodian_types: '["D"]'
custodian_types_rationale: Applies to Digital Platform custodians using LLM APIs
examples:
- value:
is_preserved: true
has_or_had_label: Preserved Reasoning
content_text: |
The user is asking about Dutch heritage institutions...
turn_number: 3
token_count: 250
description: Preserved reasoning content from turn 3
- value:
is_preserved: false
has_or_had_label: Cleared Context
has_or_had_description: Fresh context for new query topic
description: Cleared reasoning (fresh context)
comments:
- Created from slot_fixes.yaml migration (2026-01-19)
- Replaces boolean clear_thinking with structured reasoning preservation
- Enables tracking what reasoning is preserved and why
- PROV-O Entity alignment for provenance tracking

View file

@ -0,0 +1,33 @@
id: https://nde.nl/ontology/hc/class/RelatedType
name: RelatedType-class
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
skos: http://www.w3.org/2004/02/skos/core#
schema: http://schema.org/
dcterms: http://purl.org/dc/terms/
default_prefix: hc
imports:
- linkml:types
- ../slots/related_type_name
- ../slots/related_type_wikidata
- ../slots/related_type_relationship
- ../slots/related_type_note
classes:
RelatedType:
class_uri: hc:RelatedType
description: |
A reference to a related class in the heritage ontology.
Used for documenting relationships between types.
slots:
- related_type_name
- related_type_wikidata
- related_type_relationship
- related_type_note
annotations:
specificity_score: 0.3
specificity_rationale: "Universal utility for type relationships"

View file

@ -78,20 +78,10 @@ classes:
Room counting most relevant for education providers (E), libraries (L), Room counting most relevant for education providers (E), libraries (L),
archives (A), museums (M), and research centers (R). archives (A), museums (M), and research centers (R).
custodian_types_primary: "E" custodian_types_primary: "E"
specificity_score: 0.45 specificity_score: "0.45"
specificity_rationale: >- specificity_rationale: >-
Moderately specific - room counting common in education/facility contexts. Moderately specific - room counting common in education/facility contexts.
template_specificity: template_specificity: '{"archive_search": 0.35, "museum_search": 0.45, "library_search": 0.50, "collection_discovery": 0.20, "person_research": 0.10, "location_browse": 0.55, "identifier_lookup": 0.10, "organizational_change": 0.20, "digital_platform": 0.10, "general_heritage": 0.45}'
archive_search: 0.35
museum_search: 0.45
library_search: 0.50
collection_discovery: 0.20
person_research: 0.10
location_browse: 0.55
identifier_lookup: 0.10
organizational_change: 0.20
digital_platform: 0.10
general_heritage: 0.45
examples: examples:
- value: - value:

View file

@ -18,7 +18,11 @@ imports:
- ../enums/StorageConditionStatusEnum - ../enums/StorageConditionStatusEnum
- ../enums/StorageObserverTypeEnum - ../enums/StorageObserverTypeEnum
- ../slots/supersede_condition # was: supersede - migrated to class-specific slot 2026-01-16 - ../slots/supersede_condition # was: supersede - migrated to class-specific slot 2026-01-16
- ../slots/confidence_score # REMOVED 2026-01-19: ../slots/confidence_score - migrated to is_or_was_generated_by + GenerationEvent + ConfidenceScore (Rule 53)
- ../slots/is_or_was_generated_by
- ./GenerationEvent
- ./ConfidenceScore
- ./ConfidenceMethod
- ../slots/observation_date - ../slots/observation_date
- ../slots/follow_up_date - ../slots/follow_up_date
- ../slots/has_assessment_category - ../slots/has_assessment_category
@ -92,7 +96,8 @@ classes:
- has_or_had_category_assessment - has_or_had_category_assessment
- compliance_status - compliance_status
- has_or_had_identifier # was: condition_id - migrated per Rule 53 (2026-01-18) - has_or_had_identifier # was: condition_id - migrated per Rule 53 (2026-01-18)
- confidence_score # REMOVED 2026-01-19: confidence_score - migrated to is_or_was_generated_by (Rule 53)
- is_or_was_generated_by
- evidence_documentation - evidence_documentation
- follow_up_date - follow_up_date
- is_official_assessment - is_official_assessment
@ -226,19 +231,30 @@ classes:
examples: examples:
- value: '2024-12-01' - value: '2024-12-01'
description: Post-treatment verification inspection description: Post-treatment verification inspection
confidence_score: # REMOVED 2026-01-19: confidence_score - migrated to is_or_was_generated_by (Rule 53)
range: float is_or_was_generated_by:
minimum_value: 0.0 range: GenerationEvent
maximum_value: 1.0 required: false
inlined: true
description: >-
Generation event containing confidence score for this observation.
MIGRATED 2026-01-19: Replaces confidence_score slot with structured pattern.
examples: examples:
- value: 0.95 - value:
description: Government inspector with full access has_or_had_score:
- value: 0.75 has_or_had_score: 0.95
description: Journalist with limited access has_or_had_method: "government_inspection"
description: High confidence - Government inspector with full access
- value:
has_or_had_score:
has_or_had_score: 0.75
has_or_had_method: "journalist_investigation"
description: Medium confidence - Journalist with limited access
# supersede migrated to supersede_condition # supersede migrated to supersede_condition
# This domain-specific slot has explicit StorageCondition range # This domain-specific slot has explicit StorageCondition range
# to avoid OWL type ambiguity (DatatypeProperty vs ObjectProperty conflict) # to avoid OWL type ambiguity (DatatypeProperty vs ObjectProperty conflict)
comments: comments:
- 'MIGRATED 2026-01-19: confidence_score → is_or_was_generated_by + GenerationEvent + ConfidenceScore (Rule 53)'
- Observations are NOT assertions of truth - they are reports from specific observers - Observations are NOT assertions of truth - they are reports from specific observers
- Multiple observations may exist for same storage with conflicting findings - Multiple observations may exist for same storage with conflicting findings
- Gap between observed conditions and policy conditions is critical transparency metric - Gap between observed conditions and policy conditions is critical transparency metric
@ -272,7 +288,10 @@ classes:
evidence_documentation: evidence_documentation:
- https://www.volkskrant.nl/archive-pest-crisis-2024 - https://www.volkskrant.nl/archive-pest-crisis-2024
remediation_required: true remediation_required: true
confidence_score: 0.85 is_or_was_generated_by: # was: confidence_score - migrated per Rule 53 (2026-01-19)
has_or_had_score:
has_or_had_score: 0.85
has_or_had_method: "journalist_investigation"
description: Journalist investigation discovering unreported pest infestation description: Journalist investigation discovering unreported pest infestation
- value: - value:
has_or_had_identifier: # was: condition_id - migrated per Rule 53 (2026-01-18) has_or_had_identifier: # was: condition_id - migrated per Rule 53 (2026-01-18)
@ -305,7 +324,10 @@ classes:
observation_notes: Quarterly facilities review. All parameters within policy ranges. observation_notes: Quarterly facilities review. All parameters within policy ranges.
compliance_status: COMPLIANT compliance_status: COMPLIANT
remediation_required: false remediation_required: false
confidence_score: 0.9 is_or_was_generated_by: # was: confidence_score - migrated per Rule 53 (2026-01-19)
has_or_had_score:
has_or_had_score: 0.9
has_or_had_method: "internal_assessment"
description: Official quarterly internal assessment description: Official quarterly internal assessment
StorageConditionCategoryAssessment: StorageConditionCategoryAssessment:
class_uri: hc:StorageConditionCategoryAssessment class_uri: hc:StorageConditionCategoryAssessment

View file

@ -0,0 +1,168 @@
id: https://nde.nl/ontology/hc/class/Version
name: version_class
title: Version Class
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
schema: http://schema.org/
prov: http://www.w3.org/ns/prov#
doap: http://usefulinc.com/ns/doap#
imports:
- linkml:types
- ../slots/has_or_had_label
- ../slots/has_or_had_identifier
- ../slots/temporal_extent
- ./TimeSpan
default_prefix: hc
classes:
Version:
class_uri: schema:SoftwareApplication
description: |
A version identifier for software, documents, schemas, or other entities.
**Purpose**: Represents a structured version record with version number,
release date, and semantic versioning components.
**Semantic Versioning Support**:
- major_version: Breaking changes
- minor_version: New features (backwards compatible)
- patch_version: Bug fixes
**Use Cases**:
1. **CMS Product Version**: Version of deployed CMS software
2. **API Version**: REST API version
3. **Schema Version**: Ontology/schema version
4. **Document Version**: Document revision number
**Example**:
```yaml
CollectionManagementSystem:
cms_name: CollectiveAccess
has_or_had_version:
version_string: "1.8.0"
major_version: 1
minor_version: 8
patch_version: 0
release_date: "2023-06-15"
```
**Migration Note**: Created 2026-01-19 per slot_fixes.yaml (Rule 53).
Replaces simple string cms_product_version with structured Version class.
exact_mappings:
- schema:version
- doap:Version
slots:
- version_string
- major_version
- minor_version
- patch_version
- prerelease_tag
- build_metadata
- release_date
- temporal_extent
slot_usage:
version_string:
description: Full version string (e.g., "1.8.0", "v3.2.1-beta")
range: string
required: true
examples:
- value: "1.8.0"
description: Semantic version
- value: "7.4"
description: Two-part version
- value: "v3.2.1-beta"
description: Version with prerelease tag
major_version:
description: Major version number (breaking changes)
range: integer
required: false
examples:
- value: 1
description: Major version 1
minor_version:
description: Minor version number (new features)
range: integer
required: false
examples:
- value: 8
description: Minor version 8
patch_version:
description: Patch version number (bug fixes)
range: integer
required: false
examples:
- value: 0
description: Patch version 0
prerelease_tag:
description: Prerelease identifier (e.g., "alpha", "beta", "rc1")
range: string
required: false
examples:
- value: beta
description: Beta prerelease
- value: rc1
description: Release candidate 1
build_metadata:
description: Build metadata (e.g., git commit hash)
range: string
required: false
examples:
- value: "20230615.abc123"
description: Build date and commit hash
release_date:
description: Date this version was released
range: date
required: false
examples:
- value: "2023-06-15"
description: Release date
temporal_extent:
description: Validity period for this version (when deployed)
range: TimeSpan
required: false
examples:
- value:
begin_of_the_begin: "2023-06-15"
end_of_the_end: null
description: Version deployed since June 2023
annotations:
custodian_types: '["D"]'
custodian_types_rationale: Primarily used by digital platforms (D) for software versioning
specificity_score: 0.55
specificity_rationale: Moderately specific to software/document version contexts
slots:
version_string:
slot_uri: schema:version
description: Full version string
range: string
exact_mappings:
- schema:version
major_version:
slot_uri: doap:revision
description: Major version number
range: integer
minor_version:
description: Minor version number
range: integer
patch_version:
description: Patch version number
range: integer
prerelease_tag:
description: Prerelease identifier
range: string
build_metadata:
description: Build metadata
range: string
release_date:
slot_uri: schema:datePublished
description: Release date
range: date
exact_mappings:
- schema:datePublished

View file

@ -3,7 +3,6 @@ name: video_time_segment_class
title: Video Time Segment Class title: Video Time Segment Class
imports: imports:
- linkml:types - linkml:types
- ../slots/confidence
- ../slots/end_seconds - ../slots/end_seconds
- ../slots/end_time - ../slots/end_time
- ../slots/segment_index - ../slots/segment_index
@ -16,32 +15,12 @@ imports:
- ../slots/has_or_had_score # was: template_specificity - migrated per Rule 53 (2026-01-17) - ../slots/has_or_had_score # was: template_specificity - migrated per Rule 53 (2026-01-17)
- ./SpecificityAnnotation - ./SpecificityAnnotation
- ./TemplateSpecificityScore # was: TemplateSpecificityScores - migrated per Rule 53 (2026-01-17) - ./TemplateSpecificityScore # was: TemplateSpecificityScores - migrated per Rule 53 (2026-01-17)
- ./TemplateSpecificityType - ./TemplateSpecificityType
- ./TemplateSpecificityTypes - ./TemplateSpecificityTypes
- ../slots/confidence # MIGRATED 2026-01-19: confidence → is_or_was_generated_by + GenerationEvent + ConfidenceScore
- ../slots/end_seconds - ../slots/is_or_was_generated_by
- ../slots/end_time - ./GenerationEvent
- ../slots/segment_index - ./ConfidenceScore
- ../slots/segment_text
- ../slots/speaker_id
- ../slots/speaker_label
- ../slots/specificity_annotation
- ../slots/start_seconds
- ../slots/start_time
- ../slots/has_or_had_score # was: template_specificity - migrated per Rule 53 (2026-01-17)
- ../slots/confidence
- ../slots/end_seconds
- ../slots/end_time
- ../slots/segment_index
- ../slots/segment_text
- ../slots/speaker_id
- ../slots/speaker_label
- ../slots/specificity_annotation
- ../slots/start_seconds
- ../slots/start_time
- ../slots/has_or_had_score # was: template_specificity - migrated per Rule 53 (2026-01-17)
prefixes: prefixes:
linkml: https://w3id.org/linkml/ linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/ hc: https://nde.nl/ontology/hc/
@ -170,7 +149,6 @@ classes:
related_mappings: related_mappings:
- schema:Clip - schema:Clip
slots: slots:
- confidence
- end_seconds - end_seconds
- end_time - end_time
- segment_index - segment_index
@ -181,6 +159,7 @@ classes:
- start_seconds - start_seconds
- start_time - start_time
- has_or_had_score # was: template_specificity - migrated per Rule 53 (2026-01-17) - has_or_had_score # was: template_specificity - migrated per Rule 53 (2026-01-17)
- is_or_was_generated_by # MIGRATED 2026-01-19: replaces confidence slot
slot_usage: slot_usage:
start_time: start_time:
range: string range: string
@ -231,15 +210,23 @@ classes:
description: First segment description: First segment
- value: 42 - value: 42
description: 43rd segment (zero-indexed) description: 43rd segment (zero-indexed)
confidence: is_or_was_generated_by:
range: float range: GenerationEvent
required: false required: false
minimum_value: 0.0 inlined: true
maximum_value: 1.0 description: >-
Generation event containing confidence score for ASR/CV segment accuracy.
MIGRATED 2026-01-19: Replaces confidence slot with structured pattern.
examples: examples:
- value: 0.95 - value:
has_or_had_score:
has_or_had_score: 0.95
has_or_had_method: asr_transcription
description: High confidence ASR segment description: High confidence ASR segment
- value: 0.72 - value:
has_or_had_score:
has_or_had_score: 0.72
has_or_had_method: cv_detection
description: Medium confidence, may contain errors description: Medium confidence, may contain errors
speaker_id: speaker_id:
range: string range: string
@ -266,6 +253,7 @@ classes:
- Aligns with W3C Media Fragments URI specification - Aligns with W3C Media Fragments URI specification
- Confidence scoring for AI-generated content - Confidence scoring for AI-generated content
- Speaker diarization support for multi-speaker transcripts - Speaker diarization support for multi-speaker transcripts
- 'MIGRATED 2026-01-19: confidence → is_or_was_generated_by + ConfidenceScore'
see_also: see_also:
- https://www.w3.org/TR/media-frags/ - https://www.w3.org/TR/media-frags/
- https://www.w3.org/TR/annotation-model/ - https://www.w3.org/TR/annotation-model/

View file

@ -7,7 +7,13 @@ imports:
- ./CustodianObservation - ./CustodianObservation
- ./ReconstructionActivity - ./ReconstructionActivity
- ../slots/has_or_had_access_restriction - ../slots/has_or_had_access_restriction
- ../slots/climate_control_type # climate_control_type migrated to has_or_had_policy + ClimateControlPolicy (Rule 53, 2026-01-19)
- ../slots/has_or_had_policy
- ./ClimateControlPolicy
- ./ClimateControl
- ./ClimateControlType
- ./ClimateControlTypes
- ../slots/regulates_or_regulated
- ../slots/contents_description - ../slots/contents_description
- ../slots/has_climate_control - ../slots/has_climate_control
- ../slots/has_forklift_access - ../slots/has_forklift_access
@ -87,7 +93,7 @@ classes:
- schema:LocalBusiness - schema:LocalBusiness
slots: slots:
- has_or_had_access_restriction - has_or_had_access_restriction
- climate_control_type - has_or_had_policy # was: climate_control_type - migrated per Rule 53 (2026-01-19)
- contents_description - contents_description
- has_climate_control - has_climate_control
- has_forklift_access - has_forklift_access
@ -183,13 +189,29 @@ classes:
description: Basic climate control description: Basic climate control
- value: false - value: false
description: Uncontrolled description: Uncontrolled
climate_control_type: has_or_had_policy: # was: climate_control_type - migrated per Rule 53 (2026-01-19)
range: string range: ClimateControlPolicy
description: |
Climate control policy governing this warehouse.
MIGRATED from climate_control_type per slot_fixes.yaml (Rule 53).
**MIGRATION NOTE**:
Old simple string values (HEATED, HVAC, etc.) now modeled as:
ClimateControlPolicy → regulates_or_regulated → ClimateControl → has_or_had_type → ClimateControlType
inlined: true
examples: examples:
- value: HEATED - value:
description: Heating only has_or_had_label: "Warehouse Basic Climate Requirements"
- value: HVAC regulates_or_regulated:
description: Full HVAC - has_or_had_label: "Warehouse Heating"
has_or_had_type: HEATED
description: Heating only policy
- value:
has_or_had_label: "Full HVAC Requirements"
regulates_or_regulated:
- has_or_had_label: "Central HVAC System"
has_or_had_type: HVAC
description: Full HVAC policy
has_or_had_security_level: # was: warehouse_security_level has_or_had_security_level: # was: warehouse_security_level
description: | description: |
Security level of this warehouse. Security level of this warehouse.
@ -234,6 +256,7 @@ classes:
- 'CRITICAL: Distinguished from Storage class (which is for collection materials)' - 'CRITICAL: Distinguished from Storage class (which is for collection materials)'
- Warehouse = non-collection items (equipment, supplies, furniture) - Warehouse = non-collection items (equipment, supplies, furniture)
- Storage = collection materials (climate-controlled, high security) - Storage = collection materials (climate-controlled, high security)
- 'MIGRATION (2026-01-19): climate_control_type → has_or_had_policy + ClimateControlPolicy per Rule 53'
see_also: see_also:
- http://vocab.getty.edu/aat/300007775 - http://vocab.getty.edu/aat/300007775
- https://schema.org/Warehouse - https://schema.org/Warehouse
@ -255,7 +278,11 @@ classes:
has_loading_dock: true has_loading_dock: true
has_forklift_access: true has_forklift_access: true
has_climate_control: true has_climate_control: true
climate_control_type: HEATED has_or_had_policy: # was: climate_control_type - migrated per Rule 53 (2026-01-19)
has_or_had_label: "Warehouse Basic Climate Requirements"
regulates_or_regulated:
- has_or_had_label: "Logistics Warehouse Heating"
has_or_had_type: HEATED
has_or_had_security_level: # was: warehouse_security_level has_or_had_security_level: # was: warehouse_security_level
has_or_had_code: "STANDARD" has_or_had_code: "STANDARD"
level_name: "Standard Security" level_name: "Standard Security"
@ -279,6 +306,7 @@ classes:
has_loading_dock: true has_loading_dock: true
has_forklift_access: false has_forklift_access: false
has_climate_control: false has_climate_control: false
# No has_or_had_policy - warehouse has no climate control
has_or_had_security_level: # was: warehouse_security_level has_or_had_security_level: # was: warehouse_security_level
has_or_had_code: "BASIC" has_or_had_code: "BASIC"
level_name: "Basic Security" level_name: "Basic Security"

View file

@ -0,0 +1,23 @@
id: https://nde.nl/ontology/hc/slot/administrative_context
name: administrative_context-slot
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
default_prefix: hc
imports:
- linkml:types
slots:
administrative_context:
slot_uri: hc:administrativeContext
description: |
Administrative and governmental context.
Documents how this type relates to government structures and public administration.
**Migrated from**: `**Administrative Context**:` sections.
range: string
annotations:
source_section: "**Administrative Context**:"

View file

@ -0,0 +1,26 @@
id: https://nde.nl/ontology/hc/slot/characteristics
name: characteristics-slot
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
dcterms: http://purl.org/dc/terms/
default_prefix: hc
imports:
- linkml:types
slots:
characteristics:
slot_uri: dcterms:description
description: |
Key characteristics and features of this class.
Documents defining traits and capabilities.
**Migrated from**: `**Characteristics**:` and `**CHARACTERISTICS**:` sections.
range: string
multivalued: true
inlined_as_list: true
annotations:
source_section: "**Characteristics**:"

View file

@ -0,0 +1,24 @@
id: https://nde.nl/ontology/hc/slot/class_definition
name: class_definition-slot
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
skos: http://www.w3.org/2004/02/skos/core#
default_prefix: hc
imports:
- linkml:types
slots:
class_definition:
slot_uri: skos:definition
description: |
Formal definition of this class.
Used primarily for RecordSetType classes.
**Migrated from**: `**Definition**:` and `**DEFINITION**:` sections.
range: string
annotations:
source_section: "**Definition**:"

View file

@ -0,0 +1,23 @@
id: https://nde.nl/ontology/hc/slot/dutch_context
name: dutch_context-slot
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
default_prefix: hc
imports:
- linkml:types
slots:
dutch_context:
slot_uri: hc:dutchContext
description: |
Netherlands-specific context and terminology.
Documents Dutch heritage sector conventions, terminology, and institutional context.
**Migrated from**: `**Dutch Context**:` sections.
range: string
annotations:
source_section: "**Dutch Context**:"

View file

@ -0,0 +1,18 @@
id: https://nde.nl/ontology/hc/slot/example_location
name: example_location-slot
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
schema: http://schema.org/
default_prefix: hc
imports:
- linkml:types
slots:
example_location:
slot_uri: schema:location
description: Location of the example institution (city, country)
range: string

View file

@ -0,0 +1,19 @@
id: https://nde.nl/ontology/hc/slot/example_name
name: example_name-slot
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
schema: http://schema.org/
default_prefix: hc
imports:
- linkml:types
slots:
example_name:
slot_uri: schema:name
description: Name of the example institution
range: string
required: true

View file

@ -0,0 +1,18 @@
id: https://nde.nl/ontology/hc/slot/example_note
name: example_note-slot
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
skos: http://www.w3.org/2004/02/skos/core#
default_prefix: hc
imports:
- linkml:types
slots:
example_note:
slot_uri: skos:note
description: Additional note about the example
range: string

View file

@ -0,0 +1,18 @@
id: https://nde.nl/ontology/hc/slot/example_wikidata_id
name: example_wikidata_id-slot
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
default_prefix: hc
imports:
- linkml:types
slots:
example_wikidata_id:
slot_uri: hc:wikidataId
description: Wikidata Q-number for the example institution
range: string
pattern: "^Q[0-9]+$"

View file

@ -0,0 +1,52 @@
id: https://nde.nl/ontology/hc/slot/has_or_had_category
name: has_or_had_category_slot
title: Has or Had Category Slot
# Created per slot_fixes.yaml revision for collection_focus migration
# RULE 53: Generic category relationship pattern
# RULE 39: RiC-O temporal naming convention
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
skos: http://www.w3.org/2004/02/skos/core#
dcterms: http://purl.org/dc/terms/
schema: http://schema.org/
imports:
- linkml:types
default_prefix: hc
slots:
has_or_had_category:
description: >-
Links an entity to its category or classification.
Categories represent hierarchical or faceted classifications:
- Subject categories (art, science, history)
- Thematic categories (Dutch Golden Age, WWII, Islamic art)
- Material categories (paintings, manuscripts, specimens)
- Geographic categories (European, Asian, African)
- Temporal categories (Medieval, Renaissance, Contemporary)
The Category class enables structured categorization with:
- Category name and description
- Category type (subject, theme, material, geographic, temporal)
- Hierarchical relationships (broader/narrower terms)
- Provenance tracking
range: Category
slot_uri: dcterms:subject
multivalued: true
inlined: true
inlined_as_list: true
exact_mappings:
- dcterms:subject
- skos:Concept
close_mappings:
- schema:about
- schema:category
related_mappings:
- skos:broader
- skos:narrower
annotations:
rule_53_migration: "Replaces collection_focus with structured Category"

View file

@ -0,0 +1,89 @@
# has_or_had_organizer slot
# Generic slot for entities that organize events, exhibitions, programs, etc.
#
# Following RiC-O naming convention (Rule 39): "hasOrHad..." pattern
# for temporal relationships in heritage domain.
#
# Generation date: 2026-01-19
# Rule compliance: 38 (slot centralization + semantic URI), 39 (RiC-O naming), 42 (no prefix), 53 (slot_fixes.yaml)
id: https://nde.nl/ontology/hc/slot/has_or_had_organizer
name: has_or_had_organizer_slot
title: Has Or Had Organizer Slot
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
owl: http://www.w3.org/2002/07/owl#
schema: http://schema.org/
prov: http://www.w3.org/ns/prov#
org: http://www.w3.org/ns/org#
default_prefix: hc
imports:
- linkml:types
slots:
has_or_had_organizer:
slot_uri: schema:organizer
description: |
Entity that organizes or organized an event, exhibition, program, or activity.
**Temporal Semantics** (RiC-O Pattern):
The "hasOrHad" naming follows RiC-O convention indicating this relationship
may be historical - an event's organizers change over time or the event is completed.
**Ontological Alignment**:
- **Primary** (`slot_uri`): `schema:organizer` - Schema.org organizer
- **Close**: `schema:contributor` - contributor to event
- **Related**: `prov:wasAssociatedWith` - PROV-O association
**Usage**:
- Primary organizer: main institution organizing an exhibition
- Co-organizer: partner institutions with organizational role
- Sponsor-organizer: sponsors with curatorial/organizational input
**Pattern**:
Uses Organizer class to capture both the organizing entity and their role.
This replaces simple uriorcurie references to allow role discrimination.
**Range**: `uriorcurie` (Rule 55) - broadened for flexibility.
Classes narrow via slot_usage to Organizer class.
range: uriorcurie
implements:
- owl:ObjectProperty # Force OWL ObjectProperty to avoid ambiguous type warning
required: false
multivalued: true
exact_mappings:
- schema:organizer
close_mappings:
- schema:contributor
related_mappings:
- prov:wasAssociatedWith
- org:hasMember
annotations:
rico_naming_convention: |
Follows RiC-O "hasOrHad" pattern for temporal predicates.
See Rule 39: Slot Naming Convention (RiC-O Style)
replaces_slots: >-
co_organized_by, organized_by (partial - role discrimination)
migration_date: "2026-01-19"
comments:
- "Generic organizer slot for events, exhibitions, programs"
- "Maps to schema:organizer as primary URI"
- "Range: uriorcurie (Rule 55) - allows Organizer class via slot_usage"
- "RiC-O naming: hasOrHad indicates potentially historical relationship"
- "RULE 53: Created per slot_fixes.yaml revision for co_organized_by"
examples:
- value: "https://nde.nl/ontology/hc/organizer/rijksmuseum-vermeer-2023"
description: "Rijksmuseum as primary organizer of Vermeer exhibition"
- value: "https://nde.nl/ontology/hc/organizer/mauritshuis-vermeer-2023"
description: "Mauritshuis as co-organizer of Vermeer exhibition"

View file

@ -0,0 +1,23 @@
id: https://nde.nl/ontology/hc/slot/heritage_sector_usage
name: heritage_sector_usage-slot
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
default_prefix: hc
imports:
- linkml:types
slots:
heritage_sector_usage:
slot_uri: hc:heritageSectorUsage
description: |
How this class/technology is used in the heritage sector.
Documents adoption patterns, best practices, and sector conventions.
**Migrated from**: `**Heritage Sector Usage**:` and `**Heritage use cases**:` sections.
range: string
annotations:
source_section: "**Heritage Sector Usage**:"

View file

@ -0,0 +1,23 @@
id: https://nde.nl/ontology/hc/slot/historical_significance
name: historical_significance-slot
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
default_prefix: hc
imports:
- linkml:types
slots:
historical_significance:
slot_uri: hc:historicalSignificance
description: |
Historical importance and context of this type of institution.
Documents the heritage value and historical role.
**Migrated from**: `**Historical Significance**:` sections.
range: string
annotations:
source_section: "**Historical Significance**:"

View file

@ -0,0 +1,61 @@
id: https://nde.nl/ontology/hc/slot/is_or_was_based_on
name: is_or_was_based_on_slot
title: Is Or Was Based On Slot
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
prov: http://www.w3.org/ns/prov#
schema: http://schema.org/
rico: https://www.ica.org/standards/RiC/ontology#
imports:
- linkml:types
default_prefix: hc
slots:
is_or_was_based_on:
slot_uri: prov:wasDerivedFrom
description: |
Entity or resource this item is or was based on (temporal relationship).
**Semantic Pattern**: RiC-O temporal naming convention (Rule 39)
- "is_or_was" indicates the relationship may be current or historical
- Supports temporal modeling where dependencies change over time
**PROV-O Alignment**:
prov:wasDerivedFrom - "A derivation is a transformation of an entity into another"
**Use Cases**:
1. **CMS Detection**: Platform is_or_was_based_on a detected CMS
2. **Software Dependencies**: Application based on framework/library
3. **Content Derivation**: Document based on template/source
4. **Infrastructure**: Service based on platform/technology
**Temporal Semantics**:
- Current: "This platform IS based on WordPress 6.4"
- Historical: "This platform WAS based on Drupal 7 (now migrated)"
- Use temporal_extent for precise validity periods
**Examples**:
```yaml
AuxiliaryDigitalPlatform:
platform_name: Museum Blog
is_or_was_based_on:
cms_name: WordPress
cms_version: "6.4"
detected_at: "2026-01-19T12:00:00Z"
```
**Migration Note**: Created 2026-01-19 per slot_fixes.yaml (Rule 53).
Replaces boolean cms_detected with structured CMS reference.
range: string
multivalued: true
inlined_as_list: true
exact_mappings:
- prov:wasDerivedFrom
close_mappings:
- schema:isBasedOn
- rico:isOrWasBasedOn
annotations:
custodian_types: '["*"]'
custodian_types_rationale: Universal relationship for any entity based on another
specificity_score: 0.25
specificity_rationale: Broadly applicable derivation/dependency relationship

View file

@ -0,0 +1,24 @@
id: https://nde.nl/ontology/hc/slot/key_distinction
name: key_distinction-slot
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
skos: http://www.w3.org/2004/02/skos/core#
default_prefix: hc
imports:
- linkml:types
slots:
key_distinction:
slot_uri: skos:note
description: |
The primary distinguishing characteristic of this class.
What sets it apart from similar or related types.
**Migrated from**: `**Key Distinction**:` and `**Key Distinctions from Other Types**:` sections.
range: string
annotations:
source_section: "**Key Distinction**:"

View file

@ -76,20 +76,10 @@
"claim_value.yaml", "claim_value.yaml",
"based_on_claim.yaml", "based_on_claim.yaml",
"classifies_or_classified.yaml", "classifies_or_classified.yaml",
"clear_thinking.yaml",
"climate_control_type.yaml",
"closed_space_id.yaml", "closed_space_id.yaml",
"cms_category.yaml",
"cms_detected.yaml",
"cms_id.yaml", "cms_id.yaml",
"cms_product_name.yaml", "cms_product_name.yaml",
"cms_product_version.yaml",
"co_funding_required.yaml",
"co_organized_by.yaml",
"collection_access.yaml",
"collection_date.yaml",
"collection_description.yaml", "collection_description.yaml",
"collection_discovery_score.yaml",
"collection_focus.yaml", "collection_focus.yaml",
"collection_id.yaml", "collection_id.yaml",
"collection_locality_text.yaml", "collection_locality_text.yaml",
@ -862,6 +852,7 @@
"has_or_had_operate.yaml", "has_or_had_operate.yaml",
"has_or_had_operates_platform_type.yaml", "has_or_had_operates_platform_type.yaml",
"has_or_had_operates_storage_type.yaml", "has_or_had_operates_storage_type.yaml",
"has_or_had_organizer.yaml",
"has_or_had_organizational_change_event.yaml", "has_or_had_organizational_change_event.yaml",
"has_or_had_organizational_structure.yaml", "has_or_had_organizational_structure.yaml",
"has_or_had_owner.yaml", "has_or_had_owner.yaml",
@ -1114,6 +1105,7 @@
"is_or_was_asserted_by.yaml", "is_or_was_asserted_by.yaml",
"is_or_was_associated_with.yaml", "is_or_was_associated_with.yaml",
"is_or_was_available.yaml", "is_or_was_available.yaml",
"is_or_was_based_on.yaml",
"is_or_was_categorized_as.yaml", "is_or_was_categorized_as.yaml",
"is_or_was_collection_of.yaml", "is_or_was_collection_of.yaml",
"is_or_was_created_through.yaml", "is_or_was_created_through.yaml",
@ -1409,6 +1401,7 @@
"oclc_number.yaml", "oclc_number.yaml",
"offered_by.yaml", "offered_by.yaml",
"offers_donation_scheme.yaml", "offers_donation_scheme.yaml",
"offers_or_offered_access.yaml",
"official_institution_subtype.yaml", "official_institution_subtype.yaml",
"online_shop.yaml", "online_shop.yaml",
"open_source.yaml", "open_source.yaml",
@ -1585,6 +1578,7 @@
"preservation_requirement.yaml", "preservation_requirement.yaml",
"preservation_standard.yaml", "preservation_standard.yaml",
"preservative_detail.yaml", "preservative_detail.yaml",
"preserves_or_preserved.yaml",
"previous_observation.yaml", "previous_observation.yaml",
"price.yaml", "price.yaml",
"price_currency.yaml", "price_currency.yaml",
@ -1691,6 +1685,7 @@
"registration_date.yaml", "registration_date.yaml",
"registration_required.yaml", "registration_required.yaml",
"regulated_by_scheme.yaml", "regulated_by_scheme.yaml",
"regulates_or_regulated.yaml",
"regulatory_authority.yaml", "regulatory_authority.yaml",
"related.yaml", "related.yaml",
"related_agenda.yaml", "related_agenda.yaml",
@ -1929,11 +1924,15 @@
"takes_or_took_place_at.yaml", "takes_or_took_place_at.yaml",
"temperature_target.yaml", "temperature_target.yaml",
"template_specificity.yaml", "template_specificity.yaml",
"temporal_dynamics.yaml",
"temporal_extent.yaml", "temporal_extent.yaml",
"total_amount.yaml", "total_amount.yaml",
"track_id.yaml", "track_id.yaml",
"typical_contents.yaml",
"use_cases.yaml",
"uses_or_used_technique.yaml", "uses_or_used_technique.yaml",
"was_archived_at.yaml", "was_archived_at.yaml",
"was_acquired_through.yaml",
"was_derived_from.yaml", "was_derived_from.yaml",
"was_generated_by.yaml", "was_generated_by.yaml",
"was_last_updated_at.yaml", "was_last_updated_at.yaml",

View file

@ -0,0 +1,29 @@
id: https://nde.nl/ontology/hc/slot/notable_examples
name: notable_examples-slot
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
skos: http://www.w3.org/2004/02/skos/core#
default_prefix: hc
imports:
- linkml:types
- ../classes/NotableExample
slots:
notable_examples:
slot_uri: skos:example
description: |
Real-world examples of institutions of this type.
Provides concrete instances for understanding the class.
**Migrated from**: `**Notable Examples**:` sections.
**Format**: List of NotableExample objects with name, location, and optional Wikidata ID.
range: NotableExample
multivalued: true
inlined_as_list: true
annotations:
source_section: "**Notable Examples**:"

View file

@ -0,0 +1,88 @@
# offers_or_offered_access slot
# Generic slot for access offerings by heritage institutions
#
# Following RiC-O naming convention (Rule 39): "offersOrOffered..." pattern
# for temporal relationships in heritage domain.
#
# Generation date: 2026-01-19
# Rule compliance: 38 (slot centralization + semantic URI), 39 (RiC-O naming), 42 (no prefix), 53 (slot_fixes.yaml)
id: https://nde.nl/ontology/hc/slot/offers_or_offered_access
name: offers_or_offered_access_slot
title: Offers Or Offered Access Slot
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
owl: http://www.w3.org/2002/07/owl#
schema: http://schema.org/
dcterms: http://purl.org/dc/terms/
default_prefix: hc
imports:
- linkml:types
slots:
offers_or_offered_access:
slot_uri: schema:publicAccess
description: |
Access offerings provided by a heritage institution or collection.
**Temporal Semantics** (RiC-O Pattern):
The "offersOrOffered" naming follows RiC-O convention indicating this relationship
may be historical - access conditions change over time.
**Ontological Alignment**:
- **Primary** (`slot_uri`): `schema:publicAccess` - Schema.org public access flag
- **Close**: `dcterms:accessRights` - Dublin Core access rights
- **Related**: `schema:isAccessibleForFree` - accessibility information
**Usage**:
- Collection access: Policies for accessing heritage collections
- Research access: Conditions for scholarly research use
- Public access: General public visiting policies
- Digital access: Online collection availability
**Pattern**:
Uses Access class to capture structured access information including
access types, conditions, restrictions, and temporal applicability.
**Range**: `uriorcurie` (Rule 55) - broadened for flexibility.
Classes narrow via slot_usage to Access class.
range: uriorcurie
implements:
- owl:ObjectProperty # Force OWL ObjectProperty to avoid ambiguous type warning
required: false
multivalued: true
exact_mappings:
- schema:publicAccess
close_mappings:
- dcterms:accessRights
related_mappings:
- schema:isAccessibleForFree
annotations:
rico_naming_convention: |
Follows RiC-O "offersOrOffered" pattern for temporal predicates.
See Rule 39: Slot Naming Convention (RiC-O Style)
replaces_slots: >-
collection_access
migration_date: "2026-01-19"
comments:
- "Generic access slot for collections, services, facilities"
- "Maps to schema:publicAccess as primary URI"
- "Range: uriorcurie (Rule 55) - allows Access class via slot_usage"
- "RiC-O naming: offersOrOffered indicates potentially historical relationship"
- "RULE 53: Created per slot_fixes.yaml revision for collection_access"
examples:
- value: "https://nde.nl/ontology/hc/access/public-by-appointment"
description: "Public access by appointment"
- value: "https://nde.nl/ontology/hc/access/academic-community-only"
description: "Access restricted to academic community"

View file

@ -0,0 +1,67 @@
# preserves_or_preserved slot
# Generic slot for preservation relationships (what is being preserved)
#
# Following RiC-O naming convention (Rule 39): "preservesOrPreserved..." pattern
# for temporal relationships in heritage domain.
#
# Created: 2026-01-19
# Migration: clear_thinking → preserves_or_preserved (per slot_fixes.yaml, Rule 53/56)
# Rule compliance: 38, 39, 42, 53, 55
id: https://nde.nl/ontology/hc/slot/preserves_or_preserved
name: preserves_or_preserved_slot
title: Preserves Or Preserved Slot
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
schema: http://schema.org/
prov: http://www.w3.org/ns/prov#
rico: https://www.ica.org/standards/RiC/ontology#
default_prefix: hc
imports:
- linkml:types
slots:
preserves_or_preserved:
slot_uri: rico:hasOrHadSubject
description: |
What is being preserved or maintained by this entity.
**Temporal Semantics** (RiC-O Pattern):
The "preservesOrPreserved" naming follows RiC-O convention indicating
this relationship may be historical - an entity may have preserved
different content over time.
**Ontological Alignment**:
- **Primary** (`slot_uri`): `rico:hasOrHadSubject` - RiC-O subject relationship
- **Close**: `prov:used` - PROV-O input relationship
- **Close**: `schema:object` - Schema.org action object
**Usage**:
This is a GENERIC slot intended for reuse across multiple classes.
Classes may narrow the range in slot_usage to reference specific classes
(e.g., ReasoningContent for LLM context preservation).
**LLM Thinking Context**:
In the context of LLM responses, this slot replaces the boolean `clear_thinking`
slot. Instead of a boolean flag, this slot points to a ReasoningContent object
that captures what reasoning is being preserved across turns.
**Range**: `uriorcurie` (Rule 55 - broaden range for class-level narrowing)
**Migrated From**: clear_thinking (2026-01-19)
range: uriorcurie
multivalued: true
exact_mappings:
- rico:hasOrHadSubject
close_mappings:
- prov:used
- schema:object
annotations:
custodian_types: '["*"]'
custodian_types_rationale: Generic preservation slot applicable to any entity type
specificity_score: 0.20
specificity_rationale: Generic preservation relationship slot used across many domains

View file

@ -1,19 +1,29 @@
id: https://nde.nl/ontology/hc/slot/purpose id: https://nde.nl/ontology/hc/slot/purpose
name: purpose_slot name: purpose-slot
title: Purpose Slot
prefixes: prefixes:
linkml: https://w3id.org/linkml/ linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/ hc: https://nde.nl/ontology/hc/
schema: http://schema.org/
default_prefix: hc
imports: imports:
- linkml:types - linkml:types
default_prefix: hc
slots: slots:
purpose: purpose:
description: 'Purpose and use case for this IoT device/network. slot_uri: schema:description
description: |
Primary purpose and function of this class or entity.
Dublin Core: description for purpose statement. Documents the main reason this type or instance exists.
' **Migrated from**: `**Purpose**:` and `**PURPOSE**:` sections in description text.
**Use cases**:
- Purpose of heritage institution types
- Purpose of IoT devices/networks
- Purpose of technical systems
range: string range: string
slot_uri: hc:purpose annotations:
source_section: "**Purpose**:"

View file

@ -0,0 +1,74 @@
# regulates_or_regulated slot
# Generic regulation relationship following RiC-O naming pattern
#
# Generation date: 2026-01-19
# Rule compliance: 38 (slot centralization + semantic URI), 39 (RiC-O naming), 53 (slot_fixes.yaml)
#
# Created for climate_control_type migration
id: https://nde.nl/ontology/hc/slot/regulates_or_regulated
name: regulates_or_regulated_slot
title: Regulates Or Regulated 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/
odrl: http://www.w3.org/ns/odrl/2/
default_prefix: hc
imports:
- linkml:types
slots:
regulates_or_regulated:
slot_uri: odrl:target
description: |
Entity or system that is or was regulated by a policy or control mechanism.
**Temporal Semantics** (RiC-O Pattern):
The "OrRegulated" suffix follows RiC-O convention indicating
the regulation relationship may be current or historical.
**Ontological Alignment**:
- **Primary** (`slot_uri`): `odrl:target` - ODRL target of policy
- **Related**: `prov:wasInfluencedBy` - PROV-O influence
**Use Cases**:
- Climate control policy regulating climate control systems
- Access policy regulating collection access
- Preservation policy regulating storage conditions
**Cardinality**:
Multivalued - policies may regulate multiple entities/systems.
range: uriorcurie
required: false
multivalued: true
inlined: true
inlined_as_list: true
related_mappings:
- prov:wasInfluencedBy
annotations:
rico_naming_convention: |
Follows RiC-O "OrRegulated" pattern for temporal predicates.
See Rule 39: Slot Naming Convention (RiC-O Style)
created_for: "climate_control_type migration"
migration_date: "2026-01-19"
custodian_types: '["*"]'
custodian_types_rationale: Regulation relationships apply to all heritage types.
specificity_score: 0.40
specificity_rationale: Moderately specialized slot for policy-target relationships.
comments:
- "Links policies to what they regulate"
- "Maps to odrl:target for rights/rules targets"
- "RiC-O naming: OrRegulated indicates potentially historical"
examples:
- value: "hc:ClimateControl/warehouse-hvac"
description: "Climate control system regulated by policy"

View file

@ -0,0 +1,19 @@
id: https://nde.nl/ontology/hc/slot/related_type_name
name: related_type_name-slot
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
schema: http://schema.org/
default_prefix: hc
imports:
- linkml:types
slots:
related_type_name:
slot_uri: schema:name
description: Name of the related class
range: string
required: true

View file

@ -0,0 +1,18 @@
id: https://nde.nl/ontology/hc/slot/related_type_note
name: related_type_note-slot
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
dcterms: http://purl.org/dc/terms/
default_prefix: hc
imports:
- linkml:types
slots:
related_type_note:
slot_uri: dcterms:description
description: Explanation of how this type relates
range: string

View file

@ -0,0 +1,19 @@
id: https://nde.nl/ontology/hc/slot/related_type_relationship
name: related_type_relationship-slot
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
skos: http://www.w3.org/2004/02/skos/core#
default_prefix: hc
imports:
- linkml:types
slots:
related_type_relationship:
slot_uri: skos:note
description: |
Nature of the relationship (e.g., "broader", "narrower", "related", "contrast")
range: string

View file

@ -0,0 +1,18 @@
id: https://nde.nl/ontology/hc/slot/related_type_wikidata
name: related_type_wikidata-slot
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
default_prefix: hc
imports:
- linkml:types
slots:
related_type_wikidata:
slot_uri: hc:wikidataId
description: Wikidata Q-number for the related type
range: string
pattern: "^Q[0-9]+$"

View file

@ -0,0 +1,27 @@
id: https://nde.nl/ontology/hc/slot/related_types
name: related_types-slot
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
skos: http://www.w3.org/2004/02/skos/core#
default_prefix: hc
imports:
- linkml:types
- ../classes/RelatedType
slots:
related_types:
slot_uri: skos:related
description: |
Related heritage institution types with context.
Documents associations with other classes in the ontology.
**Migrated from**: `**Related Types**:` sections.
range: RelatedType
multivalued: true
inlined_as_list: true
annotations:
source_section: "**Related Types**:"

View file

@ -0,0 +1,23 @@
id: https://nde.nl/ontology/hc/slot/research_value
name: research_value-slot
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
default_prefix: hc
imports:
- linkml:types
slots:
research_value:
slot_uri: hc:researchValue
description: |
Research and scholarly value of this type of institution or collection.
Documents what types of research this class supports.
**Migrated from**: `**Research Value**:` sections.
range: string
annotations:
source_section: "**Research Value**:"

View file

@ -0,0 +1,29 @@
id: https://nde.nl/ontology/hc/slot/scope_description
name: scope_description-slot
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
rico: https://www.ica.org/standards/RiC/ontology#
default_prefix: hc
imports:
- linkml:types
slots:
scope_description:
slot_uri: rico:scopeAndContent
description: |
Detailed description of what this class encompasses.
Explains the boundaries and coverage of this heritage type.
**Migrated from**: `**Scope**:` sections in description text.
**Example content**:
- What types of materials/collections are included
- Geographic or temporal scope
- Organizational or institutional scope
range: string
annotations:
source_section: "**Scope**:"

View file

@ -9680,6 +9680,16 @@ fixes:
type: slot type: slot
- label: ReasoningContent - label: ReasoningContent
type: class type: class
processed:
status: true
timestamp: '2026-01-19T20:00:00Z'
session: session-2026-01-19-clear-thinking-migration
notes: |
FULLY MIGRATED: clear_thinking → preserves_or_preserved + ReasoningContent.
Existing: has_or_had_mode slot, ThinkingMode class.
Created: preserves_or_preserved.yaml slot, ReasoningContent.yaml class.
Updated: LLMResponse.yaml (imports, slots, slot_usage, description).
Archived: modules/slots/archive/clear_thinking_archived_20260119.yaml.
- original_slot_id: https://nde.nl/ontology/hc/slot/climate_control_type - original_slot_id: https://nde.nl/ontology/hc/slot/climate_control_type
revision: revision:
- label: has_or_had_policy - label: has_or_had_policy
@ -9698,6 +9708,19 @@ fixes:
type: slot type: slot
- label: ClimateControlTypes - label: ClimateControlTypes
type: class type: class
processed:
status: true
timestamp: '2026-01-19T20:30:00Z'
session: session-2026-01-19-climate-control-type-migration
notes: |
FULLY MIGRATED: climate_control_type → has_or_had_policy + ClimateControlPolicy.
Existing slots used: has_or_had_policy, has_or_had_type, includes_or_included.
Created: regulates_or_regulated.yaml slot (new RiC-O pattern).
Created: ClimateControlPolicy.yaml, ClimateControl.yaml classes.
Created: ClimateControlType.yaml (abstract base), ClimateControlTypes.yaml (concrete types) per Rule 0b.
Concrete types: HeatedClimateControl, HVACClimateControl, DehumidifiedClimateControl, CooledClimateControl, PassiveClimateControl, NoClimateControl.
Updated: Warehouse.yaml (imports, slots list, slot_usage, 2 examples).
Archived: modules/slots/archive/climate_control_type_archived_20260119.yaml.
- original_slot_id: https://nde.nl/ontology/hc/slot/closed_space_id - original_slot_id: https://nde.nl/ontology/hc/slot/closed_space_id
revision: revision:
- label: has_or_had_identifier - label: has_or_had_identifier
@ -9721,12 +9744,35 @@ fixes:
type: slot type: slot
- label: CMSTypes - label: CMSTypes
type: class type: class
processed:
status: true
timestamp: '2026-01-19T21:30:00Z'
session: session-2026-01-19-cms-category-migration
notes: |
FULLY MIGRATED: cms_category → has_or_had_type + CMSType.
Existing slots used: has_or_had_type, includes_or_included.
Created: CMSType.yaml (abstract base), CMSTypes.yaml (7 concrete types) per Rule 0b.
Concrete types: MuseumCMS, ArchiveCMS, LibraryCMS, DigitalAssetManagement, DigitalRepository, MixedCMS, CustomCMS.
Updated: CollectionManagementSystem.yaml (imports, slots list, slot_usage, 3 examples).
Archived: modules/slots/archive/cms_category_archived_20260119.yaml.
- original_slot_id: https://nde.nl/ontology/hc/slot/cms_detected - original_slot_id: https://nde.nl/ontology/hc/slot/cms_detected
revision: revision:
- label: is_or_was_based_on - label: is_or_was_based_on
type: slot type: slot
- label: CMS - label: CMS
type: class type: class
processed:
status: true
timestamp: '2026-01-19T21:45:00Z'
session: session-2026-01-19-cms-detected-migration
notes: |
FULLY MIGRATED: cms_detected → is_or_was_based_on + CMS.
Created: is_or_was_based_on.yaml (temporal relationship slot per Rule 39).
Created: CMS.yaml (detected CMS class with cms_name, version, detection_method).
Updated: AuxiliaryDigitalPlatform.yaml (imports, slots list, slot_usage with CMS examples).
Semantic improvement: Boolean flag replaced with structured CMS reference.
If is_or_was_based_on present → CMS detected; if absent → no CMS.
Archived: modules/slots/archive/cms_detected_archived_20260119.yaml.
- original_slot_id: https://nde.nl/ontology/hc/slot/cms_id - original_slot_id: https://nde.nl/ontology/hc/slot/cms_id
revision: revision:
- label: has_or_had_identifier - label: has_or_had_identifier
@ -9761,12 +9807,64 @@ fixes:
type: slot type: slot
- label: Version - label: Version
type: class type: class
processed:
status: true
timestamp: '2026-01-19T22:15:00Z'
session: session-2026-01-19-cms-product-version-migration
notes: |
FULLY MIGRATED: cms_product_version → has_or_had_version + Version.
**Existing slot used**: has_or_had_version (generic temporal version relationship).
**Created**: Version.yaml - structured version class with semantic versioning support:
- version_string (required): Full version string (e.g., "1.8.0")
- major_version, minor_version, patch_version: Integer components
- prerelease_tag, build_metadata: Extended version metadata
- release_date, temporal_extent: Temporal validity of version
**Updated**: CollectionManagementSystem.yaml:
- Imports: Added has_or_had_version and Version
- Slots list: Replaced cms_product_version with has_or_had_version
- Slot_usage: Added has_or_had_version with range: Version, multivalued: true
- Examples: Updated 3 examples (Adlib 7.4, CollectiveAccess 1.8.0, MAIS-Flexis null)
**Archived**: modules/slots/archive/cms_product_version_archived_20260119.yaml
**Pattern**: Uses structured Version class to capture semantic versioning components
instead of simple string, enabling version comparison and temporal version tracking.
- original_slot_id: https://nde.nl/ontology/hc/slot/co_funding_required - original_slot_id: https://nde.nl/ontology/hc/slot/co_funding_required
revision: revision:
- label: requires_or_required - label: requires_or_required
type: slot type: slot
- label: CoFunding - label: CoFunding
type: class type: class
processed:
status: true
timestamp: '2026-01-19T23:00:00Z'
session: session-2026-01-19-co-funding-required-migration
notes: |
FULLY MIGRATED: co_funding_required → requires_or_required + CoFunding.
**Existing slot used**: requires_or_required (generic temporal requirement relationship).
**Created**: CoFunding.yaml - structured co-funding class with:
- is_required (required): Boolean indicating if co-funding is mandatory
- minimum_percentage: Minimum percentage of co-funding required
- maximum_percentage: Maximum percentage allowed
- funding_sources: Eligible sources for matching funds
- has_or_had_description: Additional requirements or conditions
- temporal_extent: TimeSpan for when requirement applies
**Updated**: CallForApplication.yaml:
- Imports: Added requires_or_required slot and CoFunding class
- Slots list: Replaced co_funding_required with requires_or_required
- Slot_usage: Added requires_or_required with range: CoFunding
- Examples: Updated to use structured CoFunding objects
**Archived**: modules/slots/archive/co_funding_required_archived_20260119.yaml
**Pattern**: Uses structured CoFunding class instead of boolean to capture
percentage requirements, eligible sources, and temporal applicability.
- original_slot_id: https://nde.nl/ontology/hc/slot/co_organized_by - original_slot_id: https://nde.nl/ontology/hc/slot/co_organized_by
revision: revision:
- label: has_or_had_organizer - label: has_or_had_organizer
@ -9777,6 +9875,40 @@ fixes:
type: slot type: slot
- label: OrganizerRole - label: OrganizerRole
type: class type: class
processed:
status: true
timestamp: '2026-01-19T23:15:00Z'
session: session-2026-01-19-co-organized-by-migration
notes: |
FULLY MIGRATED: co_organized_by → has_or_had_organizer + Organizer + OrganizerRole.
**Created slot**: has_or_had_organizer.yaml - generic temporal organizer relationship
- slot_uri: schema:organizer
- range: uriorcurie (broadened per Rule 55)
- multivalued: true
**Existing slot used**: has_or_had_role.yaml (already exists)
**Created classes**:
- Organizer.yaml: Entity that organizes events with:
- organizer_entity (required): Reference to organizing institution
- has_or_had_role: OrganizerRole specifying role type
- organizer_contribution: Description of organizational contribution
- OrganizerRole.yaml: Role of an organizer with:
- role_type (required): OrganizerRoleTypeEnum (PRIMARY, CO_ORGANIZER, SPONSOR_ORGANIZER, LENDING_INSTITUTION, HOST_VENUE, SUPPORTING_PARTNER, ADVISOR)
- role_description: Additional description
**Updated**: Exhibition.yaml:
- Imports: Added has_or_had_organizer slot, Organizer and OrganizerRole classes
- Slots list: Replaced co_organized_by with has_or_had_organizer
- Slot_usage: Added has_or_had_organizer with range: Organizer, inlined: true
- Examples: Updated 3 examples to use structured Organizer objects with roles
**Archived**: modules/slots/archive/co_organized_by_archived_20260119.yaml
**Pattern**: Uses Organizer class with role discrimination to replace separate
organized_by/co_organized_by slots with single has_or_had_organizer slot.
- original_slot_id: https://nde.nl/ontology/hc/slot/collected_in - original_slot_id: https://nde.nl/ontology/hc/slot/collected_in
revision: revision:
- label: is_or_was_included_in - label: is_or_was_included_in
@ -9805,6 +9937,11 @@ fixes:
type: slot type: slot
- label: Access - label: Access
type: class type: class
processed:
status: true
notes: '2026-01-19: Migrated in EducationProviderType.yaml. Created offers_or_offered_access.yaml slot (temporal access offering relationship)
and Access.yaml class (structured access with AccessTypeEnum). Updated imports, replaced collection_access with offers_or_offered_access slot,
updated slot_usage with range Access and multivalued: true. Archived collection_access.yaml to archive/collection_access_archived_20260119.yaml.'
- original_slot_id: https://nde.nl/ontology/hc/slot/collection_broader_type - original_slot_id: https://nde.nl/ontology/hc/slot/collection_broader_type
revision: revision:
- label: has_or_had_hypernym - label: has_or_had_hypernym
@ -9826,6 +9963,11 @@ fixes:
type: slot type: slot
- label: TimeSpan - label: TimeSpan
type: class type: class
processed:
status: true
notes: '2026-01-19: Migrated in BiologicalObject.yaml. Created was_acquired_through.yaml slot and Acquisition.yaml class
(CIDOC-CRM E8 Acquisition with AcquisitionMethodEnum). Uses existing temporal_extent slot and TimeSpan class. Updated imports,
slots list, slot_usage with examples. Archived collection_date.yaml to archive/collection_date_archived_20260119.yaml.'
- original_slot_id: https://nde.nl/ontology/hc/slot/collection_description - original_slot_id: https://nde.nl/ontology/hc/slot/collection_description
revision: revision:
- label: has_or_had_description - label: has_or_had_description
@ -9841,6 +9983,11 @@ fixes:
type: slot type: slot
- label: CollectionDiscoveryScore - label: CollectionDiscoveryScore
type: class type: class
processed:
status: true
notes: '2026-01-19: Created CollectionDiscoveryScore.yaml class (sosa:Observation based). Slot was only used in archived files
(TemplateSpecificityScores_archived_20260117.yaml). Uses existing has_or_had_score slot. Archived collection_discovery_score.yaml
to archive/collection_discovery_score_archived_20260119.yaml.'
- original_slot_id: https://nde.nl/ontology/hc/slot/collection_focus - original_slot_id: https://nde.nl/ontology/hc/slot/collection_focus
revision: revision:
- label: has_or_had_content - label: has_or_had_content
@ -10463,6 +10610,11 @@ fixes:
type: slot type: slot
- label: ConfidenceScore - label: ConfidenceScore
type: class type: class
processed:
status: true
notes: '2026-01-19: Migration complete. Updated AudioEventSegment.yaml, BirthDate.yaml,
DetectedEntity.yaml, Event.yaml, VideoTimeSegment.yaml, FindingAid.yaml to use
is_or_was_generated_by + GenerationEvent + ConfidenceScore pattern per Rule 53.'
- original_slot_id: https://nde.nl/ontology/hc/slot/confidence_method - original_slot_id: https://nde.nl/ontology/hc/slot/confidence_method
revision: revision:
- label: is_or_was_generated_by - label: is_or_was_generated_by
@ -10477,6 +10629,10 @@ fixes:
type: slot type: slot
- label: ConfidenceMethod - label: ConfidenceMethod
type: class type: class
processed:
status: true
notes: '2026-01-19: ConfidenceMethod class created. Note: ConfidenceMeasure.yaml still
uses confidence_method directly as it serves as range for has_or_had_confidence_measure slot.'
- original_slot_id: https://nde.nl/ontology/hc/slot/confidence_score - original_slot_id: https://nde.nl/ontology/hc/slot/confidence_score
revision: revision:
- label: is_or_was_generated_by - label: is_or_was_generated_by
@ -10495,6 +10651,11 @@ fixes:
type: slot type: slot
- label: ConfidenceMethodScore - label: ConfidenceMethodScore
type: class type: class
processed:
status: true
notes: '2026-01-19: Migration complete. Updated Provenance.yaml, ProvenanceBlock.yaml,
ChAnnotatorAnnotationMetadata.yaml, Hypothesis.yaml, PrimaryDigitalPresenceAssertion.yaml,
StorageCondition.yaml to use is_or_was_generated_by + GenerationEvent + ConfidenceScore pattern per Rule 53.'
- original_slot_id: https://nde.nl/ontology/hc/slot/confidence_threshold - original_slot_id: https://nde.nl/ontology/hc/slot/confidence_threshold
revision: revision:
- label: has_or_had_treshold - label: has_or_had_treshold
@ -10507,6 +10668,12 @@ fixes:
type: slot type: slot
- label: ConfidenceValue - label: ConfidenceValue
type: class type: class
processed:
status: true
notes: '2026-01-19: Note: ConfidenceMeasure.yaml still uses confidence_value directly
as it serves as range for has_or_had_confidence_measure slot in CustodianObservation
and ReconstructionActivity. This is intentional - ConfidenceMeasure is a different
pattern from the is_or_was_generated_by migration.'
- original_slot_id: https://nde.nl/ontology/hc/slot/conflict_status - original_slot_id: https://nde.nl/ontology/hc/slot/conflict_status
revision: revision:
- label: is_or_was_involved_in - label: is_or_was_involved_in
@ -10743,6 +10910,210 @@ fixes:
type: slot type: slot
- label: DeceasedStatus - label: DeceasedStatus
type: class type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/decommission_date
revision:
# https://nde.nl/ontology/hc/slot/decommission_date - label: is_or_was_decommissioned_at
type: slot
- label: Timestamp
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/deductibility_conditions
revision:
- label: has_or_had_condition
type: slot
- label: Condition
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/deductibility_status
revision:
- label: has_or_had_type
type: slot
- label: TaxDeductibilityType
type: class
- label: includes_or_included
type: slot
- label: TaxDeductibilityTypes
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/deductible_percentage
revision:
- label: has_or_had_percentage
type: slot
- label: Percentage
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/deduction_percentage
revision:
- label: offers_or_offered
type: slot
- label: TaxDeductibility
type: class
- label: has_or_had_percentage
type: slot
- label: Percentage
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/default_access_policy
revision:
- label: condition_of_access
type: slot
- label: Condition
type: slot
- original_slot_id: https://nde.nl/ontology/hc/slot/default_audio_language
revision:
- label: has_or_had_language
type: slot
- label: Language
type: class
- label: has_or_had_status
type: slot
- label: Status
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/default_language
revision:
- label: has_or_had_language
type: slot
- label: Language
type: class
- label: has_or_had_status
type: slot
- label: Status
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/default_position
revision:
- label: has_or_had_caption
type: slot
- label: Caption
type: class
- label: has_or_had_alignment
type: slot
- label: Alignment
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/defined_by_standard
revision:
- label: has_or_had_standard
type: slot
- label: Standard
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/definition
revision:
- label: has_or_had_resolution
type: slot
- label: Resolution
type: class
- label: has_or_had_quantity
type: slot
- label: Quantity
type: class
- label: has_or_had_unit
type: slot
- label: Unit
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/degree_name
revision:
- label: has_or_had_label
type: slot
- label: Label
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/deliverable
revision:
- label: has_or_had_objective
type: slot
- label: Deliverable
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/departement_code
revision:
- label: has_or_had_service_area
type: slot
- label: ServiceArea
type: class
- label: has_or_had_identifier
type: slot
- label: Identifier
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/departement_name
revision:
- label: has_or_had_service_area
type: slot
- label: ServiceArea
type: class
- label: has_or_had_label
type: slot
- label: Label
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/department_code
revision:
- label: has_or_had_label
type: slot
- label: Label
type: class
- label: has_or_had_type
type: slot
- label: LabelType
type: class
- label: includes_or_included
type: slot
- label: LabelTypes
type: class
note: this includes the Abbreviation label type class.
- original_slot_id: https://nde.nl/ontology/hc/slot/department_description
revision:
- label: has_or_had_description
type: slot
- label: Description
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/department_head
revision:
- label: is_or_was_managed_by
type: slot
- label: Manager
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/department_id
revision:
- label: has_or_had_identifier
type: slot
- label: Identifier
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/department_name
revision:
- label: has_or_had_label
type: slot
- label: Label
type: class
- label: has_or_had_type
type: slot
- label: LabelType
type: class
- label: includes_or_included
type: slot
- label: LabelTypes
type: class
note: this includes the OfficialLabel label type class.
- original_slot_id: https://nde.nl/ontology/hc/slot/deployment_date
revision:
- label: is_or_was_deployed_at
type: slot
- label: DeploymentEvent
type: class
- label: temporal_extent
type: slot
- label: TimeSpan
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/derived_from_entity
revision:
- label: refers_or_referred_to
type: slot
- label: EntityReconstruction
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/derived_from_observation
revision:
- label: has_or_had_provenance
type: slot
- label: Provenance
type: class
- label: is_or_was_based_on
type: slot
- label: Observation
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/description
revision:
- label: has_or_had_description
type: slot
- label: Description
type: class
# https://nde.nl/ontology/hc/slots/description_sections

View file

@ -0,0 +1,23 @@
id: https://nde.nl/ontology/hc/slot/temporal_dynamics
name: temporal_dynamics-slot
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
default_prefix: hc
imports:
- linkml:types
slots:
temporal_dynamics:
slot_uri: hc:temporalDynamics
description: |
Time-based change patterns and evolution of this type.
Documents how institutions of this type change over time.
**Migrated from**: `**Temporal Dynamics**:` sections.
range: string
annotations:
source_section: "**Temporal Dynamics**:"

View file

@ -0,0 +1,26 @@
id: https://nde.nl/ontology/hc/slot/typical_contents
name: typical_contents-slot
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
rico: https://www.ica.org/standards/RiC/ontology#
default_prefix: hc
imports:
- linkml:types
slots:
typical_contents:
slot_uri: rico:hasContentOfType
description: |
Typical contents or holdings for this type of institution.
Lists common record types, materials, or collection types.
**Migrated from**: `**Typical Contents**:` sections.
range: string
multivalued: true
inlined_as_list: true
annotations:
source_section: "**Typical Contents**:"

View file

@ -0,0 +1,26 @@
id: https://nde.nl/ontology/hc/slot/use_cases
name: use_cases-slot
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
schema: http://schema.org/
default_prefix: hc
imports:
- linkml:types
slots:
use_cases:
slot_uri: schema:usageInfo
description: |
Application scenarios and use cases for this class.
Documents how this type is used in practice.
**Migrated from**: `**Use Cases**:` and `**USE CASES**:` sections.
range: string
multivalued: true
inlined_as_list: true
annotations:
source_section: "**Use Cases**:"

View file

@ -0,0 +1,54 @@
id: https://nde.nl/ontology/hc/slot/was_acquired_through
name: was_acquired_through_slot
title: Was Acquired Through Slot
# Created per slot_fixes.yaml revision for collection_date migration
# RULE 53: Generic acquisition relationship pattern
# RULE 39: RiC-O temporal naming convention (was_* for past events)
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
crm: http://www.cidoc-crm.org/cidoc-crm/
rico: https://www.ica.org/standards/RiC/ontology#
prov: http://www.w3.org/ns/prov#
schema: http://schema.org/
imports:
- linkml:types
default_prefix: hc
slots:
was_acquired_through:
description: >-
Links an object or specimen to its acquisition event, capturing how and when it was obtained.
Acquisition encompasses various methods of obtaining items for collections:
- Field collection (biological/geological specimens)
- Purchase (art, manuscripts, artifacts)
- Donation/bequest (gifts, estate donations)
- Transfer (from other institutions)
- Exchange (inter-institutional specimen exchange)
- Excavation (archaeological contexts)
The Acquisition class captures temporal extent via TimeSpan, allowing for uncertain dates
common with historical specimens (e.g., "collected sometime in the 1750s").
**Darwin Core alignment**: For biological specimens, this replaces the simpler `dwc:eventDate`
with a structured acquisition event that can capture collector, location, method, and date.
range: Acquisition
slot_uri: crm:P24i_changed_ownership_through
multivalued: true
inlined: true
inlined_as_list: true
exact_mappings:
- crm:P24i_changed_ownership_through
close_mappings:
- rico:hasOrHadHolder
- prov:wasGeneratedBy
related_mappings:
- schema:acquiredFrom
- dwc:eventDate
annotations:
rule_53_migration: "Replaces collection_date with structured Acquisition event"
darwin_core_note: "For biological specimens, Acquisition.temporal_extent replaces dwc:eventDate"