This section last edited on DateTime() is part of the ["SKOS/Semantics"] wiki draft. The following open issues are directly associated with this module: [http://www.w3.org/2006/07/SWD/track/issues/31 ISSUE-31]. The following open issues may have a bearing on this module: [http://www.w3.org/2006/07/SWD/track/issues/26 ISSUE-26], [http://www.w3.org/2006/07/SWD/track/issues/27 ISSUE-27].
Module: Labelling
This module defines a semantics for the basic labelling properties available in SKOS.
Vocabulary |
skos:prefLabel skos:altLabel skos:hiddenLabel |
The triples below define semantic conditions on the interpretation of this vocabulary.
Axiomatic Triples |
skos:prefLabel rdf:type owl:AnnotationProperty. BR skos:altLabel rdf:type owl:AnnotationProperty. BR skos:hiddenLabel rdf:type owl:AnnotationProperty. BR skos:prefLabel rdfs:range rdfs:Literal. [OWL-Full] BR skos:altLabel rdfs:range rdfs:Literal. [OWL-Full] BR skos:hiddenLabel rdfs:range rdfs:Literal. [OWL-Full] BR skos:prefLabel rdfs:subPropertyOf rdfs:label. [OWL-Full] BR skos:altLabel rdfs:subPropertyOf rdfs:label. [OWL-Full] BR skos:hiddenLabel rdfs:subPropertyOf rdfs:label. [OWL-Full] |
There are no further semantic conditions on the interpretation of this vocabulary.
Intuitively, it doesn't make sense for a resource to have more than one "preferred" label in any given language, or for a label to be both "preferred" and "alternative", or for a label to be both "alternative" and "hidden", or for a label to be both "preferred" and "hidden". Note however that these intuitions are not handled within the semantics, but are handled instead at a syntactic level (see the syntactic conditions given below), which is perhaps easier to implement and allows error-tolerant strategies to be defined.
This means that, under the semantics given above, the examples below are logically consistent, even though they are intuitively inconsistent.
ex:a skos:prefLabel "foo"@en. ex:a skos:prefLabel "bar"@en.
ex:a skos:prefLabel "foo"@en. ex:a skos:altLabel "foo"@en.
ex:a skos:altLabel "foo"@en. ex:a skos:hiddenLabel "foo"@en.
ex:a skos:prefLabel "foo"@en. ex:a skos:hiddenLabel "foo"@en.
Syntactic conditions on the use of this vocabulary are given below.
Syntactic Conditions |
An application MAY ignore any triple in an RDF graph where the predicate is either skos:prefLabel, skos:altLabel or skos:hiddenLabel and the object is NOT a plain literal. |
Where an RDF graph contains more than one triple where the subject is the same, the predicate is skos:prefLabel, and the object is a plain literal with the same language tag, an application SHOULD ignore all but one of these triples. |
An application SHOULD ignore a triple in an RDF graph where the predicate is skos:hiddenLabel and the graph contains another triple with the same subject and object, but with skos:altLabel or skos:prefLabel as predicate. |
An application SHOULD ignore a triple in an RDF graph where the predicate is skos:altLabel and the graph contains another triple with the same subject and object, but with skos:prefLabel as predicate. |
The first syntactic condition means that applications are only obliged to handle plain literals in the object position where these predicates are used. For example, an application MAY ignore the following triples:
ex:a skos:prefLabel ex:b. ex:c skos:altLabel _:xxx.
The second syntactic condition specifies the recommended way for an application to handle more than one preferred label in any given language. For example, an application SHOULD ignore all but one of the following triples:
ex:a skos:prefLabel "foo"@en. ex:a skos:prefLabel "bar"@en. ex:a skos:prefLabel "baz"@en.
The third and fourth syntactic conditions specify the recommended way for an application to handle "clashes" between skos:prefLabel, skos:altLabel and skos:hiddenLabel. For example, an application SHOULD ignore the second triple in each of the three graphs below.
ex:a skos:prefLabel "foo"@en. ex:a skos:altLabel "foo"@en.
ex:a skos:prefLabel "foo"@en. ex:a skos:hiddenLabel "foo"@en.
ex:a skos:altLabel "foo"@en. ex:a skos:hiddenLabel "foo"@en.
These syntactic conditions are intended to provide applications with an error-tolerant way of handling intuitively inconsistent data, which may easily arise where graphs are being merged from multiple sources. Nevertheless, producers of SKOS data are strongly advised to ensure that the graphs they produce do not contain any triples which trigger these syntactic conditions.