This is an archive of an inactive wiki and cannot be modified.

SKOS Simple Knowledge Organisation System

This page is superseded by the SKOS XL Editor's Draft.


XL: eXtension for Labels

Preamble

This is a sketch for a SKOS extension called "XL", which is designed to provide richer facilities for modeling lexical entities.

Note the namespace prefix xl: is used here to denote a hypothetical namespace for the XL extension vocabulary. This namespace is not established, and it remains an open question whether the W3C SWD WG should take responsibility for defining this extension or whether this should be left to third parties in the SKOS community of use.

The purpose of this document is merely to sketch a SKOS extension that might satisfy more advanced requirements concerning the modeling and description of lexical entities, and to demonstrate that such an extension could be compatible with the current SKOS Reference Working Draft @@TODO date.

The XL extension defines a new class xl:Label. An instance of the class xl:Label is known here as a lexical label resource. Instances of this class have a precisely defined logical nature, which is defined in the data model below, and which may be counter-intuitive to some, so must be read with care.

In particular, note that a lexical label resource has a single, unique literal form. The literal form of a lexical label resource is an RDF plain literal, which is a UNICODE string with an optional language tag.

Two different lexical label resources may share the same literal form. In other words, if two lexical label resources share the same literal form, they are not necessarily the same lexical label resource. The data model has been defined in this way, to enable lexical label resources to be part of concept schemes or other aggregations, and for their membership in such aggregations to be part of their identity.

This extension also defines four properties xl:prefLabel, xl:altLabel, xl:hiddenLabel and xl:labelRelated which mirror the four properties in the SKOS vocabulary of similar name. The data model below defines the precise logical relationships between these four XL properties and their SKOS counterparts.

Below, "the XL data model" refers to the data model defined in this document, "the SKOS data model" refers to the data model defined in @@TODO link, and "the SKOS+XL data model" refers to the conjunction of these two data models.

Vocabulary

xl:Label xl:prefLabel xl:altLabel xl:hiddenLabel xl:labelRelated xl:literalForm

Class & Property Definitions

xl:Label is an instance of owl:Class.

xl:prefLabel, xl:altLabel, xl:hiddenLabel and xl:labelRelated are each instances of owl:ObjectProperty.

The rdfs:range of each of xl:prefLabel, xl:altLabel xl:hiddenLabel and xl:labelRelated is the class xl:Label.

The rdfs:domain of xl:labelRelated is the class skos:LabelRelation

xl:literalForm is an instance of owl:DatatypeProperty.

xl:literalForm is an instance of owl:FunctionalProperty.

The rdfs:domain of xl:literalForm is the class xl:Label.

The rdfs:range of xl:literalForm is the class of RDF plain literals.

For any R, L, V, if <R, L> is in IEXT(I(xl:prefLabel)) and <L, V> is in IEXT(I(xl:literalForm)) then <R, V> is in IEXT(I(skos:prefLabel))

For any R, L, V, if <R, L> is in IEXT(I(xl:altLabel)) and <L, V> is in IEXT(I(xl:literalForm)) then <R, V> is in IEXT(I(skos:altLabel))

For any R, L, V, if <R, L> is in IEXT(I(xl:hiddenLabel)) and <L, V> is in IEXT(I(xl:literalForm)) then <R, V> is in IEXT(I(skos:hiddenLabel))

For any R, L, V, if <R, L> is in IEXT(I(xl:labelRelated)) and <L, V> is in IEXT(I(xl:literalForm)) then <R, V> is in IEXT(I(skos:labelRelated))

Examples

The example below illustrates the use of the XL vocabulary in conjunction with the SKOS vocabulary to describe the preferred, alternate and hidden lexical labels for a concept, and is consistent with the SKOS+XL data model.

ex:foo rdf:type skos:Concept;
  xl:prefLabel ex:bar;
  xl:altLabel ex:baz;
  xl:hiddenLabel ex:qux.

ex:bar rdf:type xl:Label;
  xl:literalForm "bar"@en.

ex:baz rdf:type xl:Label;
  xl:literalForm "baz"@en.

ex:qux rdf:type xl:Label;
  xl:literalForm "qux"@en.

