Extends migration to all class types (museums, libraries, galleries, etc.) New slots added to class_metadata_slots.yaml: - RiC-O: rico_record_set_type, rico_organizational_principle, rico_has_or_had_holder, rico_note - Multilingual: label_de, label_es, label_fr, label_nl, label_it, label_pt - Scope: scope_includes, scope_excludes, custodian_only, organizational_level, geographic_restriction - Notes: privacy_note, preservation_note, legal_note Migration script now handles 30+ annotation types. All migrated schemas pass linkml-validate. Total: 387 class files now use proper slots instead of annotations.
165 lines
6.9 KiB
YAML
165 lines
6.9 KiB
YAML
id: https://nde.nl/ontology/hc/class/CustodianIdentifier
|
|
name: custodian_identifier_class
|
|
title: Custodian Identifier Class
|
|
prefixes:
|
|
linkml: https://w3id.org/linkml/
|
|
crm: http://www.cidoc-crm.org/cidoc-crm/
|
|
schema: http://schema.org/
|
|
skos: http://www.w3.org/2004/02/skos/core#
|
|
dcterms: http://purl.org/dc/terms/
|
|
adms: http://www.w3.org/ns/adms#
|
|
prov: http://www.w3.org/ns/prov#
|
|
imports:
|
|
- linkml:types
|
|
- ../metadata
|
|
- ../slots/identifier_scheme
|
|
- ../slots/identifier_value
|
|
- ../slots/identifies_custodian
|
|
- ../slots/defined_by_standard
|
|
- ../slots/allocated_by
|
|
- ../slots/identifier_format_used
|
|
- ../slots/canonical_value
|
|
- ../slots/also_identifies_name
|
|
- ../slots/allocation_date
|
|
- ../slots/class_metadata_slots
|
|
classes:
|
|
CustodianIdentifier:
|
|
class_uri: crm:E42_Identifier
|
|
description: "An external identifier assigned to a heritage custodian entity by\
|
|
\ an authority.\nConnected to the Custodian hub via inverse property crm:P48i_is_preferred_identifier_of\n\
|
|
(the Custodian has this Identifier as a preferred identifier).\n\nCIDOC-CRM\
|
|
\ E42_Identifier: Formal symbols or reference codes for unique identification.\n\
|
|
CIDOC-CRM P48_has_preferred_identifier: Links E1_CRM_Entity (Custodian) to E42_Identifier.\n\
|
|
\n**Use for**: \n- External authority identifiers (ISIL, Wikidata, VIAF, KvK,\
|
|
\ ROR)\n- Registration numbers and codes\n- Persistent identifiers from registries\n\
|
|
\n**Connection to Hub**:\n- The Custodian hub uses crm:P48_has_preferred_identifier\
|
|
\ to point to CustodianIdentifier\n- This CustodianIdentifier uses crm:P48i_is_preferred_identifier_of\
|
|
\ to point back to the Custodian hub\n- Enables multiple identifiers per custodian\
|
|
\ (from different authorities)\n\n**Extended Provenance (v2)**:\n\nThe identifier\
|
|
\ now tracks its full lineage:\n- defined_by_standard: Which Standard defines\
|
|
\ this identifier type (ISIL → ISO 15511)\n- allocated_by: Which AllocationAgency\
|
|
\ assigned this specific identifier\n- identifier_format_used: Which format\
|
|
\ variant is used in identifier_value\n- canonical_value: Normalized form for\
|
|
\ deduplication and matching\n- allocation_date: When the identifier was assigned\n\
|
|
\n**Dual-Purpose Identifiers**:\n\nSome identifiers (ISNI, VIAF) also identify\
|
|
\ name authority records:\n- also_identifies_name: Links to the CustodianName\
|
|
\ record this identifier also identifies\n\n**Enables**:\n- External identifier\
|
|
\ management (scheme + value)\n- Cross-reference to authority registries\n-\
|
|
\ Persistent identifier resolution\n- Inter-dataset linking\n- Full provenance\
|
|
\ tracking (who allocated, when, under what standard)\n- Name authority linkage\
|
|
\ (for ISNI, VIAF)\n"
|
|
exact_mappings:
|
|
- crm:E42_Identifier
|
|
- schema:PropertyValue
|
|
- dcterms:identifier
|
|
close_mappings:
|
|
- schema:identifier
|
|
- adms:Identifier
|
|
- skos:notation
|
|
related_mappings:
|
|
- owl:sameAs
|
|
slots:
|
|
- allocated_by
|
|
- allocation_date
|
|
- also_identifies_name
|
|
- canonical_value
|
|
- defined_by_standard
|
|
- identifier_format_used
|
|
- identifier_scheme
|
|
- identifier_value
|
|
- identifies_custodian
|
|
- specificity_annotation
|
|
- template_specificity
|
|
slot_usage:
|
|
identifier_scheme:
|
|
slot_uri: skos:inScheme
|
|
description: |
|
|
Identifier scheme name (ISIL, Wikidata, VIAF, KvK, etc.).
|
|
SKOS: inScheme links identifier to its concept scheme.
|
|
|
|
This is a string representation of the scheme name.
|
|
For the full Standard object, use defined_by_standard.
|
|
|
|
Examples: 'ISIL', 'Wikidata', 'VIAF', 'KvK', 'ROR', 'ISNI'.
|
|
range: string
|
|
required: true
|
|
identifier_value:
|
|
slot_uri: skos:notation
|
|
description: "Identifier value within the scheme (as received/displayed).\n\
|
|
SKOS: notation for the actual identifier string.\n\nThis may be in any valid\
|
|
\ format for the scheme.\nUse canonical_value for normalized form.\n\nExamples:\
|
|
\ \n- 'NL-AmRMA' (ISIL)\n- 'Q190804' (Wikidata)\n- '148691498' (VIAF)\n\
|
|
- '0000 0001 2146 5765' (ISNI with spaces)\n"
|
|
range: string
|
|
required: true
|
|
identifies_custodian:
|
|
slot_uri: crm:P48i_is_preferred_identifier_of
|
|
description: |
|
|
Inverse property linking this identifier back to the Custodian hub it identifies.
|
|
CIDOC-CRM: P48i_is_preferred_identifier_of (inverse of P48_has_preferred_identifier).
|
|
Domain: E42_Identifier → Range: E1_CRM_Entity (Custodian).
|
|
range: Custodian
|
|
required: false
|
|
defined_by_standard:
|
|
description: |
|
|
The Standard that defines this identifier type.
|
|
|
|
Links to full Standard object for access to:
|
|
- Format specifications and patterns
|
|
- Registration authority
|
|
- Lookup URL template
|
|
- Validation rules
|
|
|
|
Examples:
|
|
- ISIL "NL-AmRMA" → Standard(id="isil", iso_standard_number="ISO 15511")
|
|
- ISNI "0000..." → Standard(id="isni", iso_standard_number="ISO 27729")
|
|
required: false
|
|
allocated_by:
|
|
description: |
|
|
The AllocationAgency that assigned this specific identifier.
|
|
|
|
For locally-allocated identifiers, tracks which agency is responsible.
|
|
|
|
Examples:
|
|
- Dutch public library ISIL → KB (Koninklijke Bibliotheek)
|
|
- Dutch academic library ISIL → OCLC
|
|
- Dutch archive ISIL → Nationaal Archief
|
|
required: false
|
|
identifier_format_used:
|
|
description: |
|
|
Which format variant is used in the identifier_value.
|
|
|
|
Enables validation and transformation.
|
|
|
|
Examples:
|
|
- ISNI "0000 0001 2146 5765" → format_name="Display with spaces"
|
|
- ISNI "0000000121465765" → format_name="Compact (canonical)"
|
|
required: false
|
|
canonical_value:
|
|
description: |
|
|
Normalized/canonical form of the identifier for matching and deduplication.
|
|
|
|
Transformation rules:
|
|
- ISNI: Remove spaces → "0000000121465765"
|
|
- Wikidata: Extract Q-number → "Q190804"
|
|
- DOI: Lowercase, no prefix → "10.1234/example"
|
|
- ISIL: Keep as-is → "NL-AmRMA"
|
|
required: false
|
|
also_identifies_name:
|
|
description: "For dual-purpose identifiers (ISNI, VIAF), links to the CustodianName\
|
|
\ \nrecord this identifier also identifies.\n\nISNI is defined as a \"name\
|
|
\ identifier\" (ISO 27729), so it identifies\nboth the entity AND its authoritative\
|
|
\ name record.\n"
|
|
required: false
|
|
allocation_date:
|
|
description: |
|
|
Date when this identifier was allocated/assigned.
|
|
|
|
ISO 8601 datetime format.
|
|
required: false
|
|
specificity_annotation:
|
|
range: SpecificityAnnotation
|
|
inlined: true
|
|
template_specificity:
|
|
range: TemplateSpecificityScores
|
|
inlined: true
|