glam/schemas/20251121/linkml/modules/classes/Identifier.yaml
kempersc 626bd3a095 refactor(schemas): apply naming conventions to 261 class files
- Apply Rule 39: RiC-O style hasOrHad*/isOrWas* for temporal slots
- Apply Rule 43: Singular noun convention (keywords → keyword)
- Update slot references to match renamed slot files
- Maintain schema integrity across all class definitions
2026-01-10 15:36:33 +01:00

173 lines
7.1 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/is_or_was_allocated_by
- ../slots/identifier_format_used
- ../slots/canonical_value
- ../slots/also_identifies_name
- ../slots/has_allocation_date
- ../slots/specificity_annotation
- ../slots/template_specificity
- ./AllocationAgency
- ./Custodian
- ./CustodianName
- ./IdentifierFormat
- ./SpecificityAnnotation
- ./Standard
- ./TemplateSpecificityScores
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:
- is_or_was_allocated_by
- has_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
is_or_was_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
has_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