The example below illustrates the use of the XL vocabulary in conjunction with the SKOS vocabulary to describe a relationship between two lexical label resources, and is consistent with the SKOS+XL data model.

ex:fooRelation rdf:type skos:LabelRelation;
  xl:labelRelated ex:bar;
  xl:labelRelated ex:baz.

ex:bar rdf:type xl:Label;
  xl:literalForm "bar"@en.

ex:baz rdf:type xl:Label;
  xl:literalForm "baz"@en.

The 3 examples below are each inconsistent with the XL data model, because xl:literalForm is a functional property.

ex:fooLabel xl:literalForm "foo", "bar".

ex:fooLabel xl:literalForm "foo"@en, "bar"@en.

ex:fooLabel xl:literalForm "foo"@en, "foo"@fr.

Notes

Inference Rules

The following inference rules follow from the class & property definitions stated above.

If E contains

then add

uuu xl:prefLabel xxx .
xxx xl:literalForm lll.

uuu skos:prefLabel lll .

uuu xl:altLabel xxx .
xxx xl:literalForm lll.

uuu skos:altLabel lll .

uuu xl:hiddenLabel xxx .
xxx xl:literalForm lll.

uuu skos:hiddenLabel lll .

uuu xl:labelRelated xxx .
xxx xl:literalForm lll.

uuu skos:labelRelated lll .

The examples below illustrate entailments which follow from the SKOS+XL data model, and which can be deduced via the above inference rules.

A first example

ex:foo
  xl:prefLabel ex:bar;
  xl:altLabel ex:baz;
  xl:hiddenLabel ex:qux.

ex:bar rdf:type xl:Label;
  xl:literalForm "bar"@en.

ex:baz rdf:type xl:Label;
  xl:literalForm "baz"@en.

ex:qux rdf:type xl:Label;
  xl:literalForm "qux"@en.

entails

ex:foo 
  skos:prefLabel "bar"@en;
  skos:altLabel "baz"@en;
  skos:hiddenLabel "qux"@en.

A second example

ex:fooRelation rdf:type skos:LabelRelation;
  xl:labelRelated ex:bar;
  xl:labelRelated ex:baz.

ex:bar rdf:type xl:Label;
  xl:literalForm "bar"@en.

ex:baz rdf:type xl:Label;
  xl:literalForm "baz"@en.

entails

ex:fooRelation
  skos:labelRelated "bar"@en;
  skos:labelRelated "baz"@en.

SKOS Labeling Integrity Conditions

The SKOS data model defines a number of integrity conditions on the properties skos:prefLabel, skos:altLabel and skos:hiddenLabel. Because of the entailments that follow from the XL data model, it is possible to violate the SKOS labeling integrity conditions by using the XL vocabulary.

For example, the graph below is not consistent with the SKOS+XL data model, due to the cardinality condition on skos:prefLabel (no more than one preferred lexical label per language).

ex:foo 
  xl:prefLabel ex:bar, ex:baz.

ex:bar xl:literalForm "bar"@en.

ex:baz xl:literalForm "baz"@en.

Inconsistencies can also arise due to the pairwise disjointness of skos:prefLabel, skos:altLabel and skos:hiddenLabel. For example, the graph below is not consistent with the SKOS+XL data model, due to the disjointness of skos:prefLabel and skos:altLabel.

ex:foo 
  xl:prefLabel ex:bar;
  xl:altLabel ex:baz.

ex:bar xl:literalForm "foo"@en.

ex:baz xl:literalForm "foo"@en.

Lexical Label Resources and RDF Plain Literals

As stated above in the preamble, an XL lexical label resource has a single, unique literal form, which is an RDF plain literal. However, two different lexical labels can share the same literal form. Therefore, the entailment illustrated below is not supported by the XL data model.

ex:foo xl:literalForm "foo"@en.

ex:bar xl:literalForm "foo"@en.

does not entail

ex:foo owl:sameAs ex:bar.

Note also that the entailment illustrated below does not hold.

ex:foo skos:prefLabel "bar"@en.

does not entail

ex:foo xl:prefLabel [ xl:literalForm "bar"@en ].