Remove deprecated slots and add new slot definitions for enhanced data modeling

- Deleted obsolete slot definitions for work_location and workshop_space.
- Introduced new TaxonName class to represent scientific taxonomic names with detailed attributes.
- Archived existing slots related to surname_prefix, target_name, taxon_name, terminal_count, text_region_count, title, title_proper, total_chapter, total_characters_extracted, total_connections_extracted, track_name, transcript_format, traveling_venue, type_label, type_status, typical_responsibility, unesco_domain, unesco_inscription_year, unesco_list_status, uniform_title, unit_name, used_by_custodian, uv_filtered_required, valid_from_geo, valid_to_geo, validation_status, variant_of_name, verification_date, viability_status, within_auxiliary_place, and within_place.
- Updated slot descriptions and structures to improve clarity and compliance with standards.
This commit is contained in:
kempersc 2026-01-15 11:42:35 +01:00
parent d5d970b513
commit 6c3fa6b5a3
92 changed files with 1056 additions and 282 deletions

View file

@ -1,5 +1,5 @@
{
"generated": "2026-01-14T21:38:51.740Z",
"generated": "2026-01-14T21:57:09.847Z",
"schemaRoot": "/schemas/20251121/linkml",
"totalFiles": 3026,
"categoryCounts": {

View file

@ -151,8 +151,20 @@ export function usePersonSearch(options: UsePersonSearchOptions = {}): UsePerson
const data: PersonSearchResponse = await response.json();
setResults(data.results);
setResultCount(data.result_count);
// Deduplicate results by name (Qdrant may return multiple embeddings per person)
const seen = new Map<string, PersonSearchResult>();
for (const result of data.results) {
const key = result.name.toLowerCase().trim();
const existing = seen.get(key);
// Keep the one with higher score, or the first if no scores
if (!existing || (result.score && existing.score && result.score > existing.score)) {
seen.set(key, result);
}
}
const dedupedResults = Array.from(seen.values());
setResults(dedupedResults);
setResultCount(dedupedResults.length);
setQueryTimeMs(data.query_time_ms);
setEmbeddingModelUsed(data.embedding_model_used || null);
} catch (err) {

View file

@ -680,6 +680,27 @@
color: var(--text-secondary, #999);
}
/* Semantic result match states */
.profile-item.semantic-result.has-match {
cursor: pointer;
}
.profile-item.semantic-result.no-match {
cursor: help;
opacity: 0.6;
}
.profile-item.semantic-result.no-match:hover {
opacity: 0.8;
}
.profile-item .match-indicator {
display: inline-flex;
align-items: center;
color: var(--success-color, #10b981);
margin-left: 0.25rem;
}
.profile-list {
list-style: none;
padding: 0;

View file

@ -980,47 +980,69 @@ export default function EntityReviewPage() {
{/* Semantic Search Results */}
{useSemanticSearch && semanticQuery && !semanticSearching && semanticResults.length > 0 ? (
<ul className="profile-list semantic-results">
{semanticResults.map((result, idx) => (
<li
key={result.ppid || `semantic-${idx}`}
className="profile-item semantic-result"
onClick={() => {
// If the result has a ppid, try to fetch that profile
if (result.ppid) {
fetchProfileDetail(result.ppid);
{semanticResults.map((result, idx) => {
// Try to find a matching profile in the loaded profiles by name
const matchingProfile = profiles.find(p =>
p.name.toLowerCase().trim() === result.name.toLowerCase().trim()
);
return (
<li
key={result.ppid || `semantic-${idx}`}
className={`profile-item semantic-result ${matchingProfile ? 'has-match' : 'no-match'}`}
onClick={() => {
if (matchingProfile) {
// Found a matching WCMS profile - load it
fetchProfileDetail(matchingProfile.ppid);
} else {
// No match - show a helpful message
alert(language === 'nl'
? `"${result.name}" is gevonden in de database maar heeft geen WCMS profiel op de huidige pagina. Probeer een andere pagina of filter.`
: `"${result.name}" was found in the database but has no WCMS profile on the current page. Try a different page or filter.`
);
}
}}
title={matchingProfile
? (language === 'nl' ? 'Klik om profiel te laden' : 'Click to load profile')
: (language === 'nl' ? 'Geen WCMS profiel op huidige pagina' : 'No WCMS profile on current page')
}
}}
>
<div className="profile-item-header">
<User size={16} />
<span className="profile-name">{result.name}</span>
{result.score && (
<span className="score-badge" title="Match score">
{(result.score * 100).toFixed(0)}%
</span>
)}
</div>
<div className="profile-item-meta">
{result.headline && (
<span className="headline-text" title={result.headline}>
{result.headline.length > 40 ? result.headline.slice(0, 40) + '...' : result.headline}
</span>
)}
{result.custodian_name && (
<span className="custodian-badge">
<Building2 size={12} />
{result.custodian_name}
</span>
)}
{result.location && (
<span className="location-badge">
<Globe size={12} />
{result.location}
</span>
)}
</div>
</li>
))}
>
<div className="profile-item-header">
<User size={16} />
<span className="profile-name">{result.name}</span>
{matchingProfile && (
<span className="match-indicator" title={language === 'nl' ? 'Gevonden op pagina' : 'Found on page'}>
<CheckCircle size={12} />
</span>
)}
{result.score && (
<span className="score-badge" title="Match score">
{(result.score * 100).toFixed(0)}%
</span>
)}
</div>
<div className="profile-item-meta">
{result.headline && (
<span className="headline-text" title={result.headline}>
{result.headline.length > 40 ? result.headline.slice(0, 40) + '...' : result.headline}
</span>
)}
{result.custodian_name && (
<span className="custodian-badge">
<Building2 size={12} />
{result.custodian_name}
</span>
)}
{result.location && (
<span className="location-badge">
<Globe size={12} />
{result.location}
</span>
)}
</div>
</li>
);
})}
</ul>
) : useSemanticSearch && semanticQuery && !semanticSearching && semanticResults.length === 0 ? (
<div className="empty-state">

View file

@ -1,5 +1,5 @@
{
"generated": "2026-01-14T21:57:09.847Z",
"generated": "2026-01-15T10:42:35.646Z",
"schemaRoot": "/schemas/20251121/linkml",
"totalFiles": 3026,
"categoryCounts": {

View file

@ -31,7 +31,7 @@ imports:
- ../slots/template_specificity
- ../slots/type_description
- ../slots/type_id
- ../slots/type_label
- ../slots/has_or_had_label # was: type_label - migrated per Rule 53
- ./SpecificityAnnotation
- ./TemplateSpecificityScores
@ -126,7 +126,7 @@ classes:
- template_specificity
- type_description
- type_id
- type_label
- has_or_had_label # was: type_label
- wikidata_entity
slot_usage:
@ -141,10 +141,13 @@ classes:
- value: https://nde.nl/ontology/hc/activity-type/conservation
description: Conservation activity type
type_label:
has_or_had_label: # was: type_label - migrated per Rule 53
range: string
required: true
multivalued: true
description: |
Human-readable label for this activity type.
MIGRATED from type_label per slot_fixes.yaml (Rule 53).
examples:
- value: ["Curation@en", "curatie@nl", "Kuration@de"]
description: Multilingual labels for curation type
@ -191,7 +194,7 @@ classes:
examples:
- value:
type_id: https://nde.nl/ontology/hc/activity-type/curation
type_label:
has_or_had_label: # was: type_label
- Curation@en
- curatie@nl
type_description: "Activities related to ongoing collection management"

View file

@ -19,7 +19,9 @@ imports:
- ../slots/has_appellation_value
- ../slots/has_appellation_language
- ../slots/has_appellation_type
- ../slots/variant_of_name
# REMOVED 2026-01-14: ../slots/variant_of_name - migrated to is_or_was_alternative_form_of with Label
- ../slots/is_or_was_alternative_form_of
- ./Label
- ../slots/specificity_annotation
- ../slots/template_specificity
- ./SpecificityAnnotation
@ -51,7 +53,8 @@ classes:
- has_appellation_value
- specificity_annotation
- template_specificity
- variant_of_name
# REMOVED 2026-01-14: variant_of_name - migrated to is_or_was_alternative_form_of with Label
- is_or_was_alternative_form_of
slot_usage:
has_appellation_value:
range: string
@ -61,6 +64,19 @@ classes:
pattern: ^[a-z]{2}$
has_appellation_type:
range: AppellationTypeEnum
variant_of_name:
range: CustodianName
required: false
# REMOVED 2026-01-14: variant_of_name - migrated to is_or_was_alternative_form_of with Label
# variant_of_name:
# range: CustodianName
# required: false
is_or_was_alternative_form_of:
range: Label
inlined: true
description: |
Reference to the CustodianName this appellation is a variant of.
MIGRATED 2026-01-14: Replaces variant_of_name slot.
examples:
- value: |
Label:
label_value: "Rijksmuseum"
label_language: "nl"
description: Dutch name this appellation is variant of

View file

@ -8,7 +8,7 @@ prefixes:
imports:
- linkml:types
- ../slots/type_id
- ../slots/type_label
- ../slots/has_or_had_label # was: type_label - migrated per Rule 53
- ../slots/type_description
classes:
ApprovalTimeType:
@ -16,5 +16,5 @@ classes:
abstract: true
slots:
- type_id
- type_label
- has_or_had_label # was: type_label
- type_description

View file

@ -53,12 +53,16 @@ imports:
- ../slots/specificity_annotation
- ../slots/specimen_count
- ../slots/specimen_type
- ../slots/taxon_name
# REMOVED 2026-01-14: ../slots/taxon_name - migrated to has_or_had_label with TaxonName (Rule 53)
- ../slots/has_or_had_label
- ./TaxonName
- ../slots/taxon_remark
- ../slots/taxonomic_authority
- ../slots/taxonomic_rank
- ../slots/template_specificity
- ../slots/type_status
# REMOVED 2026-01-14: ../slots/type_status - migrated to has_or_had_status with TypeStatus
- ../slots/has_or_had_status
- ./TypeStatus
- ./SpecificityAnnotation
- ./TemplateSpecificityScores
- ../slots/has_associated_taxon
@ -137,12 +141,14 @@ classes:
- specificity_annotation
- specimen_count
- specimen_type
- taxon_name
# REMOVED 2026-01-14: taxon_name - migrated to has_or_had_label with TaxonName (Rule 53)
- has_or_had_label # was: taxon_name - migrated per Rule 53
- taxon_remark
- taxonomic_authority
- taxonomic_rank
- template_specificity
- type_status
# REMOVED 2026-01-14: type_status - migrated to has_or_had_status with TypeStatus
- has_or_had_status
slot_usage:
is_or_was_associated_with:
description: >-
@ -168,13 +174,33 @@ classes:
id: https://nde.nl/ontology/hc/bold-id/NLNAT001-21
identifier_value: NLNAT001-21
description: BOLD identifier for specimen
taxon_name:
# DEPRECATED: taxon_name - migrated to has_or_had_label (2026-01-14, Rule 53)
# taxon_name:
# required: true
# range: string
# examples:
# - value: Raphus cucullatus (Linnaeus, 1758)
# description: Dodo with nomenclatural authority
# - value: Panthera leo
# description: Lion (authority omitted)
has_or_had_label: # was: taxon_name - migrated per Rule 53
description: |
Scientific taxonomic name for this biological object.
MIGRATED from taxon_name per slot_fixes.yaml (Rule 53).
Uses TaxonName class for structured representation.
range: TaxonName
inlined: true
required: true
range: string
examples:
- value: Raphus cucullatus (Linnaeus, 1758)
- value:
scientific_name: "Raphus cucullatus (Linnaeus, 1758)"
authorship: "Linnaeus, 1758"
taxonomic_rank: SPECIES
description: Dodo with nomenclatural authority
- value: Panthera leo
- value:
scientific_name: "Panthera leo"
taxonomic_rank: SPECIES
description: Lion (authority omitted)
common_name:
required: false
@ -248,11 +274,25 @@ classes:
examples:
- value: true
description: Type specimen
type_status:
# REMOVED 2026-01-14: type_status - migrated to has_or_had_status with TypeStatus
# type_status:
# required: false
# range: string
# examples:
# - value: Holotype of Raphus cucullatus Linnaeus, 1758
has_or_had_status:
range: TypeStatus
inlined: true
description: |
Type status designation for this specimen.
MIGRATED 2026-01-14: Replaces type_status slot.
required: false
range: string
examples:
- value: Holotype of Raphus cucullatus Linnaeus, 1758
- value: |
TypeStatus:
status_value: "Holotype of Raphus cucullatus Linnaeus, 1758"
status_type: "nomenclatural"
description: Holotype status
sex:
required: false
range: string
@ -413,9 +453,12 @@ classes:
- value:
object_id: https://nde.nl/ontology/hc/object/oum-dodo-head
object_name: Oxford Dodo
object_description: "The only surviving dodo soft tissue - a head with preserved skin and \nfeathers, plus associated\
\ foot. The most complete dodo specimen known.\nDonated by Elias Ashmole in 1683.\n"
taxon_name: Raphus cucullatus (Linnaeus, 1758)
object_description: "The only surviving dodo soft tissue - a head with preserved skin and \\nfeathers, plus associated\\\n \\ foot. The most complete dodo specimen known.\\nDonated by Elias Ashmole in 1683.\\n"
# taxon_name: Raphus cucullatus (Linnaeus, 1758) - MIGRATED to has_or_had_label (2026-01-14)
has_or_had_label:
scientific_name: "Raphus cucullatus (Linnaeus, 1758)"
authorship: "Linnaeus, 1758"
taxonomic_rank: SPECIES
common_name:
- Dodo
- Dronte
@ -442,7 +485,11 @@ classes:
One of the finest examples of this extinct megafauna.
'
taxon_name: Megatherium americanum Cuvier, 1796
# taxon_name: Megatherium americanum Cuvier, 1796 - MIGRATED to has_or_had_label (2026-01-14)
has_or_had_label:
scientific_name: "Megatherium americanum Cuvier, 1796"
authorship: "Cuvier, 1796"
taxonomic_rank: SPECIES
common_name:
- Giant Ground Sloth
taxonomic_rank: SPECIES
@ -459,7 +506,11 @@ classes:
object_description: 'Herbarium type specimen of English Oak collected by Linnaeus.
'
taxon_name: Quercus robur L.
# taxon_name: Quercus robur L. - MIGRATED to has_or_had_label (2026-01-14)
has_or_had_label:
scientific_name: "Quercus robur L."
authorship: "L."
taxonomic_rank: SPECIES
common_name:
- English Oak
- Pedunculate Oak
@ -467,7 +518,9 @@ classes:
taxonomic_authority: Linnaeus, 1753
specimen_type: LECTOTYPE
is_type_specimen: true
type_status: Lectotype of Quercus robur L., designated by Schwarz (1936)
has_or_had_status: # was: type_status
status_value: Lectotype of Quercus robur L., designated by Schwarz (1936)
status_type: nomenclatural
part_type:
- LEAF
- FLOWER

View file

@ -31,7 +31,8 @@ imports:
- ../slots/supported_metadata_standard
- ../slots/template_specificity
- ../slots/temporal_extent
- ../slots/used_by_custodian
# REMOVED 2026-01-14: ../slots/used_by_custodian - migrated to is_or_was_used_by with Custodian
- ../slots/is_or_was_used_by
# Migrated per slot_fixes.yaml (Rule 53) - 2026-01-14
# vendor_name → has_or_had_label + Label
# vendor_url → has_or_had_url + URL (URL already imported above)
@ -125,7 +126,8 @@ classes:
- supported_metadata_standard
- template_specificity
- temporal_extent
- used_by_custodian
# REMOVED 2026-01-14: used_by_custodian - migrated to is_or_was_used_by with Custodian
- is_or_was_used_by
# Migrated per slot_fixes.yaml (Rule 53) - 2026-01-14
- has_or_had_label # was: vendor_name
- has_or_had_url # was: vendor_url
@ -262,9 +264,19 @@ classes:
examples:
- value: https://nde.nl/ontology/hc/collection/rm-paintings
description: Collection managed by this CMS
used_by_custodian:
# REMOVED 2026-01-14: used_by_custodian - migrated to is_or_was_used_by with Custodian
# used_by_custodian:
# range: Custodian
# multivalued: true
# examples:
# - value: https://nde.nl/ontology/hc/nl-nh-ams-m-rm-q190804
# description: Rijksmuseum uses this CMS
is_or_was_used_by:
range: Custodian
multivalued: true
description: |
Custodians that use or used this CMS.
MIGRATED 2026-01-14: Replaces used_by_custodian slot.
examples:
- value: https://nde.nl/ontology/hc/nl-nh-ams-m-rm-q190804
description: Rijksmuseum uses this CMS

View file

@ -8,7 +8,7 @@ prefixes:
imports:
- linkml:types
- ../slots/type_id
- ../slots/type_label
- ../slots/has_or_had_label # was: type_label - migrated per Rule 53
- ../slots/type_description
classes:
ConditionType:
@ -16,5 +16,5 @@ classes:
abstract: true
slots:
- type_id
- type_label
- has_or_had_label # was: type_label
- type_description

View file

@ -19,7 +19,9 @@ imports:
- ../slots/scraped_timestamp
- ../slots/source_url
- ../slots/specificity_annotation
- ../slots/target_name
# REMOVED 2026-01-14: ../slots/target_name - migrated to has_or_had_label with Label
- ../slots/has_or_had_label
- ./Label
- ../slots/target_profile
- ../slots/template_specificity
default_prefix: hc
@ -60,7 +62,8 @@ classes:
- scraped_timestamp
- source_url
- specificity_annotation
- target_name
# REMOVED 2026-01-14: target_name - migrated to has_or_had_label with Label
- has_or_had_label
- target_profile
- template_specificity
slot_usage:
@ -79,20 +82,27 @@ classes:
range: ScrapeMethodEnum
required: true
examples:
- value: manual_linkedin_browse
target_profile:
range: string
required: true
pattern: ^[a-z0-9-]+$
examples:
- value: giovannafossati
- value: alexandr-belov-bb547b46
target_name:
range: string
# REMOVED 2026-01-14: target_name - migrated to has_or_had_label with Label
# target_name:
# range: string
# required: true
# examples:
# - value: Giovanna Fossati
# - value: Alexandr Belov
has_or_had_label:
range: Label
inlined: true
description: |
Target name of the connection source (person name).
MIGRATED 2026-01-14: Replaces target_name slot.
required: true
examples:
- value: Giovanna Fossati
- value: Alexandr Belov
- value: |
Label:
label_value: "Giovanna Fossati"
label_type: "person_name"
description: Person name for connection source
connections_extracted:
range: integer
required: true

View file

@ -14,7 +14,7 @@ imports:
- ../slots/template_specificity
- ../slots/type_description
- ../slots/type_id
- ../slots/type_label
- ../slots/has_or_had_label # was: type_label - migrated per Rule 53
- ./SpecificityAnnotation
- ./TemplateSpecificityScores
- ../slots/custodian_type_broader
@ -78,7 +78,7 @@ classes:
- template_specificity
- type_description
- type_id
- type_label
- has_or_had_label # was: type_label
- wikidata_entity
slot_usage:
type_id:
@ -94,7 +94,7 @@ classes:
range: string
required: true
pattern: ^Q[0-9]+$
type_label:
has_or_had_label: # was: type_label
range: string
required: true
multivalued: true
@ -134,7 +134,7 @@ classes:
type_id: https://nde.nl/ontology/hc/type/museum/Q207694
glamorcubesfixphdnt_code: M
wikidata_entity: Q207694
type_label:
has_or_had_label: # was: type_label
- Art Museum@en
- kunstmuseum@nl
- Kunstmuseum@de

View file

@ -8,7 +8,7 @@ prefixes:
imports:
- linkml:types
- ../slots/type_id
- ../slots/type_label
- ../slots/has_or_had_label # was: type_label - migrated per Rule 53
- ../slots/type_description
classes:
DomainType:
@ -16,5 +16,5 @@ classes:
abstract: true
slots:
- type_id
- type_label
- has_or_had_label # was: type_label
- type_description

View file

@ -28,7 +28,9 @@ imports:
- ../slots/template_specificity
- ../slots/was_derived_from
- ../slots/was_generated_by
- ../slots/workshop_space
# REMOVED 2026-01-14: ../slots/workshop_space - migrated to has_or_had_quantity with Quantity
- ../slots/has_or_had_quantity
- ./Quantity
- ./SpecificityAnnotation
- ./TemplateSpecificityScores
- ../slots/has_or_had_annual_participant_count
@ -100,7 +102,8 @@ classes:
- template_specificity
- was_derived_from
- was_generated_by
- workshop_space
# REMOVED 2026-01-14: workshop_space - migrated to has_or_had_quantity with Quantity
- has_or_had_quantity
slot_usage:
education_center_id:
range: uriorcurie
@ -160,10 +163,23 @@ classes:
examples:
- value: 4
description: 4 classrooms
workshop_space:
range: integer
# REMOVED 2026-01-14: workshop_space - migrated to has_or_had_quantity with Quantity
# workshop_space:
# range: integer
# examples:
# - value: 2
# description: 2 workshop spaces
has_or_had_quantity:
range: Quantity
inlined: true
description: |
Quantity-based measurement (e.g., workshop_space count).
MIGRATED 2026-01-14: Replaces workshop_space slot.
examples:
- value: 2
- value: |
Quantity:
value: 2
unit: "workshop_spaces"
description: 2 workshop spaces
max_group_size:
range: integer

View file

@ -44,7 +44,9 @@ imports:
- ../slots/has_or_had_related_exhibition
- ../slots/specificity_annotation
- ../slots/template_specificity
- ../slots/traveling_venue
# REMOVED 2026-01-14: ../slots/traveling_venue - migrated to has_or_had_venue with Venue
- ../slots/has_or_had_venue
- ./Venue
- ../slots/has_or_had_quantity
- ./Quantity
- ./SpecificityAnnotation
@ -108,7 +110,8 @@ classes:
- specificity_annotation
- start_date
- template_specificity
- traveling_venue
# REMOVED 2026-01-14: traveling_venue - migrated to has_or_had_venue with Venue
- has_or_had_venue
- has_or_had_quantity
- wikidata_id
slot_usage:
@ -274,13 +277,32 @@ classes:
inlined: false
examples:
- value: https://nde.nl/ontology/hc/exhibition/mauritshuis-vermeer-2014
traveling_venue:
required: false
range: string
# REMOVED 2026-01-14: traveling_venue - migrated to has_or_had_venue with Venue
# traveling_venue:
# required: false
# range: string
# multivalued: true
# examples:
# - value: Rijksmuseum, Amsterdam (Feb 10 - Jun 4, 2023)
# - value: National Gallery, London (Jul 1 - Oct 15, 2023)
has_or_had_venue:
range: Venue
multivalued: true
inlined: true
description: |
Venues for a traveling exhibition.
MIGRATED 2026-01-14: Replaces traveling_venue slot.
examples:
- value: Rijksmuseum, Amsterdam (Feb 10 - Jun 4, 2023)
- value: National Gallery, London (Jul 1 - Oct 15, 2023)
- value: |
Venue:
venue_name: "Rijksmuseum, Amsterdam"
venue_dates: "Feb 10 - Jun 4, 2023"
description: First traveling venue
- value: |
Venue:
venue_name: "National Gallery, London"
venue_dates: "Jul 1 - Oct 15, 2023"
description: Second traveling venue
wikidata_id:
required: false
range: string

View file

@ -17,7 +17,7 @@ default_prefix: hc
imports:
- linkml:types
- ../slots/type_id
- ../slots/type_label
- ../slots/has_or_had_label # was: type_label - migrated per Rule 53
- ../slots/type_description
classes:
@ -37,7 +37,7 @@ classes:
slots:
- type_id
- type_label
- has_or_had_label # was: type_label
- type_description
exact_mappings:

View file

@ -46,7 +46,7 @@ imports:
- ../slots/claim_type
- ../slots/claim_value
- ../slots/source_url
- ../slots/title
- ../slots/has_or_had_label # was: title - migrated per Rule 53
- ../slots/date
- ../slots/note
- ../slots/creator
@ -141,7 +141,9 @@ imports:
- ../slots/topic
- ../slots/type
- ../slots/url
- ../slots/validation_status
# REMOVED 2026-01-14: ../slots/validation_status - migrated to has_or_had_status with ValidationStatus
- ../slots/has_or_had_status
- ./ValidationStatus
- ../slots/wikidata
# REMOVED: ../slots/wikidata_class - migrated to is_or_was_instance_of with WikiDataEntry (2026-01-14, Rule 53)
- ../slots/is_or_was_instance_of
@ -265,7 +267,7 @@ classes:
- supersede
- template_specificity
- finding_aid_temporal_coverage
- title
- has_or_had_label # was: title
- topic
- url
- temporal_extent # was: valid_from + valid_to - migrated per Rule 53
@ -284,7 +286,7 @@ classes:
description: |
The type classification of this finding aid.
Uses FindingAidType class hierarchy.
title:
has_or_had_label: # was: title
required: true
url:
required: true
@ -703,7 +705,8 @@ classes:
- source_url
- specificity_annotation
- template_specificity
- validation_status
# REMOVED 2026-01-14: validation_status - migrated to has_or_had_status with ValidationStatus
- has_or_had_status
slot_usage:
date_retrieved:
range: date
@ -714,6 +717,18 @@ classes:
range: uri
claims_count:
range: integer
has_or_had_status:
range: ValidationStatus
required: false
inlined: true
description: |
Validation status of this finding aid retrieval.
MIGRATED 2026-01-14: Replaces validation_status slot.
examples:
- value:
status_type: VALIDATED
status_date: "2026-01-14"
description: Validated finding aid data
exact_mappings:
- prov:Activity
PageSection:

View file

@ -29,8 +29,9 @@ imports:
- ../slots/spatial_resolution
- ../slots/specificity_annotation
- ../slots/template_specificity
- ../slots/valid_from_geo
- ../slots/valid_to_geo
- ../slots/temporal_extent # was: valid_from_geo + valid_to_geo - migrated per Rule 53
- ./TimeSpan
# REMOVED 2026-01-14: valid_from_geo + valid_to_geo - migrated to temporal_extent (Rule 53)
- ./SpecificityAnnotation
- ./TemplateSpecificityScores
- ../enums/GeometryTypeEnum
@ -100,7 +101,7 @@ classes:
3. **Administrative boundaries**: Archive jurisdiction area (MultiPolygon)
4. **Historical boundaries**: Pre-merger municipal territory (Polygon + valid_to_geo)
4. **Historical boundaries**: Pre-merger municipal territory (Polygon + temporal_extent)
**Relationship to CustodianPlace**:
@ -138,7 +139,7 @@ classes:
Organizational changes may affect geographic location:
- RELOCATION: New GeoSpatialPlace, old one gets valid_to_geo
- RELOCATION: New GeoSpatialPlace, old one gets temporal_extent.end_of_the_end
- MERGER: Multiple locations → single primary + auxiliary locations
@ -174,8 +175,7 @@ classes:
- spatial_resolution
- specificity_annotation
- template_specificity
- valid_from_geo
- valid_to_geo
- temporal_extent # was: valid_from_geo + valid_to_geo - migrated per Rule 53
slot_usage:
geospatial_id:
identifier: true
@ -214,6 +214,19 @@ classes:
identifier_scheme: cadastral
identifier_value: ASD04-H-4567
description: Amsterdam cadastral parcel identifier
temporal_extent: # was: valid_from_geo + valid_to_geo - migrated per Rule 53
description: |
Validity period for geospatial data using CIDOC-CRM TimeSpan.
MIGRATED from valid_from_geo + valid_to_geo per slot_fixes.yaml (Rule 53).
Use for tracking boundary changes (e.g., municipal mergers).
range: TimeSpan
inlined: true
required: false
examples:
- value:
begin_of_the_begin: '1920-01-01'
end_of_the_end: '2001-01-01'
description: Historical archive jurisdiction boundary validity (pre-merger)
comments:
- Follows TOOI BestuurlijkeRuimte pattern using GeoSPARQL
- 'CRITICAL: NOT a nominal reference - this is measured/surveyed location data'
@ -222,7 +235,7 @@ classes:
- Link from CustodianPlace via has_geospatial_location slot
- Link from AuxiliaryPlace via has_geospatial_location slot (subordinate sites)
- Link from OrganizationalChangeEvent via has_or_had_affected_territory slot
- valid_from_geo/valid_to_geo track boundary changes over time
- temporal_extent tracks boundary changes over time (was valid_from_geo/valid_to_geo)
- OSM and GeoNames IDs enable external linking
see_also:
- http://www.opengis.net/ont/geosparql
@ -271,6 +284,7 @@ classes:
spatial_resolution: REGION
feature_class: A
feature_code: A.ADM1
valid_from_geo: '1920-01-01'
valid_to_geo: '2001-01-01'
temporal_extent: # was: valid_from_geo + valid_to_geo
begin_of_the_begin: '1920-01-01'
end_of_the_end: '2001-01-01'
description: Historical archive jurisdiction boundary (pre-merger)

View file

@ -8,7 +8,7 @@ prefixes:
imports:
- linkml:types
- ../slots/type_id
- ../slots/type_label
- ../slots/has_or_had_label # was: type_label - migrated per Rule 53
- ../slots/type_description
classes:
HTTPMethodType:
@ -16,5 +16,5 @@ classes:
abstract: true
slots:
- type_id
- type_label
- has_or_had_label # was: type_label
- type_description

View file

@ -64,8 +64,8 @@ imports:
- ../slots/specificity_annotation
- ../slots/template_specificity
- ../slots/text_direction
- ../slots/title_proper
- ../slots/uniform_title
- ../slots/has_or_had_label # was: title_proper - migrated per Rule 53
- ../slots/has_or_had_label # was: uniform_title - migrated per Rule 53
- ../slots/writing_system
- ./SpecificityAnnotation
- ./TemplateSpecificityScores
@ -151,8 +151,8 @@ classes:
- specificity_annotation
- template_specificity
- text_direction
- title_proper
- uniform_title
- has_or_had_label # was: title_proper
- has_or_had_label # was: uniform_title
- writing_system
slot_usage:
carrier_type:
@ -451,7 +451,7 @@ classes:
examples:
- value: Vulgate Latin Bible
- value: Hamlet by William Shakespeare
title_proper:
has_or_had_label: # was: title_proper
required: false
range: string
examples:
@ -463,7 +463,7 @@ classes:
multivalued: true
examples:
- value: The Holy Bible (English parallel title)
uniform_title:
has_or_had_label: # was: uniform_title
required: false
range: string
examples:

View file

@ -10,8 +10,11 @@ imports:
- ../slots/wikidata_id
- ../slots/geographic_scope
- ../enums/UNESCOICHDomainEnum
- ../enums/UNESCOListStatusEnum
- ../enums/ICHViabilityStatusEnum
# REMOVED 2026-01-14: ../enums/UNESCOListStatusEnum - migrated to has_or_had_status with UNESCOListStatus (Rule 53)
# REMOVED 2026-01-14: ../enums/ICHViabilityStatusEnum - migrated to has_or_had_status with ViabilityStatus (Rule 53)
- ../slots/has_or_had_status # was: unesco_list_status, viability_status - migrated per Rule 53
- ./ViabilityStatus
- ./UNESCOListStatus
- ../slots/has_or_had_custodian_type
- ../slots/external_link
- ../slots/heritage_form_description
@ -27,10 +30,14 @@ imports:
- ../slots/template_specificity
- ../slots/threat
- ../slots/has_or_had_transmission_method
- ../slots/unesco_domain
- ../slots/unesco_inscription_year
- ../slots/unesco_list_status
- ../slots/viability_status
# REMOVED 2026-01-14: ../slots/unesco_domain - migrated to is_or_was_categorized_as with UNESCODomain
- ../slots/is_or_was_categorized_as
- ./UNESCODomain
- ../slots/temporal_extent # was: unesco_inscription_year - migrated per Rule 53
- ./TimeSpan
# REMOVED 2026-01-14: unesco_inscription_year - migrated to temporal_extent (Rule 53)
# REMOVED 2026-01-14: unesco_list_status - migrated to has_or_had_status with UNESCOListStatus (Rule 53)
# REMOVED 2026-01-14: viability_status - migrated to has_or_had_status with ViabilityStatus (Rule 53)
- ./SpecificityAnnotation
- ./TemplateSpecificityScores
prefixes:
@ -141,10 +148,11 @@ classes:
- template_specificity
- threat
- has_or_had_transmission_method
- unesco_domain
- unesco_inscription_year
- unesco_list_status
- viability_status
# REMOVED 2026-01-14: unesco_domain - migrated to is_or_was_categorized_as with UNESCODomain
- is_or_was_categorized_as
- temporal_extent # was: unesco_inscription_year - migrated per Rule 53
- has_or_had_status # was: unesco_list_status, viability_status - migrated per Rule 53
# REMOVED 2026-01-14: unesco_list_status, viability_status - migrated to has_or_had_status (Rule 53)
- wikidata_id
slot_usage:
heritage_form_id:
@ -166,12 +174,28 @@ classes:
examples:
- value: "Pride Amsterdam is the annual LGBTQ+ celebration featuring the famous \nCanal Parade through the historic\
\ canals of Amsterdam. First held in \n1996, it represents Dutch values of tolerance and equality.\n"
unesco_domain:
# REMOVED 2026-01-14: unesco_domain - migrated to is_or_was_categorized_as with UNESCODomain
# unesco_domain:
# required: true
# range: UNESCOICHDomainEnum
# multivalued: true
# examples:
# - value: SOCIAL_PRACTICES_RITUALS_FESTIVE_EVENTS
# description: For festivals like Pride Amsterdam, Carnaval
is_or_was_categorized_as:
description: |
UNESCO ICH domain classification for this heritage form.
MIGRATED from unesco_domain per slot_fixes.yaml (Rule 53).
range: UNESCODomain
required: true
range: UNESCOICHDomainEnum
multivalued: true
inlined: true
inlined_as_list: true
examples:
- value: SOCIAL_PRACTICES_RITUALS_FESTIVE_EVENTS
- value: |
UNESCODomain:
has_or_had_code: SOCIAL_PRACTICES_RITUALS_FESTIVE_EVENTS
domain_name: "Social practices, rituals and festive events"
description: For festivals like Pride Amsterdam, Carnaval
kien_url:
required: false
@ -183,17 +207,56 @@ classes:
range: date
examples:
- value: '2019-04-15'
unesco_list_status:
# DEPRECATED: unesco_list_status - migrated to has_or_had_status (2026-01-14, Rule 53)
# unesco_list_status:
# required: false
# range: UNESCOListStatusEnum
# examples:
# - value: REPRESENTATIVE_LIST
# description: For internationally recognized heritage
has_or_had_status: # was: unesco_list_status, viability_status - migrated per Rule 53
description: |
Status information for this heritage form.
MIGRATED from unesco_list_status and viability_status per slot_fixes.yaml (Rule 53).
Use UNESCOListStatus for UNESCO inscription status.
Use ViabilityStatus for viability/health assessment.
range: string # polymorphic - narrowed in examples
multivalued: true
inlined_as_list: true
required: false
range: UNESCOListStatusEnum
examples:
- value: REPRESENTATIVE_LIST
description: For internationally recognized heritage
unesco_inscription_year:
- value: |
UNESCOListStatus:
has_or_had_code: REPRESENTATIVE_LIST
list_name: "Representative List of ICH of Humanity"
inscription_date: "2023-12-06"
description: UNESCO inscription status
- value: |
ViabilityStatus:
has_or_had_code: THRIVING
status_name: "Thriving"
assessment_date: "2024-12-01"
assessment_notes: "Strong community practice"
description: Viability status
# DEPRECATED: unesco_inscription_year - migrated to temporal_extent (2026-01-14, Rule 53)
# unesco_inscription_year:
# required: false
# range: integer
# examples:
# - value: 2017
temporal_extent: # was: unesco_inscription_year - migrated per Rule 53
description: |
UNESCO inscription date using CIDOC-CRM TimeSpan.
MIGRATED from unesco_inscription_year per slot_fixes.yaml (Rule 53).
Use begin_of_the_begin with year-only precision for inscription year.
range: TimeSpan
inlined: true
required: false
range: integer
examples:
- value: 2017
- value:
begin_of_the_begin: '2017-01-01'
description: Inscribed on UNESCO list in 2017
geographic_scope:
required: false
range: string
@ -233,11 +296,13 @@ classes:
range: string
examples:
- value: Community participation, annual festival organization, volunteer training
viability_status:
required: false
range: ICHViabilityStatusEnum
examples:
- value: THRIVING
# DEPRECATED: viability_status - migrated to has_or_had_status (2026-01-14, Rule 53)
# viability_status:
# required: false
# range: ICHViabilityStatusEnum
# examples:
# - value: THRIVING
# See has_or_had_status slot_usage above for migrated pattern
threat:
required: false
range: string
@ -293,8 +358,11 @@ classes:
heritage_form_name: Pride Amsterdam
heritage_form_description: "Annual LGBTQ+ celebration featuring the Canal Parade through Amsterdam's \nhistoric canals.\
\ First held in 1996, it represents Dutch values of \ntolerance, equality, and freedom.\n"
unesco_domain:
- SOCIAL_PRACTICES_RITUALS_FESTIVE_EVENTS
# unesco_domain - MIGRATED to is_or_was_categorized_as (2026-01-14, Rule 53)
is_or_was_categorized_as:
- UNESCODomain:
has_or_had_code: SOCIAL_PRACTICES_RITUALS_FESTIVE_EVENTS
domain_name: "Social practices, rituals and festive events"
kien_url: https://www.immaterieelerfgoed.nl/nl/pride-amsterdam
geographic_scope:
- Amsterdam
@ -304,7 +372,12 @@ classes:
safeguarded_by:
- hc_id: https://nde.nl/ontology/hc/custodian/nl/amsterdam-gay-pride
transmission_methods: Annual organization, volunteer networks, community participation
viability_status: THRIVING
# viability_status: THRIVING - MIGRATED to has_or_had_status (2026-01-14, Rule 53)
has_or_had_status:
- ViabilityStatus:
has_or_had_code: THRIVING
status_name: "Thriving"
assessment_date: "2024-12-01"
safeguarding_measure:
- Annual festival organization
- Community engagement

View file

@ -9,7 +9,7 @@ prefixes:
imports:
- linkml:types
- ../slots/type_id
- ../slots/type_label
- ../slots/has_or_had_label # was: type_label - migrated per Rule 53
- ../slots/type_description
classes:
@ -20,7 +20,7 @@ classes:
such as preservation, digitization, acquisitions, or infrastructure.
slots:
- type_id
- type_label
- has_or_had_label # was: type_label
- type_description
annotations:
specificity_score: "0.55"

View file

@ -10,7 +10,7 @@ prefixes:
imports:
- linkml:types
- ../slots/type_id
- ../slots/type_label
- ../slots/has_or_had_label # was: type_label - migrated per Rule 53
- ../slots/type_description
classes:
@ -25,7 +25,7 @@ classes:
and digital measurement units rather than physical measurement units.
slots:
- type_id
- type_label
- has_or_had_label # was: type_label
- type_description
close_mappings:
- schema:unitCode

View file

@ -8,7 +8,7 @@ prefixes:
imports:
- linkml:types
- ../slots/type_id
- ../slots/type_label
- ../slots/has_or_had_label # was: type_label - migrated per Rule 53
- ../slots/type_description
classes:
MetadataStandardType:
@ -16,5 +16,5 @@ classes:
abstract: true
slots:
- type_id
- type_label
- has_or_had_label # was: type_label
- type_description

View file

@ -16,7 +16,9 @@ imports:
- ../slots/heritage_relevant_percentage
- ../slots/specificity_annotation
- ../slots/template_specificity
- ../slots/total_connections_extracted
# REMOVED 2026-01-14: ../slots/total_connections_extracted - migrated to has_or_had_quantity with Quantity
- ../slots/has_or_had_quantity
- ./Quantity
default_prefix: hc
classes:
NetworkAnalysis:
@ -32,12 +34,27 @@ classes:
- heritage_relevant_percentage
- specificity_annotation
- template_specificity
- total_connections_extracted
# REMOVED 2026-01-14: total_connections_extracted - migrated to has_or_had_quantity with Quantity
- has_or_had_quantity
slot_usage:
total_connections_extracted:
range: integer
# REMOVED 2026-01-14: total_connections_extracted - migrated to has_or_had_quantity with Quantity
# total_connections_extracted:
# range: integer
# required: true
# minimum_value: 0
has_or_had_quantity:
range: Quantity
inlined: true
description: |
Total number of connections extracted from this network.
MIGRATED 2026-01-14: Replaces total_connections_extracted slot.
required: true
minimum_value: 0
examples:
- value: |
Quantity:
value: 776
unit: "connections"
description: Total connections extracted
heritage_relevant_count:
range: integer
required: true

View file

@ -357,12 +357,14 @@ classes:
latitude: 52.3676
longitude: 4.8913
geometry_type: POLYGON
valid_to_geo: '2025-06-01'
temporal_extent: # was: valid_to_geo
end_of_the_end: '2025-06-01'
- geospatial_id: https://nde.nl/ontology/hc/geo/amstel-campus-building-a
latitude: 52.3545
longitude: 4.9123
geometry_type: POLYGON
valid_from_geo: '2025-06-01'
temporal_extent: # was: valid_from_geo
begin_of_the_begin: '2025-06-01'
staff_impact: All 45 FTE relocating to new facility. No redundancies.
documentation_source: https://www.amsterdam.nl/nieuws/museum-verhuizing-2025
valid_from: '2025-06-01'

View file

@ -13,7 +13,7 @@ imports:
- ./Custodian
- ./OrganizationalUnitType
- ../slots/located_at
- ../slots/unit_name
- ../slots/has_or_had_label # was: unit_name - migrated per Rule 53
- ../slots/has_or_had_type
- ../slots/parent_unit
- ../slots/staff_count
@ -61,7 +61,7 @@ classes:
- staff_count
- has_or_had_staff_member
- template_specificity
- unit_name
- has_or_had_label # was: unit_name
- has_or_had_type
- temporal_extent # was: valid_from + valid_to - migrated per Rule 53
slot_usage:
@ -71,7 +71,7 @@ classes:
examples:
- value: https://nde.nl/ontology/hc/org-unit/na-digital-preservation
description: URI for National Archives Digital Preservation Dept
unit_name:
has_or_had_label: # was: unit_name
required: true
range: string
examples:

View file

@ -37,7 +37,7 @@ imports:
- ../slots/id
- ../slots/name
- ../slots/description
- ../slots/title
- ../slots/has_or_had_label # was: title - migrated per Rule 53
- ../slots/includes_or_included
- ../slots/valid_from
- ../slots/valid_to
@ -104,7 +104,7 @@ classes:
slots:
- id
- name
- title
- has_or_had_label # was: title
- description
- includes_or_included
- source_url
@ -123,7 +123,7 @@ classes:
range: string
description: >-
Short name for the overview collection.
title:
has_or_had_label: # was: title
range: string
description: >-
Descriptive title for the overview.

View file

@ -14,7 +14,9 @@ imports:
- ../slots/literal_name
- ../slots/given_name
- ../slots/base_surname
- ../slots/surname_prefix
# REMOVED 2026-01-14: ../slots/surname_prefix - migrated to has_or_had_label with Label
- ../slots/has_or_had_label
- ./Label
- ../slots/patronym
- ../slots/initial
- ../slots/name_specification
@ -76,7 +78,8 @@ classes:
- name_specification
- patronym
- specificity_annotation
- surname_prefix
# REMOVED 2026-01-14: surname_prefix - migrated to has_or_had_label with Label
- has_or_had_label
- template_specificity
slot_usage:
literal_name:
@ -86,8 +89,21 @@ classes:
range: string
base_surname:
range: string
surname_prefix:
range: string
# REMOVED 2026-01-14: surname_prefix - migrated to has_or_had_label with Label
# surname_prefix:
# range: string
has_or_had_label:
range: Label
inlined: true
description: |
Surname prefix (e.g., "van", "de", "van der" in Dutch names).
MIGRATED 2026-01-14: Replaces surname_prefix slot.
examples:
- value: |
Label:
label_value: "van der"
label_type: "surname_prefix"
description: Dutch surname prefix
patronym:
range: string
initial:

View file

@ -17,7 +17,7 @@ default_prefix: hc
imports:
- linkml:types
- ../slots/type_id
- ../slots/type_label
- ../slots/has_or_had_label # was: type_label - migrated per Rule 53
- ../slots/type_description
classes:
@ -36,7 +36,7 @@ classes:
slots:
- type_id
- type_label
- has_or_had_label # was: type_label
- type_description
exact_mappings:
@ -49,5 +49,5 @@ classes:
examples:
- value:
type_id: https://nde.nl/program-type/volunteer
type_label: ["Volunteer@en", "vrijwilliger@nl"]
has_or_had_label: # was: type_label ["Volunteer@en", "vrijwilliger@nl"]
description: Volunteer program type

View file

@ -13,7 +13,9 @@ imports:
- ../slots/reading_room_type
- ../slots/seating_capacity
- ../slots/has_computer_terminal
- ../slots/terminal_count
# REMOVED 2026-01-14: ../slots/terminal_count - migrated to has_or_had_quantity with Quantity
- ../slots/has_or_had_quantity
- ./Quantity
- ../slots/has_microfilm_reader
- ../slots/has_wifi
- ../slots/requires_registration
@ -91,7 +93,8 @@ classes:
- seating_capacity
- specificity_annotation
- template_specificity
- terminal_count
# REMOVED 2026-01-14: terminal_count - migrated to has_or_had_quantity
- has_or_had_quantity
- was_derived_from
- was_generated_by
slot_usage:
@ -138,11 +141,27 @@ classes:
examples:
- value: true
description: Has computer access
terminal_count:
range: integer
# REMOVED 2026-01-14: terminal_count - migrated to has_or_had_quantity
# terminal_count:
# range: integer
# examples:
# - value: 12
# description: 12 terminals available
has_or_had_quantity:
range: Quantity
required: false
inlined: true
description: |
Number of computer terminals available.
MIGRATED 2026-01-14: Replaces terminal_count slot.
examples:
- value: 12
description: 12 terminals available
- value:
quantity_value: 12
quantity_type: TERMINAL_COUNT
has_or_had_measurement_unit:
unit_type: TERMINAL
unit_symbol: "terminals"
description: 12 computer terminals available
has_microfilm_reader:
range: boolean
examples:

View file

@ -8,7 +8,7 @@ prefixes:
imports:
- linkml:types
- ../slots/type_id
- ../slots/type_label
- ../slots/has_or_had_label # was: type_label - migrated per Rule 53
- ../slots/type_description
classes:
ResponseFormatType:
@ -16,5 +16,5 @@ classes:
abstract: true
slots:
- type_id
- type_label
- has_or_had_label # was: type_label
- type_description

View file

@ -8,7 +8,7 @@ prefixes:
imports:
- linkml:types
- ../slots/type_id
- ../slots/type_label
- ../slots/has_or_had_label # was: type_label - migrated per Rule 53
- ../slots/type_description
classes:
ResponsibilityType:
@ -16,5 +16,5 @@ classes:
abstract: true
slots:
- type_id
- type_label
- has_or_had_label # was: type_label
- type_description

View file

@ -25,7 +25,7 @@ imports:
- linkml:types
- ../slots/type_description
- ../slots/type_id
- ../slots/type_label
- ../slots/has_or_had_label # was: type_label - migrated per Rule 53
- ../slots/wikidata_entity
- ../slots/specificity_annotation
- ../slots/template_specificity
@ -104,7 +104,7 @@ classes:
- template_specificity
- type_description
- type_id
- type_label
- has_or_had_label # was: type_label
- wikidata_entity
slot_usage:
@ -119,7 +119,7 @@ classes:
- value: https://nde.nl/ontology/hc/scope-type/spatial
description: Spatial scope type
type_label:
has_or_had_label: # was: type_label
range: string
required: true
multivalued: true
@ -158,7 +158,7 @@ classes:
examples:
- value:
type_id: https://nde.nl/ontology/hc/scope-type/temporal
type_label:
has_or_had_label: # was: type_label
- Temporal@en
- temporeel@nl
type_description: "Time-based scope dimension"

View file

@ -152,7 +152,8 @@ classes:
- geospatial_id: https://nde.nl/ontology/hc/geo/nha-boundary
geometry_type: MULTIPOLYGON
geometry_wkt: MULTIPOLYGON(((4.5 52.2, 5.0 52.2, 5.0 52.5, 4.5 52.5, 4.5 52.2)))
valid_from_geo: '2001-01-01'
temporal_extent: # was: valid_from_geo
begin_of_the_begin: '2001-01-01'
is_historical_boundary: false
served_by: https://nde.nl/ontology/hc/legal/noord-hollands-archief
description: Current service area for Noord-Hollands Archief
@ -167,8 +168,9 @@ classes:
- geospatial_id: https://nde.nl/ontology/hc/geo/vianen-1500
geometry_type: POLYGON
source_dataset: HALC
valid_from_geo: '1500-01-01'
valid_to_geo: '1795-01-01'
temporal_extent: # was: valid_from_geo + valid_to_geo
begin_of_the_begin: '1500-01-01'
end_of_the_end: '1795-01-01'
is_historical_boundary: true
temporal_extent:
begin_of_the_begin: '1500-01-01'

View file

@ -17,7 +17,7 @@ default_prefix: hc
imports:
- linkml:types
- ../slots/type_id
- ../slots/type_label
- ../slots/has_or_had_label # was: type_label - migrated per Rule 53
- ../slots/type_description
classes:
@ -36,7 +36,7 @@ classes:
slots:
- type_id
- type_label
- has_or_had_label # was: type_label
- type_description
exact_mappings:

View file

@ -23,7 +23,7 @@ imports:
- ../slots/tag
- ../slots/template_specificity
- ../slots/thumbnail_url
- ../slots/title
- ../slots/has_or_had_label # was: title - migrated per Rule 53
- ../slots/updated_at
- ./SpecificityAnnotation
- ./TemplateSpecificityScores
@ -89,7 +89,7 @@ classes:
- tag
- template_specificity
- thumbnail_url
- title
- has_or_had_label # was: title
- updated_at
slot_usage:
content_id:
@ -118,7 +118,7 @@ classes:
examples:
- value: https://nde.nl/ontology/hc/social-media/nationaal-onderduikmuseum-youtube
description: Museum's YouTube channel profile
title:
has_or_had_label: # was: title
range: string
required: false
examples:

View file

@ -12,7 +12,7 @@ imports:
- ../slots/has_or_had_api_endpoint
- ../slots/description
- ../slots/platform_type
- ../slots/title
- ../slots/has_or_had_label # was: title - migrated per Rule 53
- ../slots/has_api_version
- ../slots/content_category
- ../slots/is_official_content
@ -103,7 +103,7 @@ classes:
- tag
- template_specificity
- thumbnail_url
- title
- has_or_had_label # was: title
- updated_at
slot_usage:
post_id:
@ -146,7 +146,7 @@ classes:
examples:
- value: https://nde.nl/ontology/hc/social-media/nationaal-onderduikmuseum-youtube
description: Museum's YouTube channel profile
title:
has_or_had_label: # was: title
range: string
required: false
examples:

View file

@ -28,7 +28,9 @@ imports:
- ../slots/role_name_local
- ../slots/specificity_annotation
- ../slots/template_specificity
- ../slots/typical_responsibility
# REMOVED 2026-01-14: ../slots/typical_responsibility - migrated to has_or_had_responsibility with Responsibility
- ../slots/has_or_had_responsibility
- ./Responsibility
- ./SpecificityAnnotation
- ./TemplateSpecificityScores
- ../enums/RoleCategoryEnum
@ -166,7 +168,8 @@ classes:
- template_specificity
- temporal_extent
- typical_domain
- typical_responsibility
# REMOVED 2026-01-14: typical_responsibility - migrated to has_or_had_responsibility with Responsibility
- has_or_had_responsibility
slot_usage:
role_id:
identifier: true

View file

@ -43,7 +43,9 @@ imports:
- ../slots/temperature_min
- ../slots/temperature_target
- ../slots/template_specificity
- ../slots/uv_filtered_required
# REMOVED 2026-01-14: ../slots/uv_filtered_required - migrated to is_or_was_required with RequirementStatus
- ../slots/is_or_was_required
- ./RequirementStatus
- ./SpecificityAnnotation
- ./TemplateSpecificityScores
- ./Approver # Added for is_or_was_approved_by migration (2026-01-15)
@ -107,7 +109,8 @@ classes:
- temperature_target
- temperature_tolerance
- template_specificity
- uv_filtered_required
# REMOVED 2026-01-14: uv_filtered_required - migrated to is_or_was_required with RequirementStatus
- is_or_was_required
slot_usage:
policy_id:
range: uriorcurie
@ -186,10 +189,23 @@ classes:
examples:
- value: 50.0
description: 50 lux max for sensitive materials
uv_filtered_required:
range: boolean
# REMOVED 2026-01-14: uv_filtered_required - migrated to is_or_was_required with RequirementStatus
# uv_filtered_required:
# range: boolean
# examples:
# - value: true
is_or_was_required:
range: RequirementStatus
inlined: true
description: |
Whether UV-filtered lighting is required for this storage policy.
MIGRATED 2026-01-14: Replaces uv_filtered_required slot.
examples:
- value: true
- value: |
RequirementStatus:
is_required: true
requirement_type: "uv_filtered_lighting"
description: UV filtering required
has_air_changes_per_hour:
range: float
examples:
@ -284,7 +300,9 @@ classes:
humidity_target: 50.0
humidity_tolerance: 5.0
light_max_lux: 50.0
uv_filtered_required: true
is_or_was_required: # was: uv_filtered_required
is_required: true
requirement_type: uv_filtered_lighting
pest_management_required: true
fire_suppression_type: INERT_GAS
flood_protection_required: true
@ -312,7 +330,9 @@ classes:
humidity_target: 30.0
humidity_tolerance: 5.0
light_max_lux: 0.0
uv_filtered_required: true
is_or_was_required: # was: uv_filtered_required
is_required: true
requirement_type: uv_filtered_lighting
pest_management_required: true
fire_suppression_type: INERT_GAS
flood_protection_required: true

View file

@ -14,7 +14,7 @@ imports:
- linkml:types
- ./Storage
- ../enums/StorageUnitTypeEnum
- ../slots/unit_name
- ../slots/has_or_had_label # was: unit_name - migrated per Rule 53
- ../slots/unit_type
- ../slots/capacity_item
# REMOVED - migrated to has_or_had_identifier with range BayNumber (Rule 53)
@ -104,7 +104,7 @@ classes:
# REMOVED - migrated to has_or_had_identifier (2026-01-14, Rule 53)
# - unit_id
# - unit_identifier
- unit_name
- has_or_had_label # was: unit_name
- unit_type
- temporal_extent # was: valid_from + valid_to - migrated per Rule 53
slot_usage:
@ -122,7 +122,7 @@ classes:
# - value: BOX-2024-00145
# - value: FF-MAPS-042
# - value: RACK-TEXT-A12
unit_name:
has_or_had_label: # was: unit_name
range: string
examples:
- value: Archive Box 145 - WWII Correspondence

View file

@ -24,7 +24,9 @@ imports:
- ../slots/specificity_annotation
- ../slots/taste_scent_subtype
- ../slots/template_specificity
- ../slots/traditional_product
# REMOVED 2026-01-14: ../slots/traditional_product - migrated to has_or_had_type with TraditionalProductType
- ../slots/has_or_had_type
- ./TraditionalProductType
- ./SpecificityAnnotation
- ./TemplateSpecificityScores
prefixes:
@ -210,7 +212,8 @@ classes:
- specificity_annotation
- taste_scent_subtype
- template_specificity
- traditional_product
# REMOVED 2026-01-14: traditional_product - migrated to has_or_had_type with TraditionalProductType
- has_or_had_type
slot_usage:
heritage_practice:
range: string

View file

@ -0,0 +1,110 @@
# TaxonName - Scientific taxonomic name class
#
# Created per slot_fixes.yaml migration for: taxon_name
# Creation date: 2026-01-14
# Rule compliance: 0b (Type/Types pattern), 38 (slot centralization), 53 (full migration)
id: https://nde.nl/ontology/hc/class/TaxonName
name: TaxonName
title: Taxon Name
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
skos: http://www.w3.org/2004/02/skos/core#
dwc: http://rs.tdwg.org/dwc/terms/
default_prefix: hc
imports:
- linkml:types
- ../slots/has_or_had_label
- ../slots/has_or_had_code
classes:
TaxonName:
class_uri: dwc:Taxon
description: |
A scientific taxonomic name (Linnaean binomial or trinomial).
**PURPOSE**:
Structured representation of scientific names following taxonomic nomenclature
standards (ICZN for animals, ICN for plants/fungi/algae).
**FORMAT**:
- Binomial: "Genus species (Author, Year)"
- Trinomial: "Genus species subspecies Author, Year"
- With authority: "Raphus cucullatus (Linnaeus, 1758)"
- Without authority: "Panthera leo"
**DARWIN CORE ALIGNMENT**:
- Aligns with dwc:scientificName
- Supports dwc:scientificNameAuthorship
**MIGRATION NOTE**:
Created to replace string-based taxon_name slot per slot_fixes.yaml (Rule 53).
exact_mappings:
- dwc:Taxon
close_mappings:
- skos:Concept
slots:
- has_or_had_label
- has_or_had_code
attributes:
scientific_name:
description: |
Full scientific name including author citation.
Format: "Genus species (Author, Year)"
range: string
required: true
slot_uri: dwc:scientificName
examples:
- value: "Raphus cucullatus (Linnaeus, 1758)"
description: Dodo with nomenclatural authority
- value: "Panthera leo"
description: Lion (authority omitted)
authorship:
description: |
The authorship information for this scientific name.
Parentheses indicate original genus differs from current placement.
range: string
required: false
slot_uri: dwc:scientificNameAuthorship
examples:
- value: "Linnaeus, 1758"
- value: "(Gray, 1821)"
description: Parentheses indicate genus changed
taxonomic_rank:
description: |
Taxonomic rank of this name (SPECIES, GENUS, FAMILY, etc.).
range: string
required: false
slot_uri: dwc:taxonRank
examples:
- value: SPECIES
- value: SUBSPECIES
- value: GENUS
annotations:
specificity_score: "0.70"
specificity_rationale: "Specific to natural history collections - taxonomic nomenclature."
custodian_types: '["B", "M", "R"]'
custodian_types_rationale: "Botanical gardens, Museums (natural history), Research centers"
examples:
- value:
scientific_name: "Raphus cucullatus (Linnaeus, 1758)"
authorship: "Linnaeus, 1758"
taxonomic_rank: "SPECIES"
description: Dodo scientific name with full authority
- value:
scientific_name: "Quercus robur L."
authorship: "L."
taxonomic_rank: "SPECIES"
description: English Oak with abbreviated author

View file

@ -8,7 +8,7 @@ prefixes:
imports:
- linkml:types
- ../slots/type_id
- ../slots/type_label
- ../slots/has_or_had_label # was: type_label - migrated per Rule 53
- ../slots/type_description
classes:
TechnicalFeatureType:
@ -16,5 +16,5 @@ classes:
abstract: true
slots:
- type_id
- type_label
- has_or_had_label # was: type_label
- type_description

View file

@ -17,7 +17,7 @@ default_prefix: hc
imports:
- linkml:types
- ../slots/type_id
- ../slots/type_label
- ../slots/has_or_had_label # was: type_label - migrated per Rule 53
- ../slots/type_description
classes:
@ -35,7 +35,7 @@ classes:
slots:
- type_id
- type_label
- has_or_had_label # was: type_label
- type_description
exact_mappings:

View file

@ -8,7 +8,7 @@ prefixes:
imports:
- linkml:types
- ../slots/type_id
- ../slots/type_label
- ../slots/has_or_had_label # was: type_label - migrated per Rule 53
- ../slots/type_description
classes:
TraditionalProductType:
@ -17,5 +17,5 @@ classes:
description: Type of traditional product
slots:
- type_id
- type_label
- has_or_had_label # was: type_label
- type_description

View file

@ -8,7 +8,7 @@ prefixes:
imports:
- linkml:types
- ../slots/type_id
- ../slots/type_label
- ../slots/has_or_had_label # was: type_label - migrated per Rule 53
- ../slots/type_description
classes:
UNESCODomainType:
@ -16,5 +16,5 @@ classes:
abstract: true
slots:
- type_id
- type_label
- has_or_had_label # was: type_label
- type_description

View file

@ -17,7 +17,7 @@ default_prefix: hc
imports:
- linkml:types
- ../slots/type_id
- ../slots/type_label
- ../slots/has_or_had_label # was: type_label - migrated per Rule 53
- ../slots/type_description
classes:
@ -36,7 +36,7 @@ classes:
slots:
- type_id
- type_label
- has_or_had_label # was: type_label
- type_description
exact_mappings:

View file

@ -8,7 +8,7 @@ prefixes:
imports:
- linkml:types
- ../slots/type_id
- ../slots/type_label
- ../slots/has_or_had_label # was: type_label - migrated per Rule 53
- ../slots/type_description
classes:
VenueType:
@ -16,5 +16,5 @@ classes:
abstract: true
slots:
- type_id
- type_label
- has_or_had_label # was: type_label
- type_description

View file

@ -56,11 +56,11 @@ imports:
- ../slots/specificity_annotation
- ../slots/template_specificity
- ../slots/text_languages_detected
- ../slots/text_region_count
# REMOVED 2026-01-14: ../slots/text_region_count - migrated to has_or_had_quantity with Quantity
- ../slots/has_or_had_text_region
- ../slots/has_or_had_text_segment
- ../slots/text_types_detected
- ../slots/total_characters_extracted
# REMOVED 2026-01-14: ../slots/total_characters_extracted - migrated to has_or_had_quantity with Quantity
# Removed: ../slots/tracking_ids_assigned - MIGRATED to has_or_had_quantity (2026-01-14)
- ../slots/transition_types_detected
- ./SpecificityAnnotation
@ -500,15 +500,16 @@ classes:
slots:
- full_extracted_text
- handwriting_confidence
- has_or_had_quantity # ADDED 2026-01-14: replaces text_region_count and total_characters_extracted
- includes_handwriting
- specificity_annotation
- template_specificity
- text_languages_detected
- text_region_count
# REMOVED 2026-01-14: text_region_count - migrated to has_or_had_quantity
- has_or_had_text_region
- has_or_had_text_segment
- text_types_detected
- total_characters_extracted
# REMOVED 2026-01-14: total_characters_extracted - migrated to has_or_had_quantity
slot_usage:
has_or_had_text_segment:
range: VideoTimeSegment
@ -538,19 +539,31 @@ classes:
examples:
- value: '[nl, en, la]'
description: Dutch, English, and Latin text detected
text_region_count:
range: integer
# REMOVED 2026-01-14: text_region_count - migrated to has_or_had_quantity
# REMOVED 2026-01-14: total_characters_extracted - migrated to has_or_had_quantity
has_or_had_quantity:
range: Quantity
multivalued: true
required: false
minimum_value: 0
inlined_as_list: true
description: |
Quantitative measurements for OCR annotation.
MIGRATED 2026-01-14: Replaces text_region_count and total_characters_extracted slots.
Use quantity_type to distinguish: REGION_COUNT or CHARACTER_COUNT.
examples:
- value: 28
- value:
quantity_value: 28
quantity_type: REGION_COUNT
has_or_had_measurement_unit:
unit_type: TEXT_REGION
unit_symbol: "regions"
description: 28 text regions detected
total_characters_extracted:
range: integer
required: false
minimum_value: 0
examples:
- value: 3456
- value:
quantity_value: 3456
quantity_type: CHARACTER_COUNT
has_or_had_measurement_unit:
unit_type: CHARACTER
unit_symbol: "characters"
description: 3,456 characters extracted
includes_handwriting:
range: boolean

View file

@ -14,7 +14,9 @@ imports:
- ../slots/has_or_had_identifier
- ./VideoIdentifier
- ../slots/has_or_had_chapter
- ../slots/total_chapter
# REMOVED 2026-01-14: ../slots/total_chapter - migrated to has_or_had_quantity with Quantity
- ../slots/has_or_had_quantity
- ./Quantity
- ../slots/chapters_source
- ../slots/chapters_generated_at
- ../slots/covers_full_video
@ -49,9 +51,10 @@ classes:
- chapters_generated_at
- chapters_source
- covers_full_video
- has_or_had_quantity # ADDED 2026-01-14: replaces total_chapter
- specificity_annotation
- template_specificity
- total_chapter
# REMOVED 2026-01-14: total_chapter - migrated to has_or_had_quantity
# REMOVED - migrated to has_or_had_identifier (2026-01-14, Rule 53)
# - video_id
- has_or_had_identifier
@ -73,10 +76,26 @@ classes:
multivalued: true
required: true
inlined_as_list: true
total_chapter:
range: integer
# REMOVED 2026-01-14: total_chapter - migrated to has_or_had_quantity
# total_chapter:
# range: integer
# required: false
# minimum_value: 0
has_or_had_quantity:
range: Quantity
required: false
minimum_value: 0
inlined: true
description: |
Total number of chapters in this list.
MIGRATED 2026-01-14: Replaces total_chapter slot.
examples:
- value:
quantity_value: 12
quantity_type: CHAPTER_COUNT
has_or_had_measurement_unit:
unit_type: CHAPTER
unit_symbol: "chapters"
description: 12 chapters in this video
chapters_source:
range: ChapterSourceEnum
required: false

View file

@ -20,7 +20,7 @@ imports:
- ../slots/template_specificity
- ../slots/has_or_had_identifier # MIGRATED: was ../slots/track_id (2026-01-14)
- ./TrackIdentifier # Added for has_or_had_identifier migration
- ../slots/track_name
- ../slots/has_or_had_label # was: track_name - migrated per Rule 53
- ./SpecificityAnnotation
- ./TemplateSpecificityScores
- ./AutoGeneration # Added for is_or_was_created_through migration (2026-01-15)
@ -242,7 +242,7 @@ classes:
- subtitle_format
- template_specificity
- has_or_had_identifier # MIGRATED: was track_id (2026-01-14)
- track_name
- has_or_had_label # was: track_name
slot_usage:
has_or_had_segment:
required: true
@ -312,7 +312,7 @@ classes:
examples:
- value: true
description: YouTube auto-generated caption
track_name:
has_or_had_label: # was: track_name
range: string
required: false
examples:

View file

@ -19,7 +19,9 @@ imports:
- ../slots/source_video_url
- ../slots/specificity_annotation
- ../slots/template_specificity
- ../slots/verification_date
- ../slots/temporal_extent # was: verification_date - migrated per Rule 53
- ./TimeSpan
# REMOVED 2026-01-14: verification_date - migrated to temporal_extent (Rule 53)
# REMOVED: ../slots/verified_by - migrated to is_or_was_verified_by with Verifier (2026-01-14, Rule 53)
- ../slots/is_or_was_verified_by
- ./Verifier
@ -88,7 +90,7 @@ classes:
- source_video_url
- specificity_annotation
- template_specificity
- verification_date
- temporal_extent # was: verification_date - migrated per Rule 53
# REMOVED: verified_by - migrated to is_or_was_verified_by with Verifier (2026-01-14, Rule 53)
- is_or_was_verified_by
# REMOVED: word_count - migrated to has_or_had_quantity with WordCount (2026-01-14, Rule 53)
@ -196,11 +198,24 @@ classes:
verifier_name: curator@rijksmuseum.nl
verifier_type: PERSON
description: Staff member who verified
verification_date:
range: datetime
# DEPRECATED: verification_date - migrated to temporal_extent with TimeSpan (2026-01-14, Rule 53)
# verification_date:
# range: datetime
# required: false
# examples:
# - value: '2025-12-02T15:00:00Z'
# description: Verified December 2, 2025
temporal_extent: # was: verification_date - migrated per Rule 53
description: |
Verification date using CIDOC-CRM TimeSpan.
MIGRATED from verification_date per slot_fixes.yaml (Rule 53).
Use begin_of_the_begin for the verification timestamp.
range: TimeSpan
inlined: true
required: false
examples:
- value: '2025-12-02T15:00:00Z'
- value:
begin_of_the_begin: '2025-12-02T15:00:00Z'
description: Verified December 2, 2025
processing_duration_seconds:
range: float

View file

@ -16,7 +16,9 @@ imports:
- ../slots/speaker_count
- ../slots/specificity_annotation
- ../slots/template_specificity
- ../slots/transcript_format
# REMOVED 2026-01-14: ../slots/transcript_format - migrated to has_or_had_format with TranscriptFormat
- ../slots/has_or_had_format
- ./TranscriptFormat
- ./SpecificityAnnotation
- ./TemplateSpecificityScores
- ../enums/TranscriptFormatEnum
@ -80,7 +82,8 @@ classes:
- speaker_count
- specificity_annotation
- template_specificity
- transcript_format
# REMOVED 2026-01-14: transcript_format - migrated to has_or_had_format with TranscriptFormat
- has_or_had_format
slot_usage:
full_text:
range: string
@ -102,10 +105,18 @@ classes:
'
description: Transcript with speaker labels
transcript_format:
range: TranscriptFormatEnum
# REMOVED 2026-01-14: transcript_format - migrated to has_or_had_format with TranscriptFormat
# transcript_format:
# range: TranscriptFormatEnum
# required: false
# ifabsent: string(PLAIN_TEXT)
# examples:
# - value: STRUCTURED
# description: Text with speaker labels and paragraph breaks
has_or_had_format:
range: TranscriptFormat
required: false
ifabsent: string(PLAIN_TEXT)
description: The format of the transcript (plain text, structured, timestamped, etc.)
examples:
- value: STRUCTURED
description: Text with speaker labels and paragraph breaks

View file

@ -37,7 +37,7 @@ imports:
- ../slots/id
- ../slots/description
- ../slots/url
- ../slots/title
- ../slots/has_or_had_label # was: title - migrated per Rule 53
- ../slots/link_text
- ../slots/link_type
- ../slots/link_context
@ -94,7 +94,7 @@ classes:
- id
- url
- link_text
- title
- has_or_had_label # was: title
- description
- link_type
- link_context
@ -117,7 +117,7 @@ classes:
range: string
description: >-
The visible text of the hyperlink.
title:
has_or_had_label: # was: title
range: string
description: >-
Title attribute of the link (if available).

View file

@ -25,7 +25,9 @@ imports:
- ../slots/job_title
- ../slots/specificity_annotation
- ../slots/template_specificity
- ../slots/work_location
# REMOVED 2026-01-14: ../slots/work_location - migrated to has_or_had_location with Location
- ../slots/has_or_had_location
- ./Location
- ./SpecificityAnnotation
- ./TemplateSpecificityScores
default_range: string
@ -85,7 +87,8 @@ classes:
- job_title
- specificity_annotation
- template_specificity
- work_location
# REMOVED 2026-01-14: work_location - migrated to has_or_had_location with Location
- has_or_had_location
slot_usage:
job_title:
range: string
@ -137,12 +140,31 @@ classes:
examples:
- value: true
description: Currently employed at this position
work_location:
range: string
# REMOVED 2026-01-14: work_location - migrated to has_or_had_location with Location
# work_location:
# range: string
# examples:
# - value: Utrecht, Netherlands
# description: City and country
# - value: Amsterdam, Noord-Holland, Netherlands
# description: City, region, country
has_or_had_location:
range: Location
inlined: true
description: |
Location of the work experience.
MIGRATED 2026-01-14: Replaces work_location slot.
examples:
- value: Utrecht, Netherlands
- value: |
Location:
city: "Utrecht"
country: "Netherlands"
description: City and country
- value: Amsterdam, Noord-Holland, Netherlands
- value: |
Location:
city: "Amsterdam"
region: "Noord-Holland"
country: "Netherlands"
description: City, region, country
job_description:
range: string

View file

@ -1521,12 +1521,24 @@ fixes:
type: slot
- label: Quantity
type: class
processed:
status: true
timestamp: '2026-01-14T22:00:00Z'
session: session-2026-01-14-quantity-location-migrations
notes: 'FULLY MIGRATED: EducationCenter - workshop_space REMOVED. Using has_or_had_quantity
with Quantity. Slot archived.'
- original_slot_id: https://nde.nl/ontology/hc/slot/work_location
revision:
- label: has_or_had_location
type: slot
- label: Location
type: class
processed:
status: true
timestamp: '2026-01-14T22:05:00Z'
session: session-2026-01-14-quantity-location-migrations
notes: 'FULLY MIGRATED: WorkExperience - work_location REMOVED. Using has_or_had_location
with Location. Slot archived.'
- original_slot_id: https://nde.nl/ontology/hc/slot/word_count
revision:
- label: has_or_had_quantity
@ -1545,12 +1557,24 @@ fixes:
type: slot
- label: Place
type: class
processed:
status: true
timestamp: '2026-01-14T22:10:00Z'
session: session-2026-01-14-quantity-location-migrations
notes: UNUSED SLOT - No class imports detected. Archived directly. Target was
is_or_was_located_within with Place.
- original_slot_id: https://nde.nl/ontology/hc/slot/within_auxiliary_place
revision:
- label: is_or_was_located_within
type: slot
- label: Place
type: class
processed:
status: true
timestamp: '2026-01-14T22:10:00Z'
session: session-2026-01-14-quantity-location-migrations
notes: UNUSED SLOT - No class imports detected. Archived directly. Target was
is_or_was_located_within with Place.
- original_slot_id: https://nde.nl/ontology/hc/slot/wikidata_mapping_rationale
revision:
- label: has_or_had_rationale
@ -2009,6 +2033,12 @@ fixes:
type: slot
- label: ViabilityStatus
type: class
processed:
status: true
timestamp: '2026-01-14T23:52:38Z'
session: session-2026-01-14-status-label-migration
notes: 'FULLY MIGRATED: IntangibleHeritageForm - viability_status replaced with
has_or_had_status using ViabilityStatus class.'
- original_slot_id: https://nde.nl/ontology/hc/slot/version_number
revision:
- label: has_or_had_version
@ -2039,6 +2069,11 @@ fixes:
- label: VerificationStatus
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/verification_date
processed:
status: true
date: '2026-01-14'
notes: 'FULLY MIGRATED: VideoTextContent.yaml - verification_date REMOVED. Using
temporal_extent with TimeSpan. Archived to archive/verification_date_archived_20260114.yaml.'
revision:
- label: temporal_extent
type: slot
@ -2086,7 +2121,18 @@ fixes:
type: slot
- label: Label
type: class
processed:
status: true
timestamp: '2026-01-14T22:20:00Z'
session: session-2026-01-14-quantity-location-migrations
notes: 'FULLY MIGRATED: CustodianAppellation - variant_of_name REMOVED. Using
is_or_was_alternative_form_of with Label. Slot archived.'
- original_slot_id: https://nde.nl/ontology/hc/slot/validity_period
processed:
status: true
date: '2026-01-14'
notes: 'ALREADY MIGRATED: validity_period slot already uses range: TimeSpan. FundingAgenda.yaml
uses it correctly with TimeSpan structure. No changes needed.'
revision:
- label: temporal_extent
type: slot
@ -2098,7 +2144,18 @@ fixes:
type: slot
- label: ValidationStatus
type: class
processed:
status: true
timestamp: '2026-01-14T23:15:00Z'
session: session-2026-01-14-status-migration
notes: 'FULLY MIGRATED: FindingAidProvenance in FindingAid.yaml - validation_status
replaced with has_or_had_status using ValidationStatus class.'
- original_slot_id: https://nde.nl/ontology/hc/slot/valid_to_geo
processed:
status: true
date: '2026-01-14'
notes: 'FULLY MIGRATED: GeoSpatialPlace.yaml + examples in ServiceArea.yaml and
OrganizationalChangeEvent.yaml. Archived to archive/valid_to_geo_archived_20260114.yaml.'
revision:
- label: temporal_extent
type: slot
@ -2123,6 +2180,11 @@ fixes:
- label: Timestamp
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/valid_from_geo
processed:
status: true
date: '2026-01-14'
notes: 'FULLY MIGRATED: GeoSpatialPlace.yaml + examples in ServiceArea.yaml and
OrganizationalChangeEvent.yaml. Archived to archive/valid_from_geo_archived_20260114.yaml.'
revision:
- label: temporal_extent
type: slot
@ -2162,6 +2224,12 @@ fixes:
type: class
value:
- UV Filtered lighting
processed:
status: true
timestamp: '2026-01-14T23:05:00Z'
session: session-2026-01-14-quantity-location-migrations
notes: 'FULLY MIGRATED: StorageConditionPolicy - uv_filtered_required REMOVED.
Using is_or_was_required with RequirementStatus. Slot archived.'
- original_slot_id: https://nde.nl/ontology/hc/slot/user_community
revision:
- label: serves_or_served
@ -2182,6 +2250,12 @@ fixes:
type: slot
- label: Custodian
type: class
processed:
status: true
timestamp: '2026-01-14T22:25:00Z'
session: session-2026-01-14-quantity-location-migrations
notes: 'FULLY MIGRATED: CollectionManagementSystem - used_by_custodian REMOVED.
Using is_or_was_used_by with Custodian. Slot archived.'
- original_slot_id: https://nde.nl/ontology/hc/slot/used_by
revision:
- label: provides_or_provided_provenance_to
@ -2278,6 +2352,12 @@ fixes:
'
- original_slot_id: https://nde.nl/ontology/hc/slot/unit_name
processed:
status: true
timestamp: '2026-01-14T22:00:00Z'
session: session-2026-01-14-label-migration
notes: 'FULLY MIGRATED: unit_name replaced with has_or_had_label in OrganizationalStructure.yaml,
StorageUnit.yaml. Archived to archive/unit_name_archived_20260114.yaml.'
revision:
- label: has_or_had_label
type: slot
@ -2381,6 +2461,12 @@ fixes:
(VideoObjectAnnotation class). Shares Methodology infrastructure with unique_object_count
migration. Archived: modules/slots/archive/unique_face_count_archived_20260114.yaml'
- original_slot_id: https://nde.nl/ontology/hc/slot/uniform_title
processed:
status: true
timestamp: '2026-01-14T22:00:00Z'
session: session-2026-01-14-label-migration
notes: 'FULLY MIGRATED: uniform_title replaced with has_or_had_label in InformationCarrier.yaml.
Archived to archive/uniform_title_archived_20260114.yaml.'
revision:
- label: has_or_had_label
type: slot
@ -2400,7 +2486,19 @@ fixes:
type: slot
- label: UNESCOListStatus
type: class
processed:
status: true
timestamp: '2026-01-14T23:52:38Z'
session: session-2026-01-14-status-label-migration
notes: 'FULLY MIGRATED: IntangibleHeritageForm - unesco_list_status replaced with
has_or_had_status using UNESCOListStatus class.'
- original_slot_id: https://nde.nl/ontology/hc/slot/unesco_inscription_year
processed:
status: true
date: '2026-01-14'
notes: 'FULLY MIGRATED: IntangibleHeritageForm.yaml - unesco_inscription_year
REMOVED. Using temporal_extent with TimeSpan.begin_of_the_begin for year. Archived
to archive/unesco_inscription_year_archived_20260114.yaml.'
revision:
- label: temporal_extent
type: slot
@ -2424,6 +2522,12 @@ fixes:
type: slot
- label: UNESCODomainTypes
type: class
processed:
status: true
timestamp: '2026-01-14T10:05:00Z'
session: session-2026-01-14-migrations
notes: 'FULLY MIGRATED: IntangibleHeritageForm - unesco_domain REMOVED. Using
is_or_was_categorized_as with UNESCODomain. Slot archived.'
- original_slot_id: https://nde.nl/ontology/hc/slot/typical_technical_feature
revision:
- label: has_or_had_feature
@ -2466,6 +2570,12 @@ fixes:
type: slot
- label: ResponsibilityTypes
type: class
processed:
status: true
timestamp: '2026-01-14T10:10:00Z'
session: session-2026-01-14-migrations
notes: 'FULLY MIGRATED: StaffRole - typical_responsibility REMOVED. Using has_or_had_responsibility
with Responsibility. Slot archived.'
- original_slot_id: https://nde.nl/ontology/hc/slot/typical_response_formats
revision:
- label: has_or_had_format
@ -2591,6 +2701,12 @@ fixes:
type: slot
- label: TypeStatus
type: class
processed:
status: true
timestamp: '2026-01-14T23:10:00Z'
session: session-2026-01-14-quantity-location-migrations
notes: 'FULLY MIGRATED: BiologicalObject - type_status REMOVED. Using has_or_had_status
with TypeStatus. Slot archived.'
- original_slot_id: https://nde.nl/ontology/hc/slot/type_scope
revision:
- label: has_or_had_scope
@ -2606,6 +2722,12 @@ fixes:
- label: ScopeTypes
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/type_label
processed:
status: true
timestamp: '2026-01-14T22:00:00Z'
session: session-2026-01-14-label-migration
notes: 'FULLY MIGRATED: type_label replaced with has_or_had_label in 21 Type classes
(ActivityType, CustodianType, etc.). Archived to archive/type_label_archived_20260114.yaml.'
revision:
- label: has_or_had_label
type: slot
@ -2671,6 +2793,12 @@ fixes:
type: slot
- label: VenueTypes
type: class
processed:
status: true
timestamp: '2026-01-14T10:15:00Z'
session: session-2026-01-14-migrations
notes: 'FULLY MIGRATED: Exhibition - traveling_venue REMOVED. Using has_or_had_venue
with Venue. Slot archived.'
- original_slot_id: https://nde.nl/ontology/hc/slot/transition_types_detected
revision:
- label: has_or_had_type
@ -2735,6 +2863,12 @@ fixes:
type: slot
- label: TranscriptFormat
type: class
processed:
status: true
timestamp: '2026-01-14T10:00:00Z'
session: session-2026-01-14-migrations
notes: 'FULLY MIGRATED: VideoTranscript - transcript_format REMOVED. Using has_or_had_format
with TranscriptFormat. Slot archived.'
- original_slot_id: https://nde.nl/ontology/hc/slot/traditional_product
revision:
- label: has_or_had_type
@ -2763,6 +2897,12 @@ fixes:
- label: Quantity
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/track_name
processed:
status: true
timestamp: '2026-01-14T22:00:00Z'
session: session-2026-01-14-label-migration
notes: 'FULLY MIGRATED: track_name replaced with has_or_had_label in VideoSubtitle.yaml.
Archived to archive/track_name_archived_20260114.yaml.'
revision:
- label: has_or_had_label
type: slot
@ -2941,6 +3081,12 @@ fixes:
type: class
value:
- connection
processed:
status: true
timestamp: '2026-01-14T22:50:00Z'
session: session-2026-01-14-quantity-location-migrations
notes: 'FULLY MIGRATED: NetworkAnalysis - total_connections_extracted REMOVED.
Using has_or_had_quantity with Quantity. Slot archived.'
- original_slot_id: https://nde.nl/ontology/hc/slot/total_characters_extracted
revision:
- label: has_or_had_quantity
@ -2953,6 +3099,12 @@ fixes:
type: class
value:
- character
processed:
status: true
timestamp: '2026-01-14T22:55:00Z'
session: session-2026-01-14-quantity-location-migrations
notes: 'ALREADY MIGRATED: VideoAnnotationTypes already has has_or_had_quantity.
Slot archived.'
- original_slot_id: https://nde.nl/ontology/hc/slot/total_chapter
revision:
- label: has_or_had_quantity
@ -2965,6 +3117,12 @@ fixes:
type: class
value:
- chapter
processed:
status: true
timestamp: '2026-01-14T22:55:00Z'
session: session-2026-01-14-quantity-location-migrations
notes: 'FULLY MIGRATED: VideoChapterList - total_chapter REMOVED. Using has_or_had_quantity
with Quantity. Slot archived.'
- original_slot_id: https://nde.nl/ontology/hc/slot/total_budget_amount
revision:
- label: has_or_had_budget
@ -3121,6 +3279,12 @@ fixes:
type: slot
- label: Provenance
type: class
processed:
status: true
timestamp: '2026-01-14T22:35:00Z'
session: session-2026-01-14-quantity-location-migrations
notes: 'ALREADY MIGRATED: InformationCarrier - title_proper already migrated to
has_or_had_label with Label. Marking complete.'
- original_slot_id: https://nde.nl/ontology/hc/slot/title_nl
revision:
- label: has_or_had_label
@ -3135,6 +3299,12 @@ fixes:
type: slot
- label: ISO639-3Identifier
type: class
processed:
status: true
timestamp: '2026-01-14T23:15:00Z'
session: session-2026-01-14-label-migration
notes: 'FULLY MIGRATED: FindingAid.yaml SubGuideReference and RelatedGuideReference
classes - title_nl replaced with has_or_had_label using Label class with language_code.'
- original_slot_id: https://nde.nl/ontology/hc/slot/title_en
revision:
- label: has_or_had_label
@ -3149,6 +3319,12 @@ fixes:
type: slot
- label: ISO639-3Identifier
type: class
processed:
status: true
timestamp: '2026-01-14T23:15:00Z'
session: session-2026-01-14-label-migration
notes: 'FULLY MIGRATED: FindingAid.yaml SubGuideReference and RelatedGuideReference
classes - title_en replaced with has_or_had_label using Label class with language_code.'
- original_slot_id: https://nde.nl/ontology/hc/slot/title
revision:
- label: has_or_had_label
@ -3163,6 +3339,13 @@ fixes:
type: slot
- label: TitleTypes
type: class
processed:
status: true
timestamp: '2026-01-14T22:30:00Z'
session: session-2026-01-14-label-migration
notes: 'FULLY MIGRATED: title replaced with has_or_had_label in 6 classes (SocialMediaPost,
SocialMediaContent, FindingAid, InformationCarrier, Overview, WebLink). Original
slot archived to archive/title_archived_20260114.yaml.'
- original_slot_id: https://nde.nl/ontology/hc/slot/timestamp_value
revision:
- label: has_or_had_timestamp
@ -3265,6 +3448,12 @@ fixes:
type: class
value:
- text_region
processed:
status: true
timestamp: '2026-01-14T22:55:00Z'
session: session-2026-01-14-quantity-location-migrations
notes: 'ALREADY MIGRATED: VideoAnnotationTypes already has has_or_had_quantity.
Slot archived.'
- original_slot_id: https://nde.nl/ontology/hc/slot/text_languages_detected
revision:
- label: has_or_had_text
@ -3315,6 +3504,12 @@ fixes:
type: class
value:
- terminal
processed:
status: true
timestamp: '2026-01-14T23:00:00Z'
session: session-2026-01-14-quantity-migration
notes: 'FULLY MIGRATED: ReadingRoom - terminal_count REMOVED. Using has_or_had_quantity
with Quantity. Slot archived to archive/terminal_count_archived_20260114.yaml.'
- original_slot_id: https://nde.nl/ontology/hc/slot/temporal_coverage
revision:
- label: has_or_had_content
@ -3515,6 +3710,12 @@ fixes:
type: slot
- label: TaxonName
type: class
processed:
status: true
timestamp: '2026-01-14T23:52:38Z'
session: session-2026-01-14-status-label-migration
notes: 'FULLY MIGRATED: BiologicalObject - taxon_name replaced with has_or_had_label
using TaxonName class.'
- original_slot_id: https://nde.nl/ontology/hc/slot/tax_scheme
revision:
- label: regulated_by_scheme
@ -3533,7 +3734,7 @@ fixes:
revision:
- label: allows_or_allowed
type: slot
- label: Donation
- label: Donation
type: class
- label: has_or_had_type
type: slot
@ -3609,6 +3810,12 @@ fixes:
type: slot
- label: Label
type: class
processed:
status: true
timestamp: '2026-01-14T22:45:00Z'
session: session-2026-01-14-quantity-location-migrations
notes: 'FULLY MIGRATED: ConnectionSourceMetadata - target_name REMOVED. Using
has_or_had_label with Label. Slot archived.'
- original_slot_id: https://nde.nl/ontology/hc/slot/target_material
revision:
- label: stores_or_stored
@ -3667,6 +3874,12 @@ fixes:
type: slot
- label: SurnamePrefix
type: class
processed:
status: true
timestamp: '2026-01-14T22:35:00Z'
session: session-2026-01-14-quantity-location-migrations
notes: 'FULLY MIGRATED: PersonName - surname_prefix REMOVED. Using has_or_had_label
with Label. Slot archived.'
- original_slot_id: https://nde.nl/ontology/hc/slot/supranational_code
revision:
- label: has_or_had_code
@ -3688,4 +3901,4 @@ fixes:
- label: supports_or_supported_format
type: slot
- label: Format
type: class
type: class

View file

@ -626,8 +626,8 @@ def main():
parser.add_argument(
"--data-dir",
type=Path,
default=PROJECT_ROOT / "data" / "custodian" / "person" / "entity",
help="Directory containing person JSON files"
default=PROJECT_ROOT / "data" / "person",
help="Directory containing person JSON files (default: data/person/ with 330K+ PPID profiles)"
)
parser.add_argument(
"--host",