PREFIX languagerepresentation: <https://www.omg.org/spec/LCC/Languages/LanguageRepresentation/>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>

languagerepresentation:ArtificialLanguage a rdfs:Class ;
  rdfs:label "artificial language" ;
  rdfs:comment "a language for human communication that has been artificially devised" ;
  rdfs:subClassOf languagerepresentation:Language .

languagerepresentation:hasEarlierForm a rdf:Property ;
  rdfs:label "has earlier form" ;
  rdfs:comment "relates a language to an earlier form (historically significant) of that same language" ;
  rdfs:domain languagerepresentation:Language ;
  rdfs:range languagerepresentation:Language ;
  rdfs:subPropertyOf languagerepresentation:has .

languagerepresentation:hasFrenchName a rdf:Property ;
  rdfs:label "has French name" ;
  rdfs:comment "associates a name in French with an individual concept" ;
  rdfs:range <https://w3id.org/linkml/Any> ;
  rdfs:subPropertyOf languagerepresentation:hasName .

languagerepresentation:hasGermanName a rdf:Property ;
  rdfs:label "has German name" ;
  rdfs:comment "associates a name in German with an individual concept" ;
  rdfs:range <https://w3id.org/linkml/Any> ;
  rdfs:subPropertyOf languagerepresentation:hasName .

languagerepresentation:hasIndigenousName a rdf:Property ;
  rdfs:label "has indigenous name" ;
  rdfs:comment "associates a local regional or cultural name with an individual concept" ;
  rdfs:range <https://w3id.org/linkml/Any> ;
  rdfs:subPropertyOf languagerepresentation:hasName .

languagerepresentation:hasEnglishName a rdf:Property ;
  rdfs:label "has English name" ;
  rdfs:comment "associates a name in English with an individual concept" ;
  rdfs:range <https://w3id.org/linkml/Any> ;
  rdfs:subPropertyOf languagerepresentation:hasName .

languagerepresentation:CodeSet a rdfs:Class ;
  rdfs:label "code set" ;
  rdfs:comment "a system of alpha-numeric symbols, or combinations of symbols, that stand for specified values in some context" ;
  rdfs:subClassOf languagerepresentation:Arrangement .

languagerepresentation:hasMember a rdf:Property ;
  rdfs:label "has member" ;
  rdfs:comment "relates something, typically a collection, group or organization, to some discrete thing identified as a member of it" ;
  rdfs:range languagerepresentation:CodeElement , languagerepresentation:Identifier .

languagerepresentation:Collection a rdfs:Class ;
  rdfs:label "collection" ;
  rdfs:comment "a grouping of some variable number of things (may be zero) that have some shared significance" .

languagerepresentation:Alpha3Code a rdfs:Class ;
  rdfs:label "alpha-3 code" ;
  rdfs:comment "a language identifier for a human language as defined by ISO 639, that is, a three-letter combination of characters used to represent a language or languages" ;
  rdfs:seeAlso <https://en.wikipedia.org/wiki/UTF-8> ;
  rdfs:subClassOf languagerepresentation:LanguageIdentifier .

languagerepresentation:denotes a rdf:Property ;
  rdfs:label "denotes" ;
  rdfs:comment "serves as a linguistic expression of the notion of, means" ;
  rdfs:range languagerepresentation:Language , languagerepresentation:LanguageGroup , languagerepresentation:Macrolanguage , languagerepresentation:SpecialPurposeLanguageConcept , languagerepresentation:IndividualLanguage , <https://w3id.org/linkml/Any> .

languagerepresentation:identifies a rdf:Property ;
  rdfs:label "identifies" ;
  rdfs:comment "recognizes or establishes within some context" ;
  rdfs:range languagerepresentation:Language , languagerepresentation:LanguageGroup , languagerepresentation:Macrolanguage , <https://w3id.org/linkml/Any> , languagerepresentation:SpecialPurposeLanguageConcept , languagerepresentation:IndividualLanguage .

languagerepresentation:hasTag a rdf:Property ;
  rdfs:label "has tag" ;
  rdfs:comment "a unique combination of alphanumeric characters corresponding to the identifier" ;
  rdfs:domain languagerepresentation:Identifier ;
  rdfs:range xsd:string .

languagerepresentation:CollectiveLanguageCode a rdfs:Class ;
  rdfs:label "collective language code" ;
  rdfs:comment "a language identifier or code used to represent a group of languages" ;
  rdfs:subClassOf languagerepresentation:LanguageIdentifier .

languagerepresentation:MacrolanguageIdentifier a rdfs:Class ;
  rdfs:label "macrolanguage identifier" ;
  rdfs:comment "a language identifier whose scope is that of a macrolanguage" ;
  rdfs:subClassOf languagerepresentation:LanguageIdentifier .

