ISO 639-1 Codes for the representation of names of languages - Part 1: Alpha-2 code, First edition, 2002-07-15
ISO 639-2 Codes for the representation of names of languages - Part 2: Alpha-3 code, First edition, 1998-11-01
ISO 639-3 Codes for the representation of names of languages - Part 3: Alpha-3 code for comprehensive coverage of languages, First edition, 2007-02-01
ISO 639-4 Codes for the representation of names of languages - Part 4: General principles of coding of the representation of names of languages and related entities, and application guidelines, First edition, 2010-07-15
ISO 639-5 Codes for the representation of names of languages - Part 5: Alpha-3 code for language families and groups, First edition, 2008-05-15
ISO 639-6 Codes for the representation of names of languages - Part 6: Alpha-4 code for comprehensive coverage of language variants, First edition, 2009-12-01
Copyright (c) 2015-2021 Object Management Group, Inc.
Copyright (c) 2015-2021 Thematix Partners LLC
This ontology, based on ISO 639 as well as the language element of the Language Tag specified in BCP 47 (RFC 4646, RFC 4647), provides a systemic description of the vocabulary used for language representation, including natural and artificial languages. ISO 639 provides two language codes, one as a two-letter code (ISO 639-1) and another as a three-letter code (ISO 639-2, ISO 639-3, ISO 639-5) for the representation of names of languages. ISO 639-1 was devised primarily for use in terminology, lexicography, and linguistics. ISO 639-2 represents all of the languages contained in ISO 639-1, additional languages and language groups, as they may be coded for special purposes when more specificity in coding is needed. The languages listed in ISO 639-1 are a subset of the languages listed in ISO 639-2; every language code element in the two-letter code has a corresponding language code element in the three-letter code, but not necessarily vice versa. ISO 639-4 provides the basis for describing languages, as defined in this ontology, and additional codes are provided in 639-5 and other parts of the standard, again with more details about macrolanguages, other lesser known independent languages, and special language groups. ISO 639-3 extends the set of three-letter codes provided in 639-2 to cover all of the natural, human languages in use today, along with many well-known ancient, extinct, and historical languages, including written and signed languages. It also identifies the codes found in 639-2 that represent families or groups of languages rather than a single human language, depending on the perspective of the consumer. The Registration Authority for ISO 639-1 is the International Information Centre for Terminology, ISO 639-1/RA. This organization is responsible for maintenance of Part-1, and more information can be found at http://www.infoterm.info/standardization/iso_639_1_2002.php, although the actual code set is maintained by the US Library of Congress, together with the code set for ISO 639-2. The Registration Authority for ISO 639-2 is the Library of Congress, ISO 639-2/RA. The Library of Congress is responsible for maintenance of Part-2, at http://www.loc.gov/standards/iso639-2/iso639-2ra.html. Current code sets for ISO 639-1 and ISO 639-2 are available from this site, as mentioned above. In addition to the material covered in the basic standard, the Library of Congress also publishes the German names for all languages, which is reflected in the properties given below. See http://loc.gov/standards/iso639-2/php/code_list.php for the latest release. The Registration Authority for ISO 639-3 is SIL International, ISO 639-3/RA. SIL International is responsible for maintenance of Part-3, and more information can be found at http://www.sil.org/iso639-3/default.asp. The codes included herein also correspond to the language element of the Language Tag specified in BCP 47 (RFC 4646, RFC 4647), and can be used for matching or other application development purposes (e.g., use of language identifier literals in applications that build up the RFC 4646 based tags). This ontology (Language Representation) defines the model for the standard, based in part on ISO 639-4, with individual codes for the other parts of the standard represented in dependent models.
BCP 47, Tags for Identifying Languages, see http://tools.ietf.org/html/bcp47
The http://www.omg.org/spec/LCC/20151101/Languages/LanguageRepresentation.rdf version of this ontology was revised to reflect the issues addressed by the LCC 1.0 FTF report.
The http://www.omg.org/spec/LCC/20171801/Languages/LanguageRepresentation.rdf version of this ontology was revised to loosen the range constraints on the hasName properties to enable use of language tags, as stated in the LCC 1.1 RTF report.
The http://www.omg.org/spec/LCC/20190201/Languages/LanguageRepresentation.rdf version of this ontology was revised to loosen the domain constraint on the hasTag property to make it more broadly usable, and loosened the constraint that an Identifier identifies exactly 1 thing to at least 1 thing to address cases where identifiers are reused, as stated in the LCC 1.2 RTF report.
This ontology is ultimately intended to represent all of ISO 639 for reference purposes, and to be sufficiently extensible to accommodate new sections or modifications as they are published. The current version of the ontology (including subordinate modules containing the language names and codes) provides a unique English name (i.e., the reference name from 639-3) for each language, with UTF-8 encoded literals specifying alternates in English, French, and Indigenous languages where present in the standard, and in German corresponding to the names on the LoC web site. 1. Where multiple English names occur in 639-1 and 639-2, we have used the primary name specified in 639-2:1998 superseded by the latest revision posted by the registration authority, or, where multiples are specified by the registration authority, the reference name from ISO 639-3 as the 'named individual name' for a given language. For languages specified in ISO 639-1, there is at least one English name and at least one French name for every language, corresponding to exactly one alpha-2 code. Most languages from ISO 639-1 have at least one indigenous name. Most languages with codes available from the Library of Congress also have at least one German name. The correspondence between the alpha-2 codes and languages are made explicit in the individuals representing the codes themselves, and can be inferred for the languages using an OWL DL reasoner. 2. This release of the ontology covers all languages specified in parts 1 and 2 of the standard, and categorizes the alpha-3 codes from part 2 according to the categorization scheme provided in parts 3 and 4. Subsequent releases of the ontology will address additional languages covered in part 3, as well as additional components of the standard, such as equivalence to standards representing relevant scripts, as they become available, and the language groups covered by ISO 639-5. 3. We have used individuals to represent all alpha-2 and alpha-3 codes, which, in turn, have matching strings (tags) associated with them for use in a variety of applications to facilitate reasoning and mapping. The strings are provided as datatype properties of the individuals to support applications that may require them for RFC 4646-style tagging. 4. Note that some tools, including certain UML tools, are case insensitive. Thus, in cases where a language name collides with an alpha-2 or alpha-3 code, (i.e., Ga, Ewe, Fon, Ido, Lao, Tiv, Twi, Vai, and Yao), the names for the individual codes have been extended with '_1' (e.g., 'ewe_1'). 5. We found a few anomalies in the standards while developing this ontology. These include: (1) Bihari is included in the 2002 version of 639-1, in the 1998 version of 639-2, and in the online codes posted by the Library of Congress in 2007 for parts 1 and 2, with part 1 code of 'bh' and part 2 bibliographic and terminology codes of 'bih'. At that time, there was no discussion stating that Bihari is a collective language, although it was omitted from the downloadable data for 639-3. Since then, the language element has been renamed 'Bihari languages', in both English and French, without change to the corresponding language codes. The latest version of the code sets reflect this modification. Our assumption is that the trigraph for Bihari is a collective language code, which is supported by online research in Eastern Indic languages. (2) Serbo-Croatian was included in the 2002 version of 639-1, with part 1 code 'sh'. It was not mentioned in the 1998 version of 693-2, but appears in 639-3 with a language identifier of 'hbs', without codes for 639-2. As of 2010, Serbo-Croation has been eliminated from ISO 639-1 and 639-2 codes altogether, and the ontology reflects this. (3) Other changes in the latest version of the ontology include elimination of the 639-1 code for Moldavian, merging the language with Romanian, and additional English and French names for some languages, such as Dutch (to include Flemish, flamais), among others. (4) German names for languages in ISO 639-2 were added to the Library of Congress in 2014, and are supported in this version of the ontology. 6. The LCC 1.0 version of this ontology, published in advance of the 2017 New Orleans OMG Technical Meeting, was current as of 31 July 2017 with respect to the ISO 639-1 and 639-2 codes included herein.
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
In the ISO 639-1 language code, each language identifier is composed of two letters (lower case letters from the Latin alphabet, corresponding to characters 97 through 122 of the UTF-8 encoding), without diacritical marks or other encodings of any kind.
The identifiers are not abbreviations for the languages they identify. They are derived in some way from the indiginous language name or from preferences of the relevant speech community.
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
In the ISO 639-2 language code, each language identifier is composed of three letters (lower case letters from the Latin alphabet, corresponding to characters 97 through 122 of the UTF-8 encoding), without diacritical marks or other encodings of any kind.
Two code sets are provided in ISO 639-2, one for bibliographic applications and one for terminology applications. Some of these are considered collective language codes, referring to a family of languages, and there are a few special purpose codes for use in various applications. ISO 639-3 provides a single, three character code for each individual language or macrolanguage. Additional codes for language families and groups are specified in other parts of the standard.
an extinct language that has an attested literature and is recognized as having special status in the academic community
Ancient languages may have either individual or collective language codes. See section 4.1.5, ISO 639-2, for an explanation of the latter case.
a structure or means of organizing information such as a schema, numbering system, organization scheme, measurement system, taxonomy, or language for organizing information
a language for human communication that has been artificially devised
Artificial languages do not include reconstructed languages or computer programming languages.
an alpha-3 code that is a member of the set of bibliographic codes in ISO 639-2
ISO/IEC 11179-3 Information technology - Metadata registries (MDR) - Part 3: Registry metamodel and basic attributes, Third edition, 2013-02-15
a sequence of characters denoting something that it is associated with for some purpose, within a specified context, according to some rule set
a system of alpha-numeric symbols, or combinations of symbols, that stand for specified values in some context
a grouping of some variable number of things (may be zero) that have some shared significance
a language identifier or code used to represent a group of languages
See section 4.1.1, ISO 639-2, for an explanation of the usage of such codes, and section 4.1.3 to gain understanding of the distinction between collective language and macrolanguage codes.
a language variant that is specific to a geographical region or speech community
Dialects are typically represented via the same language code as the code for the primary language, with a few exceptions for well-known dialects. See sections 4.1.3 and 4.1.4, ISO 639-2 for additional details on the treatment of dialects in the standard.
an individual language or variant that is no longer in use and has no current descendant
a well-known prior version of a living or extinct language
a system for allocating identifiers to objects
a sequence of characters uniquely identifying something that it is associated with for some purpose and within a specified context
Text-valued tags are included here as they may be useful for automated transformation or encoding systems, such as those used to produce IETF compliant language tags in XML.
a language that can be distinguished from another language by some set of rules
Identifiers in Parts 1, 2, and 3 of ISO 639 are assumed to denote distinct individual languages, unless the language name explicitly refers to a language group. See section 4.2 in ISO 639-4 for a detailed explanation of the definition of individual language in the context of the ISO 639 standard.
a language identifier whose scope is that of an individual (distinct) language
a systematic use of sounds, characters, symbols or signs to communicate meaning
a group of individual languages related to each other through common ancestry
a collection of two or more individual languages, treated as a group for some purpose
See section 4.6 in ISO 639-4 for additional explanatory material for language groups.
a string of characters that uniquely identifies a linguistic entity
In the language codes of Parts 1, 2, 3, and 5 of ISO 639, each language identifier is composed of two or three letters.
a variation of an individual language that is sufficiently unique that it can be identified and named
continuous change within and between individual languages
Language variation may include change over time, space, cultural affiliation, etc.
an individual language or variant in use today by some speech community
a language that may be viewed in some circumstances as an individual language, but actually represents two or more individual languages
See sections 4.1 and 4.3 of ISO 639-4 for an extensive description of macrolanguages and how they are different from language groups.
a language identifier whose scope is that of a macrolanguage
a language used in human communications that is not artificial in nature
a set of conventions and rules for representing language in written form
The orthographic rules for a given language may include rules of spelling, hyphenation, capitalization, word breaks, emphasis, and punctuation. Languages that have multiple writing systems may have distinct orthographies and scripts.
a group of languages that explicitly excludes certain individual languages
a set of graphic characters used to represent one or more languages in writing
Use of multiple writing systems does not mean that multiple language identifiers are necessary for a language. ISO 639 language identifiers may be combined with script identifiers from ISO 15924 (e.g., BCP 47).
a language identifier whose scope is that of a special purpose language construct
a language concept introduced in ISO 639-3 to satisfy special-purpose requirements, typically to support application constraints
an individual language or language variant that is articulated through speech (oral or vocal) sounds
a language variant with a high degree of status and normalization, typically used in public discourse, centers of government and commerce
a language identifier whose scope is that of terminological codes
the representation of speech or signing in written form
The resulting text is also referred to as a transcription.
the conversion of text from one script to another without loss of information
The resulting text is also referred to as a transliteration.
a system for writing a language, including the requisite script and character set
the representation of a language via a writing system, with a relatively normalized orthography
serves as a linguistic expression of the notion of, means
indicates that someone (or something) possesses something, such as a characteristic, attribute, feature, or capability
relates a language to an earlier form (historically significant) of that same language
associates a name in English with an individual concept
associates a name in French with an individual concept
associates a name in German with an individual concept
associates a local regional or cultural name with an individual concept
relates something, typically a collection, group or organization, to some discrete thing identified as a member of it
associates a name, reference name, or appellation with an individual concept
Note that the hasName properties defined herein have an implicit range of rdfs:Literal. This is purposeful, so that users can specify any element that has a name with or without a language tag without concern for conflicting datatypes (i.e., xsd:string vs. rdf:langString, which are logically disjoint).
a unique combination of alphanumeric characters corresponding to the identifier
recognizes or establishes within some context
has an indicator or label, that is unique within some context
belongs, either individually or collectively, to a group