104 lines
3.3 KiB
YAML
104 lines
3.3 KiB
YAML
id: https://nde.nl/ontology/hc/class/Language
|
|
name: Language
|
|
prefixes:
|
|
linkml: https://w3id.org/linkml/
|
|
hc: https://nde.nl/ontology/hc/
|
|
dct: http://purl.org/dc/terms/
|
|
rdf: http://www.w3.org/1999/02/22-rdf-syntax-ns#
|
|
schema: http://schema.org/
|
|
dcterms: http://purl.org/dc/terms/
|
|
prov: http://www.w3.org/ns/prov#
|
|
crm: http://www.cidoc-crm.org/cidoc-crm/
|
|
skos: http://www.w3.org/2004/02/skos/core#
|
|
rdfs: http://www.w3.org/2000/01/rdf-schema#
|
|
org: http://www.w3.org/ns/org#
|
|
xsd: http://www.w3.org/2001/XMLSchema#
|
|
imports:
|
|
- linkml:types
|
|
- ../slots/has_or_had_code
|
|
classes:
|
|
Language:
|
|
class_uri: dct:LinguisticSystem
|
|
description: 'A language with ISO codes and optional text content.
|
|
|
|
|
|
**Purpose**:
|
|
|
|
Represents a language entity that can identify the language of text content.
|
|
|
|
Used for language-tagged text where the language code and content are bundled together.
|
|
|
|
|
|
**Use Cases**:
|
|
|
|
1. Language identification only (just codes, no content)
|
|
|
|
2. Language-tagged text (codes + text_content for multilingual data)
|
|
|
|
|
|
**Migration Support**:
|
|
|
|
This class supports migration from language-specific text slots (fr, de, en, nl)
|
|
|
|
to a unified `has_or_had_language` + `Language` pattern per slot_fixes.yaml.
|
|
|
|
|
|
**Ontological Alignment**:
|
|
|
|
- **Primary**: `dct:LinguisticSystem` - Dublin Core linguistic system
|
|
|
|
- **Close**: `schema:Language` - Schema.org language
|
|
|
|
'
|
|
exact_mappings:
|
|
- dct:LinguisticSystem
|
|
close_mappings:
|
|
- schema:Language
|
|
slots:
|
|
- has_or_had_code
|
|
attributes:
|
|
language_name:
|
|
range: string
|
|
description: 'Human-readable name of the language (e.g., "English", "Dutch", "French").
|
|
|
|
Parsed from raw string, not authoritative. Use ISO codes for formal identification.
|
|
|
|
'
|
|
iso_639_1:
|
|
range: string
|
|
description: ISO 639-1 two-letter code (e.g., "fr", "en", "de", "nl")
|
|
pattern: ^[a-z]{2}$
|
|
iso_639_3:
|
|
range: string
|
|
description: ISO 639-3 three-letter code (e.g., "fra", "eng", "deu", "nld")
|
|
pattern: ^[a-z]{3}$
|
|
text_content:
|
|
range: string
|
|
description: "Text content in this language.\n\nUsed when bundling language identification with the actual text content.\nThis enables migration from language-specific slots (fr, de, en, nl) to\na unified Language-tagged pattern.\n\n**Example**:\n```yaml\nhas_or_had_language:\n - iso_639_1: \"fr\"\n language_name: \"French\"\n text_content: \"archives universitaires\"\n - iso_639_1: \"en\"\n language_name: \"English\"\n text_content: \"university archives\"\n```\n"
|
|
examples:
|
|
- value: 'iso_639_1: "fr"
|
|
|
|
language_name: "French"
|
|
|
|
text_content: "archives universitaires"
|
|
|
|
'
|
|
description: French language-tagged text for multilingual label
|
|
- value: 'iso_639_1: "en"
|
|
|
|
language_name: "English"
|
|
|
|
'
|
|
description: English language identifier (without text content)
|
|
- value: 'iso_639_1: "nl"
|
|
|
|
language_name: "Dutch"
|
|
|
|
text_content: "universitair archief"
|
|
|
|
'
|
|
description: Dutch language-tagged text
|
|
annotations:
|
|
specificity_score: 0.1
|
|
specificity_rationale: Generic utility class/slot created during migration
|
|
custodian_types: "['*']"
|