languagerepresentation:IdentificationScheme a rdfs:Class ;
  rdfs:label "identification scheme" ;
  rdfs:comment "a system for allocating identifiers to objects" ;
  rdfs:subClassOf languagerepresentation:Arrangement .

languagerepresentation:Macrolanguage a rdfs:Class ;
  rdfs:label "macrolanguage" ;
  rdfs:comment "a language that may be viewed in some circumstances as an individual language, but actually represents two or more individual languages" ;
  rdfs:subClassOf languagerepresentation:Language .

languagerepresentation:Identifier a rdfs:Class ;
  rdfs:label "identifier" ;
  rdfs:comment "a sequence of characters uniquely identifying something that it is associated with for some purpose and within a specified context" .

languagerepresentation:Orthography a rdfs:Class ;
  rdfs:label "orthography" ;
  rdfs:comment "a set of conventions and rules for representing language in written form" ;
  rdfs:subClassOf languagerepresentation:Collection .

languagerepresentation:TerminologyCode a rdfs:Class ;
  rdfs:label "terminology code" ;
  rdfs:comment "a language identifier whose scope is that of terminological codes" ;
  rdfs:subClassOf languagerepresentation:Alpha3Code , languagerepresentation:LanguageIdentifier .

languagerepresentation:LanguageVariant a rdfs:Class ;
  rdfs:label "language variant" ;
  rdfs:comment "a variation of an individual language that is sufficiently unique that it can be identified and named" ;
  rdfs:subClassOf languagerepresentation:IndividualLanguage .

languagerepresentation:BibliographicCode a rdfs:Class ;
  rdfs:label "bibliographic code" ;
  rdfs:comment "an alpha-3 code that is a member of the set of bibliographic codes in ISO 639-2" ;
  rdfs:subClassOf languagerepresentation:Alpha3Code , languagerepresentation:LanguageIdentifier .

languagerepresentation:Dialect a rdfs:Class ;
  rdfs:label "dialect" ;
  rdfs:comment "a language variant that is specific to a geographical region or speech community" ;
  rdfs:subClassOf languagerepresentation:LanguageVariant .

languagerepresentation:StandardVariant a rdfs:Class ;
  rdfs:label "standard variant" ;
  rdfs:comment "a language variant with a high degree of status and normalization, typically used in public discourse, centers of government and commerce" ;
  rdfs:subClassOf languagerepresentation:LanguageVariant .

languagerepresentation:WrittenLanguage a rdfs:Class ;
  rdfs:label "written language" ;
  rdfs:comment "the representation of a language via a writing system, with a relatively normalized orthography" ;
  rdfs:subClassOf languagerepresentation:Language .

languagerepresentation:LanguageIdentifier a rdfs:Class ;
  rdfs:label "language identifier" ;
  rdfs:comment "a string of characters that uniquely identifies a linguistic entity" ;
  rdfs:subClassOf languagerepresentation:CodeElement , languagerepresentation:Identifier .

languagerepresentation:HistoricalLanguage a rdfs:Class ;
  rdfs:label "historical language" ;
  rdfs:comment "a well-known prior version of a living or extinct language" ;
  rdfs:subClassOf languagerepresentation:Language .

languagerepresentation:SpokenLanguage a rdfs:Class ;
  rdfs:label "spoken language" ;
  rdfs:comment "an individual language or language variant that is articulated through speech (oral or vocal) sounds" ;
  rdfs:subClassOf languagerepresentation:Language .

languagerepresentation:Arrangement a rdfs:Class ;
  rdfs:label "arrangement" ;
  rdfs:comment "a structure or means of organizing information such as a schema, numbering system, organization scheme, measurement system, taxonomy, or language for organizing information" .

languagerepresentation:Transliteration a rdfs:Class ;
  rdfs:label "transliteration" ;
  rdfs:comment "the conversion of text from one script to another without loss of information" .

languagerepresentation:SpecialPurposeCode a rdfs:Class ;
  rdfs:label "special purpose code" ;
  rdfs:comment "a language identifier whose scope is that of a special purpose language construct" ;
  rdfs:subClassOf languagerepresentation:LanguageIdentifier .

languagerepresentation:Alpha2Code a rdfs:Class ;
  rdfs:label "alpha-2 code" ;
  rdfs:comment "a language identifier for a human language as defined by ISO 639-1, that is, a two-letter combination of characters used to represent a language or languages" ;
  rdfs:seeAlso <https://en.wikipedia.org/wiki/UTF-8> ;
  rdfs:subClassOf languagerepresentation:LanguageIdentifier .

languagerepresentation:LanguageFamily a rdfs:Class ;
  rdfs:label "language family" ;
  rdfs:comment "a group of individual languages related to each other through common ancestry" ;
  rdfs:subClassOf languagerepresentation:LanguageGroup .

