glam/schemas/20251121/linkml/modules/classes/Identifier.yaml
kempersc 511fc99847 feat: Add PriceRange, Publication, and TaxDeductibility classes
- Introduced PriceRange class to categorize price levels for hospitality services, including structured metadata for various price categories.
- Added Publication class to represent publication events, capturing details like publisher, publication place, and edition.
- Created TaxDeductibilityType as an abstract class for tax deductibility status, promoting previous enum values to a class hierarchy for richer metadata.
- Implemented TaxDeductibilityTypes with concrete subclasses detailing various tax deductibility statuses.
- Archived previous DeductibilityStatusEnum and related slots, transitioning to a more structured approach for tax deductibility classification.
- Updated multiple slot definitions to align with new class structures and naming conventions, including has_or_had_measurement and has_or_had_price.
- Enhanced documentation and examples across new and existing slots for clarity and compliance with naming conventions.
2026-01-24 17:41:06 +01:00

260 lines
9.5 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
- ../slots/identifier_scheme
- ../slots/identifier_value
- ../slots/identifies_custodian
- ../slots/defined_by_standard
- ../slots/is_or_was_allocated_by
- ../slots/identifier_format_used
# 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/has_allocation_date
- ../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
- identifier_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
identifier_scheme:
range: string
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:
identifier_scheme: ISIL
identifier_value: NL-AsdAM
description: Amsterdam Museum ISIL code
- value:
identifier_scheme: Wikidata
identifier_value: Q190804
description: Rijksmuseum Wikidata ID
- value:
identifier_scheme: URI
identifier_value: https://nde.nl/ontology/hc/call/ec/cl2-2025-heritage-01
description: Funding call URI identifier
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:
- 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
- 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
- has_allocation_date
- has_or_had_secondary_label
# MIGRATED 2026-01-22: canonical_value → has_or_had_canonical_form + CanonicalForm
- has_or_had_canonical_form
- defined_by_standard
- identifier_format_used
- identifies_custodian
- specificity_annotation
- has_or_had_score
slot_usage:
identifies_custodian:
range: Custodian
required: false
defined_by_standard:
required: false
is_or_was_allocated_by:
required: false
identifier_format_used:
required: false
has_or_had_canonical_form:
range: CanonicalForm
required: false
inlined: true
description: >-
Canonical/normalized form for deduplication and matching.
MIGRATED 2026-01-22: Replaces canonical_value with structured CanonicalForm.
examples:
- value:
has_or_had_label:
has_or_had_text: "0000000121465765"
normalization_rule: "ISNI_REMOVE_SPACES"
description: ISNI canonical form
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.