glam/schemas/20251121/linkml/modules/classes/CanonicalForm.yaml

77 lines
3.2 KiB
YAML

id: https://nde.nl/ontology/hc/class/CanonicalForm
name: canonical_form_class
title: Canonical Form Class
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
skos: http://www.w3.org/2004/02/skos/core#
schema: http://schema.org/
dcterms: http://purl.org/dc/terms/
imports:
- linkml:types
- ../slots/has_or_had_label
- ./Label
default_prefix: hc
classes:
CanonicalForm:
class_uri: skos:Concept
description: 'Represents the canonical/normalized form of an identifier or value.
**PURPOSE**:
While original values may vary in format (spaces, prefixes, case), CanonicalForm provides a standardized representation for: - Consistent storage - Deduplication and matching - Database joins and lookups - Cross-system interoperability
**NORMALIZATION RULES BY STANDARD**:
| Standard | Original | Canonical | |----------|----------|-----------| | ISNI | "0000 0001 2146 5765" | "0000000121465765" | | Wikidata | "http://wikidata.org/entity/Q190804" | "Q190804" | | VIAF | "viaf.org/viaf/148691498" | "148691498" | | DOI | "https://doi.org/10.1234/Ex" | "10.1234/ex" | | ISIL | "NL-AmRMA" | "NL-AmRMA" (already canonical) |
**ONTOLOGY ALIGNMENT**:
| Ontology | Mapping | Rationale | |----------|---------|-----------| | SKOS | skos:Concept | Conceptual representation | | Schema.org | schema:PropertyValue | Name-value pair |
MIGRATED 2026-01-22: Created per slot_fixes.yaml feedback to replace simple canonical_value string with structured class.'
exact_mappings:
- skos:Concept
close_mappings:
- schema:PropertyValue
slots:
- has_or_had_label
slot_usage:
has_or_had_label:
range: Label
required: true
inlined: true
description: The canonical/normalized value as a Label. Label.has_or_had_text contains the actual normalized string.
attributes:
normalization_rule:
range: string
required: false
description: The rule or standard used to normalize this value. E.g., "ISNI_REMOVE_SPACES", "WIKIDATA_EXTRACT_QID", "DOI_LOWERCASE"
source_format:
range: string
required: false
description: The original format/scheme before normalization. E.g., "ISNI_DISPLAY", "WIKIDATA_URI", "DOI_URL"
examples:
- value:
has_or_had_label:
has_or_had_text: '0000000121465765'
normalization_rule: ISNI_REMOVE_SPACES
source_format: ISNI_DISPLAY
description: ISNI canonical form (spaces removed)
- value:
has_or_had_label:
has_or_had_text: Q190804
normalization_rule: WIKIDATA_EXTRACT_QID
source_format: WIKIDATA_URI
description: Wikidata canonical form (Q-number extracted)
- value:
has_or_had_label:
has_or_had_text: 10.1234/example
normalization_rule: DOI_LOWERCASE_NO_PREFIX
source_format: DOI_URL
description: DOI canonical form (lowercase, no resolver prefix)
annotations:
specificity_score: 0.3
specificity_rationale: Canonical forms are relevant for identifier lookup across all heritage sectors.
custodian_types: "['*']"
custodian_types_rationale: Universal utility concept