glam/schemas/20251121/linkml/modules/classes/LanguageProficiency.yaml
kempersc 0d5d48568d refactor(schema): centralize slot definitions per Rule 38
- Remove slot_uri, description, mappings from slot_usage sections
- Move these properties to centralized slot files in modules/slots/
- Keep only class-specific overrides in slot_usage (required, inlined, examples)
- Update 1,499 centralized slot files with enriched definitions
- Clean 188 class files

Violations fixed:
- slot_uri in slot_usage: 1,676 → 0
- description in slot_usage: 2,287 → 0 (moved to centralized)

Schema still validates: 816 classes, 2028 slots, 127 enums
2026-01-11 23:27:17 +01:00

86 lines
3 KiB
YAML

id: https://nde.nl/ontology/hc/class/LanguageProficiency
name: language_proficiency_class
title: Language Proficiency Class
version: 1.0.0
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
schema: http://schema.org/
dct: http://purl.org/dc/terms/
imports:
- linkml:types
- ../metadata
- ../slots/specificity_annotation
- ../slots/template_specificity
- ../slots/language_raw
- ../slots/language_name
- ../slots/language_code
- ../slots/proficiency_level
- ../enums/LanguageProficiencyEnum
- ./SpecificityAnnotation
- ./TemplateSpecificityScores
default_range: string
default_prefix: hc
classes:
LanguageProficiency:
class_uri: schema:knowsLanguage
description: "A language skill with proficiency level.\n\nModels language abilities as extracted from LinkedIn profiles,\n\
with both raw string and parsed components.\n\n**Schema.org Alignment**:\n- Represents schema:knowsLanguage relation\n\
- Language is schema:Language\n\n**Use Cases**:\n- LinkedIn profile language sections\n- Multilingual staff identification\n\
- Heritage institution language capabilities\n\n**Example JSON Values**:\n```json\n[\n \"English - Native or bilingual\"\
,\n \"Dutch - Native or bilingual\",\n \"French - Professional working proficiency\"\n]\n```\n\n**LinkedIn Proficiency\
\ Levels**:\n- Native or bilingual proficiency\n- Full professional proficiency \n- Professional working proficiency\n\
- Limited working proficiency\n- Elementary proficiency\n"
exact_mappings:
- schema:knowsLanguage
close_mappings:
- dct:language
slots:
- language_code
- language_name
- language_raw
- proficiency_level
- specificity_annotation
- template_specificity
slot_usage:
language_raw:
range: string
examples:
- value: English - Native or bilingual
description: Native English speaker
- value: Dutch - Professional working proficiency
description: Professional Dutch
language_name:
range: string
examples:
- value: English
- value: Dutch
- value: French
language_code:
range: string
pattern: ^[a-z]{2}$
examples:
- value: en
description: English
- value: nl
description: Dutch
- value: fr
description: French
proficiency_level:
range: LanguageProficiencyEnum
examples:
- value: NATIVE_BILINGUAL
description: Native or bilingual proficiency
specificity_annotation:
range: SpecificityAnnotation
inlined: true
template_specificity:
range: TemplateSpecificityScores
inlined: true
comments:
- Inlined in LinkedInProfile.languages[] as multivalued list
- Preserves raw LinkedIn format for provenance
- ISO 639-1 codes enable language-based filtering
see_also:
- https://schema.org/knowsLanguage
- https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes