glam/schemas/20251121/linkml/modules/classes/Identifier.yaml
kempersc c1946e93f9 Refactor VideoPost and WebObservation schemas; remove deprecated slots and migrate to new structures
- Updated VideoPost.yaml to include new slots and remove deprecated ones, enhancing video-specific properties.
- Removed extraction_confidence from WebObservation.yaml, streamlining the schema.
- Deleted obsolete slot files: characteristics.yaml, class_definition.yaml, confidence.yaml, confidence_method.yaml, confidence_score.yaml, confidence_value.yaml, count.yaml, and hosts_branch.yaml.
- Introduced ghost_slots.txt to track unused slots.
- Archived previous versions of characteristics, class_definition, confidence, confidence_method, confidence_score, confidence_value, count, and hosts_branch slots for historical reference.
- Added new slots: has_or_had_citation, has_or_had_city_code, and is_or_was_location_of with appropriate descriptions and mappings.
2026-01-28 15:04:11 +01:00

331 lines
12 KiB
YAML

id: https://nde.nl/ontology/hc/class/Identifier
name: identifier_classes
title: Identifier Classes (Generic and Custodian-Specific)
# Updated: 2026-01-23 - Added has_or_had_type for IdentifierType per F26 migration
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
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
# identifier_* slots REMOVED - migrated to has_or_had_scheme + IdentifierScheme and has_or_had_value + IdentifierValue (Rule 53)
- ../slots/has_or_had_scheme
- ./IdentifierScheme
- ../slots/has_or_had_value
- ./IdentifierValue
# identifies_custodian REMOVED - migrated to identifies_or_identified + Custodian (Rule 53)
- ../slots/identifies_or_identified
# MIGRATED 2026-01-24: defined_by_standard → has_or_had_standard + Standard (Rule 53)
- ../slots/has_or_had_standard
- ./Standard
- ../slots/is_or_was_allocated_by
# identifier_format_used REMOVED - migrated to has_or_had_format + IdentifierFormat (Rule 53)
- ../slots/has_or_had_format
- ./IdentifierFormat
# MIGRATED 2026-01-22: canonical_value → has_or_had_canonical_form + CanonicalForm per slot_fixes.yaml feedback
- ../slots/has_or_had_canonical_form
- ./CanonicalForm
# ADDED 2026-01-23: has_or_had_type for IdentifierType per F26 migration
- ../slots/has_or_had_type
- ./IdentifierType
- ./IdentifierTypes
- ../slots/has_or_had_secondary_label
- ../slots/is_or_was_allocated_through
- ../classes/AllocationEvent
- ../slots/temporal_extent
- ../classes/TimeSpan
- ../slots/specificity_annotation
- ../slots/has_or_had_score
- ./AllocationAgency
- ./Custodian
- ./CustodianName
- ./Label
- ./SpecificityAnnotation
- ./Standard
- ./TemplateSpecificityScore
- ./TemplateSpecificityType
- ./TemplateSpecificityTypes
default_prefix: hc
classes:
# Generic Identifier class - base for all identifier types
Identifier:
class_uri: schema:PropertyValue
description: |
A generic identifier consisting of a scheme and value pair.
**Purpose**:
Base identifier class for any entity (not just heritage custodians).
Used when a simple scheme + value identifier is needed.
**For heritage custodian identifiers**: Use `CustodianIdentifier` which
extends this class with provenance tracking (allocation agency, standard, etc.)
**Schema.org Alignment**:
Maps to schema:PropertyValue which represents a property-value pair.
- propertyID → identifier_scheme
- value → identifier_value
exact_mappings:
- schema:PropertyValue
- dcterms:identifier
close_mappings:
- adms:Identifier
- skos:notation
slots:
# identifier_scheme REMOVED - migrated to has_or_had_scheme (Rule 53)
- has_or_had_scheme
# identifier_value REMOVED - migrated to has_or_had_value (Rule 53)
- has_or_had_value
- has_or_had_type
slot_usage:
has_or_had_type:
description: >-
The type of identifier from IdentifierType taxonomy.
Uses IdentifierType subclasses per Rule 0b (Type/Types pattern).
Added 2026-01-23 per F26 migration.
Provides structured alternative to string-based identifier_scheme.
Prefer has_or_had_type for new data; identifier_scheme retained for compatibility.
range: IdentifierType
required: false
examples:
- value:
has_or_had_code: CATALOG_RAISONNE
has_or_had_label: Catalogue Raisonné Number
description: Art catalog reference
- value:
has_or_had_code: ISIL
has_or_had_label: ISIL Code
description: Library identifier
has_or_had_scheme:
description: |
Scheme of the identifier.
MIGRATED from identifier_scheme per Rule 53.
Uses IdentifierScheme class.
range: IdentifierScheme
inlined: true
examples:
- value:
has_or_had_label: "ISBN"
description: ISBN scheme
has_or_had_value:
description: |
Value of the identifier.
MIGRATED from identifier_value per Rule 53.
Uses IdentifierValue class.
range: IdentifierValue
inlined: true
examples:
- value:
has_or_had_value: "978-0-123456-47-2"
description: ISBN value
required: false
description: |
The identifier scheme or namespace (e.g., ISIL, Wikidata, URI, INTERNAL_CODE).
Note: Prefer has_or_had_type for new data (structured IdentifierType).
examples:
- value: ISIL
description: ISIL identifier scheme
- value: Wikidata
description: Wikidata entity ID
- value: URI
description: Uniform Resource Identifier
- value: EU_FUNDING_TENDERS
description: EU Funding & Tenders portal ID
identifier_value:
range: Any
any_of:
- range: string
- range: integer
required: true
description: |
The identifier value within the scheme. Usually a string, but can be
a large integer (e.g., GHCID_NUMERIC values).
examples:
- value: NL-AsdAM
description: ISIL code for Amsterdam Museum
- value: Q190804
description: Wikidata ID for Rijksmuseum
attributes:
identifier_url:
range: uri
description: |
URL form of the identifier (e.g., full Wikidata URL, website URL).
examples:
- value: https://www.wikidata.org/wiki/Q190804
description: Full Wikidata URL for Rijksmuseum
assigned_date:
range: string
description: Date the identifier was assigned (from enrichment data)
source:
range: string
description: Source of the identifier (e.g., registry name)
examples:
- value: ISIL
description: ISIL identifier scheme
- value: VIAF
description: VIAF identifier scheme
- value: Wikidata
description: Wikidata identifier scheme
identifier_value:
range: string
examples:
- value: NL-AsdRM
description: Rijksmuseum ISIL
- value: Q190804
description: Rijksmuseum Wikidata ID
annotations:
specificity_score: 0.25
specificity_rationale: |
Low specificity - identifiers are broadly useful across all queries
involving entity lookup and cross-referencing.
# Heritage custodian-specific identifier with provenance tracking
CustodianIdentifier:
is_a: Identifier
class_uri: crm:E42_Identifier
description: |
An external identifier assigned to a heritage custodian entity by an authority.
Extends the generic Identifier class with provenance tracking:
- Which authority allocated the identifier
- Under what standard it was assigned
- When it was allocated
- Canonical/normalized form for matching
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:
- has_or_had_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
- has_or_had_canonical_form: Normalized form (CanonicalForm) for deduplication and matching
- allocation_date: When the identifier was assigned
**Dual-Purpose Identifiers**:
Some identifiers (ISNI, VIAF) also identify name authority records:
- has_or_had_secondary_label: Links to the CustodianName record this identifier also identifies (as a Label)
**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
close_mappings:
- schema:identifier
- adms:Identifier
- skos:notation
related_mappings:
- owl:sameAs
slots:
- is_or_was_allocated_by
- is_or_was_allocated_through
slot_usage:
is_or_was_allocated_through:
range: AllocationEvent
description: |
Event documenting when and how this identifier was allocated.
Replaces has_allocation_date per Rule 53.
examples:
- value:
temporal_extent:
begin_of_the_begin: "2023-01-01"
description: Allocation date
# MIGRATED 2026-01-24: defined_by_standard → has_or_had_standard + Standard (Rule 53)
has_or_had_standard:
range: Standard
required: false
multivalued: false
inlined: false
description: |
The standard (identifier scheme) that defines this identifier.
Links the identifier to its governing standard, providing access to:
- Format specifications
- Registration authority
- Lookup URL template
- Validation rules
**SKOS Alignment:**
skos:inScheme - "Relates a resource to a concept scheme in which it is included"
Here the identifier is treated as a SKOS notation within the scheme (standard).
**Examples:**
- ISIL "NL-AmRMA" → ISIL standard (ISO 15511)
- ISNI "0000 0001 2146 5765" → ISNI standard (ISO 27729)
- Wikidata "Q190804" → Wikidata standard
MIGRATED 2026-01-24: Replaces defined_by_standard per slot_fixes.yaml (Rule 53).
examples:
- value:
id: isil
name: "International Standard Identifier for Libraries"
has_or_had_abbreviation: "ISIL"
description: ISIL identifier standard
is_or_was_allocated_by:
required: false
identifier_format_used:
required: false
has_or_had_canonical_form:
range: CanonicalForm
required: false
multivalued: false
inlined: true
description: |
Normalized form of the identifier value for deduplication.
E.g., "NL-AsdRM" normalized to "nl-asdrm".
MIGRATED from canonical_value per Rule 53 (2026-01-22).
# identifies_custodian REMOVED - migrated to identifies_or_identified (Rule 53)
identifies_or_identified:
description: |
The Custodian identified by this identifier.
MIGRATED from identifies_custodian per Rule 53.
Inverse of has_or_had_identifier.
range: Custodian
required: false
description: >-
Reference to the Custodian entity this identifier identifies.
Provides the link back to the hub.
This is the inverse of Custodian.has_or_had_identifier.
has_or_had_secondary_label:
description: |
For dual-purpose identifiers (ISNI, VIAF), links to the name authority
record this identifier also identifies.
range: Label
required: false
has_allocation_date:
required: false
annotations:
specificity_score: 0.30
specificity_rationale: |
Slightly higher specificity than generic Identifier due to
heritage custodian-specific provenance tracking.