glam/schemas/20251121/linkml/modules/classes/Label.yaml
2026-01-19 00:09:28 +01:00

131 lines
4.5 KiB
YAML

# Label class
# Generic class for labeled entities with language tagging
#
# Generation date: 2026-01-15
# Rule compliance: 0 (LinkML single source of truth), 38 (slot centralization)
# Migration: Supports has_or_had_secondary_label slot (replaces also_identifies_name)
id: https://nde.nl/ontology/hc/class/Label
name: label_class
title: Label Class
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
skos: http://www.w3.org/2004/02/skos/core#
rdfs: http://www.w3.org/2000/01/rdf-schema#
schema: http://schema.org/
default_prefix: hc
imports:
- linkml:types
- ../metadata
- ../slots/has_or_had_label
- ../slots/has_or_had_type # Added 2026-01-18 for label type discrimination
- ../slots/language
- ../slots/specificity_annotation
- ../slots/has_or_had_score # was: template_specificity - migrated per Rule 53 (2026-01-17)
- ./SpecificityAnnotation
- ./TemplateSpecificityScore # was: TemplateSpecificityScores - migrated per Rule 53 (2026-01-17)
- ./TemplateSpecificityType
- ./TemplateSpecificityTypes
classes:
Label:
class_uri: rdfs:Resource
description: |
A human-readable label for an entity, with optional language tagging.
**Purpose**:
Label provides a reusable class for representing named/labeled references
across the heritage custodian schema. Used when an identifier or reference
also identifies a secondary named entity (e.g., name authority records).
**Ontological Alignment**:
- **Primary**: `rdfs:Resource` - generic resource with label
- **Close**: `skos:Concept` - labeled concept in controlled vocabulary
**Use Cases**:
- Dual-purpose identifiers (ISNI, VIAF) that identify both an entity
and its name authority record
- Secondary labels/references for complex relationships
- Language-tagged names and labels
**Enables**:
- Multilingual label representation (via language slot)
- Typed labels with explicit language codes
- Reusable labeled references across schema
exact_mappings:
- rdfs:Resource
close_mappings:
- skos:Concept
- schema:Thing
slots:
- has_or_had_label
- has_or_had_type # Added 2026-01-18 for label type discrimination
- language
- specificity_annotation
- has_or_had_score # was: template_specificity - migrated per Rule 53 (2026-01-17)
slot_usage:
has_or_had_label:
description: The textual value of this label.
range: string
required: true
has_or_had_type:
description: |
Type classification for this label, enabling discrimination between
different label purposes within the same entity.
**Common Types**:
- `vendor_name` - Name of a software vendor/developer
- `product_name` - Name of a software product
- `preferred_name` - Preferred/official name
- `alternative_name` - Alternative/alias name
- `collection_name` - Name of a collection
Added 2026-01-18 to resolve semantic conflicts when multiple
Label instances are used for different purposes in the same class
(e.g., CollectionManagementSystem uses Label for both vendor_name
and product_name).
range: string
required: false
multivalued: false
language:
description: |
ISO 639-1 two-letter language code for this label.
Examples: "en", "nl", "de", "fr"
range: string
required: false
pattern: "^[a-z]{2}$"
annotations:
custodian_types: '["*"]'
custodian_types_rationale: Generic label class applicable to all types.
custodian_types_primary: null
specificity_score: 0.3
specificity_rationale: Broadly applicable generic class for labeled references.
examples:
- value: |
has_or_had_label: Rijksmuseum
language: nl
description: "Dutch language label for Rijksmuseum name authority"
- value: |
has_or_had_label: National Library of the Netherlands
language: en
description: "English language label for KB name authority"
- value: |
has_or_had_label: CollectiveAccess
has_or_had_type: product_name
description: "Product name label for CMS software"
- value: |
has_or_had_label: Whirl-i-Gig
has_or_had_type: vendor_name
description: "Vendor name label for CMS developer"