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 # LanguageProficiency-specific slots - ../slots/language_raw - ../slots/language_name - ../slots/language_code - ../slots/proficiency_level # Enum imports - ../enums/LanguageProficiencyEnum # Class imports for slot ranges - ./SpecificityAnnotation - ./TemplateSpecificityScores default_range: string default_prefix: hc classes: LanguageProficiency: class_uri: schema:knowsLanguage description: | A language skill with proficiency level. Models language abilities as extracted from LinkedIn profiles, with both raw string and parsed components. **Schema.org Alignment**: - Represents schema:knowsLanguage relation - Language is schema:Language **Use Cases**: - LinkedIn profile language sections - Multilingual staff identification - Heritage institution language capabilities **Example JSON Values**: ```json [ "English - Native or bilingual", "Dutch - Native or bilingual", "French - Professional working proficiency" ] ``` **LinkedIn Proficiency Levels**: - Native or bilingual proficiency - Full professional proficiency - Professional working proficiency - Limited working proficiency - Elementary proficiency 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