glam/schemas/20251121/linkml/modules/classes/Identifier.yaml
2025-12-03 17:38:46 +01:00

207 lines
7.4 KiB
YAML

# Heritage Custodian Identifier Class
# Represents external identifiers for custodian entities
#
# Extended in v2 to include:
# - defined_by_standard: Link to Standard (ISO 15511, etc.)
# - allocated_by: Link to AllocationAgency (KB, OCLC, etc.)
# - identifier_format_used: Which format variant was used
# - canonical_value: Normalized value for matching
# - also_identifies_name: For identifiers that also identify name records (ISNI, VIAF)
# - allocation_date: When the identifier was assigned
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
classes:
CustodianIdentifier:
class_uri: crm:E42_Identifier
description: |
An external identifier assigned to a heritage custodian entity by an authority.
Connected to the Custodian hub via inverse property crm:P48i_is_preferred_identifier_of
(the Custodian has this Identifier as a preferred identifier).
CIDOC-CRM E42_Identifier: Formal symbols or reference codes for unique identification.
CIDOC-CRM P48_has_preferred_identifier: Links E1_CRM_Entity (Custodian) to E42_Identifier.
**Use for**:
- External authority identifiers (ISIL, Wikidata, VIAF, KvK, ROR)
- Registration numbers and codes
- Persistent identifiers from registries
**Connection to Hub**:
- The Custodian hub uses crm:P48_has_preferred_identifier to point to CustodianIdentifier
- This CustodianIdentifier uses crm:P48i_is_preferred_identifier_of to point back to the Custodian hub
- Enables multiple identifiers per custodian (from different authorities)
**Extended Provenance (v2)**:
The identifier now tracks its full lineage:
- defined_by_standard: Which Standard defines this identifier type (ISIL → ISO 15511)
- allocated_by: Which AllocationAgency assigned this specific identifier
- identifier_format_used: Which format variant is used in identifier_value
- canonical_value: Normalized form for deduplication and matching
- allocation_date: When the identifier was assigned
**Dual-Purpose Identifiers**:
Some identifiers (ISNI, VIAF) also identify name authority records:
- also_identifies_name: Links to the CustodianName record this identifier also identifies
**Enables**:
- External identifier management (scheme + value)
- Cross-reference to authority registries
- Persistent identifier resolution
- Inter-dataset linking
- Full provenance tracking (who allocated, when, under what standard)
- Name authority linkage (for ISNI, VIAF)
exact_mappings:
- crm:E42_Identifier
- schema:PropertyValue
- dcterms:identifier
close_mappings:
- schema:identifier
- adms:Identifier
- skos:notation
related_mappings:
- owl:sameAs
slots:
- identifier_scheme
- identifier_value
- identifies_custodian
- defined_by_standard
- allocated_by
- identifier_format_used
- canonical_value
- also_identifies_name
- allocation_date
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).
SKOS: notation for the actual identifier string.
This may be in any valid format for the scheme.
Use canonical_value for normalized form.
Examples:
- 'NL-AmRMA' (ISIL)
- 'Q190804' (Wikidata)
- '148691498' (VIAF)
- '0000 0001 2146 5765' (ISNI with spaces)
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
record this identifier also identifies.
ISNI is defined as a "name identifier" (ISO 27729), so it identifies
both the entity AND its authoritative name record.
required: false
allocation_date:
description: |
Date when this identifier was allocated/assigned.
ISO 8601 datetime format.
required: false