languagerepresentation:WritingSystem a rdfs:Class ;
  rdfs:label "writing system" ;
  rdfs:comment "a system for writing a language, including the requisite script and character set" ;
  rdfs:subClassOf languagerepresentation:Arrangement .

languagerepresentation:has a rdf:Property ;
  rdfs:label "has" ;
  rdfs:comment "indicates that someone (or something) possesses something, such as a characteristic, attribute, feature, or capability" ;
  rdfs:range <https://w3id.org/linkml/Any> .

languagerepresentation:LanguageGroup a rdfs:Class ;
  rdfs:label "language group" ;
  rdfs:comment "a collection of two or more individual languages, treated as a group for some purpose" ;
  rdfs:subClassOf languagerepresentation:Collection .

languagerepresentation:ExtinctLanguage a rdfs:Class ;
  rdfs:label "extinct language" ;
  rdfs:comment "an individual language or variant that is no longer in use and has no current descendant" ;
  rdfs:subClassOf languagerepresentation:Language .

languagerepresentation:Language a rdfs:Class ;
  rdfs:label "language" ;
  rdfs:comment "a systematic use of sounds, characters, symbols or signs to communicate meaning" .

languagerepresentation:IndividualLanguage a rdfs:Class ;
  rdfs:label "individual language" ;
  rdfs:comment "a language that can be distinguished from another language by some set of rules" ;
  rdfs:subClassOf languagerepresentation:Language .

languagerepresentation:LanguageVariation a rdfs:Class ;
  rdfs:label "language variation" ;
  rdfs:comment "continuous change within and between individual languages" .

languagerepresentation:Script a rdfs:Class ;
  rdfs:label "script" ;
  rdfs:comment "a set of graphic characters used to represent one or more languages in writing" ;
  rdfs:subClassOf languagerepresentation:Collection .

languagerepresentation:LivingLanguage a rdfs:Class ;
  rdfs:label "living language" ;
  rdfs:comment "an individual language or variant in use today by some speech community" ;
  rdfs:subClassOf languagerepresentation:Language .

languagerepresentation:SpecialPurposeLanguageConcept a rdfs:Class ;
  rdfs:label "special purpose language concept" ;
  rdfs:comment "a language concept introduced in ISO 639-3 to satisfy special-purpose requirements, typically to support application constraints" ;
  rdfs:subClassOf languagerepresentation:Language .

languagerepresentation:AncientLanguage a rdfs:Class ;
  rdfs:label "ancient language" ;
  rdfs:comment "an extinct language that has an attested literature and is recognized as having special status in the academic community" ;
  rdfs:subClassOf languagerepresentation:ExtinctLanguage .

languagerepresentation:Transcription a rdfs:Class ;
  rdfs:label "transcription" ;
  rdfs:comment "the representation of speech or signing in written form" .

languagerepresentation:IndividualLanguageIdentifier a rdfs:Class ;
  rdfs:label "individual language identifier" ;
  rdfs:comment "a language identifier whose scope is that of an individual (distinct) language" ;
  rdfs:subClassOf languagerepresentation:LanguageIdentifier .

languagerepresentation:RemainderGroup a rdfs:Class ;
  rdfs:label "remainder group" ;
  rdfs:comment "a group of languages that explicitly excludes certain individual languages" ;
  rdfs:subClassOf languagerepresentation:LanguageGroup .

languagerepresentation:NaturalLanguage a rdfs:Class ;
  rdfs:label "natural language" ;
  rdfs:comment "a language used in human communications that is not artificial in nature" ;
  rdfs:subClassOf languagerepresentation:Language .

<https://w3id.org/linkml/Any> a rdfs:Class ;
  rdfs:comment "An unconstrained type or object" .

languagerepresentation:CodeElement a rdfs:Class ;
  rdfs:label "code element" ;
  rdfs:comment "a sequence of characters denoting something that it is associated with for some purpose, within a specified context, according to some rule set" .

languagerepresentation:hasDenotation a rdf:Property ;
  rdfs:label "has denotation" ;
  rdfs:comment "has meaning, expresses" ;
  rdfs:range xsd:string ;
  rdfs:subPropertyOf languagerepresentation:has .

languagerepresentation:hasName a rdf:Property ;
  rdfs:label "has name" ;
  rdfs:comment "associates a name, reference name, or appellation with an individual concept" ;
  rdfs:range <https://w3id.org/linkml/Any> .

languagerepresentation:isIdentifiedBy a rdf:Property ;
  rdfs:label "is identified by" ;
  rdfs:comment "has an indicator or label, that is unique within some context" ;
  rdfs:range <https://w3id.org/linkml/Any> .

languagerepresentation:isMemberOf a rdf:Property ;
  rdfs:label "is member of" ;
  rdfs:comment "belongs, either individually or collectively, to a group" ;
  rdfs:range <https://w3id.org/linkml/Any> .
