Capturing relationships between labels
This page provides some background and discussion relating to various types of links between labels found in some thesauri, and also in other types of concept scheme. This page relates to ISSUE-26: RelationshipsBetweenLabels.
SKOS allows to represent semantic relationships (broader, related) between concepts. It also allows to represent relationships between concepts and labels (prefLabel, altLabel). However, there is nothing proposed in SKOS to capture links between labels themselves, a configuration which sometimes happens in concept schemes.
Proposals:
Proposal one "LabelRelation", mail by Guus http://lists.w3.org/Archives/Public/public-swd-wg/2007Feb/0181.html, modified in http://lists.w3.org/Archives/Public/public-swd-wg/2007Feb/0195.html
Proposal two "LabelAnnotation", mail by Alistair http://lists.w3.org/Archives/Public/public-swd-wg/2007Mar/0092.html
/ProposalThree "Simple Extension", by Guus, http://lists.w3.org/Archives/Public/public-swd-wg/2007May/0057.html
/ProposalFour "Minimal Label Relation", by Alistair, similar to proposal one but generalised for label relations of any arity.
notice: these proposals, more recent that the wiki page below, do not necessarily propose the same solutions. Roughly proposals one and two are comparable to the second solution of this page, while proposal three is comparable to the third solution.
Motivation
The need for links between labels associated to concepts, whether preferred or alternative ones, occurs in the following situations:
- monolingual terminological and lexical knowledge:
synonym, e.g. ("bucket", synonym, "pail") (from EucAimsDetailed)
antonym, e.g. (domestic_flight-noun-1, antonym, international_flight-noun-1) (from Wordnet)
abbreviation, e.g. ("Corp.", abbreviation_of, "Corporation") (from EucAimsDetailed)
acronym, e.g. ("Food and Agriculture Organization", acronym, "FAO") (from EucAimsDetailed)
spelling variant, e.g. ("organisation", spelling_variant, "organization") (from EucAimsDetailed)
Motivating use cases: EucAimsDetailed; RucPersonalizedTV (using Wordnet); RucHilt, RucIntraLibrary, RucSeaLife and EucBiozen (using MeSH, which includes such links, as mentioned in a mail by Mark van Assem)
- multilingual terminological knowledge
translation at term level, e.g. ("vache" (FR), translation, "cow" (EN)) (from EucAimsDetailed).
Notice: especially relevant when the concept has preferred label "bovine" and has as English alternative labels "cow", "bull", and "buffalo" which have indovidual translation links to "vache", "taureau", and "buffle".
translation between languages from different levels, e.g. ("African violet", scientific_taxonomic_name, "Saintpaulia")
Notice: also interesting with "bovine" which can be translated into scientific "bovinae" while "buffalo" should be translated to something else.
Motivating use cases: EucAimsDetailed, EucIconclassDetailed (though keywords there are very specific kind of index labels). A mail by Paul Hermans refers to OECD Macrothesaurus and ILO thesaurus cases. another mail by Ron Davies mentions personal experience about these caracteristics.
Possible modelling approaches
SKOS current version does not provide support for representing links between labels. Worse, SKOS current version prohibits designing extensions to SKOS vocabulary that would cope with this problem, e.g. by introducing a simple abbreviation RDF properties. Such extensions would indeed require labels to be modeled as RDF resource, which is contradictory to current SKOS specifying RDFS literal as the range of its labelling properties (e.g. skos:prefLabel).
First solution: Term-as-class
This solution is described e.g. in Mark van Assem's change proposal. Its goal is to provide a way to represent "terms" as instances of a class so that additional properties can be attached to them. It basically consists of:
introducing a new class (Term, Label or any more convenient name) in the SKOS vocabulary
- renaming skos:prefLabel/skos:altLabel to skos:prefTerm/skos:altTerm
- changing the range of these properties into skos:Term
An example of extension to a SKOS vocabulary using this solution for a specific concept scheme could be:
ex_SKOSext:acronym rdf:type rdf:property; rdfs:domain skos:Term; rdfs:range skos:Term. ex_voc:c rdf:type skos:Concept; skos:prefTerm ex_voc:t; skos:altTerm ex_voc:u. ex_voc:t rdf:type skos:Term; rdfs:label "Food and Agriculture Organization"; ex_SKOSext:acronym ex_voc:u. ex_voc:u rdf:type skos:Term; rdfs:label "FAO".
Notice: this example uses rdfs:label as the property linking the term object to the literal which "embodies" it, but another property might be coined and choose by the SKOS vocabulary for this purpose. Whatever be the name, convenient semantics should be enforced: a Term shall not have more than one rdfs:label per language.
Second solution: link as annotation based on n-ary relation pattern
This is the solution proposed by Alistair's note on annotation patterns, adapted to the special problem of creating links between terms.
It basically consists of:
introducing a new class (skos:LabelRelation, or any more convenient name) in the SKOS vocabulary, as a specialization of skos:Annotation class of SkosDesign/AnnotationPatterns
introducing new properties skos:relationSubject and skos:relationObject as specialization of the skos:annotatesLiteral property of SkosDesign/AnnotationPatterns
assigning the domain of these properties to skos:LabelRelation and their range as rdfs:literal
An example of extension to a SKOS vocabulary using this solution for a specific concept scheme could be:
ex_SKOSext:AcronymRelation rdfs:subClassOf skos:LabelRelation. ex_voc:c rdf:type skos:Concept; skos:prefLabel "Food and Agriculture Organization"; skos:altLabel "FAO". ex_voc:a rdf:type ex_SKOSext:AcronymRelation; skos:relationSubject "Food and Agriculture Organization"; skos:relationObject "FAO".
Third solution: keeping standard SKOS and Term-as-class solutions co-existing
@@ TODO: retrieve reference (solution was mentioned in a mail by Mark) @@
The goal of this alternative is to stay compatible with current simple labelling model, while allowing to represent links between labels. For that it is expected that current SKOS labelling pattern and Term-as-class one can co-exist, together with bridge rules allowing to convert data from one model to the other.
This can be done by:
introducing prefTerm and altTerm parallel to keeping prefLabel and altLabel
specifying "conversion" axioms such as: [warning, this shall be reformulated properly]
The interpretation of skos:prefLabel shall coincide with the (mathematical) composition of the two relations implied by the interpretations of skos:prefTerm and rdfs:label |
Comparison between two main solutions
http://www.w3.org/2006/07/SWD/wiki/SkosDesign/RelationshipsBetweenLabels/Comparison
References
Many discussion elements on representing annotation on labels are also relevant for the problem of representing links between labels:
http://www.w3.org/2004/02/skos/core/proposals.html#thesaurusRepresentation-11 Thesaurus representation issues from the old SKOS Proposals and issues list, linking to different mail threads on representing labels as resources.
http://www.w3.org/2006/07/SWD/wiki/SkosDesign/AnnotationPatterns on using N-ary relation pattern for representing annotations on labels.