glam/schemas/20251121/linkml/modules/classes/LanguageProficiency.yaml
kempersc b34992b1d3 Migrate all 293 class files to ontology-aligned slots
Extends migration to all class types (museums, libraries, galleries, etc.)

New slots added to class_metadata_slots.yaml:
- RiC-O: rico_record_set_type, rico_organizational_principle,
  rico_has_or_had_holder, rico_note
- Multilingual: label_de, label_es, label_fr, label_nl, label_it, label_pt
- Scope: scope_includes, scope_excludes, custodian_only,
  organizational_level, geographic_restriction
- Notes: privacy_note, preservation_note, legal_note

Migration script now handles 30+ annotation types.
All migrated schemas pass linkml-validate.

Total: 387 class files now use proper slots instead of annotations.
2026-01-06 12:24:54 +01:00

132 lines
4.4 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/class_metadata_slots
default_range: string
classes:
LanguageProficiency:
class_uri: schema:knowsLanguage
description: "A language skill with proficiency level.\n\nModels language abilities\
\ as extracted from LinkedIn profiles,\nwith 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:
description: |
Raw language string as extracted from LinkedIn.
Format: "Language - Proficiency level"
Preserved for provenance.
slot_uri: schema:description
range: string
examples:
- value: English - Native or bilingual
description: Native English speaker
- value: Dutch - Professional working proficiency
description: Professional Dutch
language_name:
description: |
Language name (parsed from raw string).
slot_uri: schema:name
range: string
examples:
- value: English
- value: Dutch
- value: French
language_code:
description: |
ISO 639-1 two-letter language code.
Derived from language_name lookup.
slot_uri: dct:language
range: string
pattern: ^[a-z]{2}$
examples:
- value: en
description: English
- value: nl
description: Dutch
- value: fr
description: French
proficiency_level:
description: |
Proficiency level as parsed from LinkedIn.
Uses LanguageProficiencyEnum values.
slot_uri: schema:proficiencyLevel
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
enums:
LanguageProficiencyEnum:
description: |
LinkedIn language proficiency levels.
Based on LinkedIn's standard proficiency descriptions.
permissible_values:
NATIVE_BILINGUAL:
description: Native or bilingual proficiency
meaning: schema:Expert
FULL_PROFESSIONAL:
description: Full professional proficiency
meaning: schema:Advanced
PROFESSIONAL_WORKING:
description: Professional working proficiency
meaning: schema:Intermediate
LIMITED_WORKING:
description: Limited working proficiency
meaning: schema:Intermediate
ELEMENTARY:
description: Elementary proficiency
meaning: schema:Beginner
UNKNOWN:
description: Proficiency level not specified
slots:
language_raw:
description: Raw language string as extracted
range: string
language_name:
description: Language name
range: string
language_code:
description: ISO 639-1 language code
range: string
proficiency_level:
description: Proficiency level
range: LanguageProficiencyEnum