N.B. This document refers to the SKOS Core Vocabulary, which has been modified since the publication of this document series. Please see http://www.w3.org/2004/02/skos/core/guide/ for the latest version of the SKOS Core Guide.
This document is an introduction and guide to the RDF thesaurus vocabulary extension for defining inter-thesaurus mappings and equivalence relationships. It gives recommendations and examples for defining mappings between concepts from different thesauri, and using these mappings to enable inter-thesaurus interoperability.
This section describes the status of this document at the time of its publication. This is a draft document and may be updated, replaced, or obsoleted by other documents at any time. The latest status of this document series is maintained at the W3C.
This document is a public DRAFT for discussion. This document is an output of the research work of the Semantic Web Advanced Development for Europe Project, which is associated with the W3C Semantic Web Activity. This document is made available by W3C for discussion only. Publication of this document by W3C does not imply endorsement by W3C, including the Team and Membership.
Comments on this document are welcome and should be sent to the authors or to the public-esw-thes@w3.org list. An archive of this list is available at http://lists.w3.org/Archives/Public/public-esw-thes/.
Appendix. SKOS-Mapping RDF Schema
This document is an introduction to the SKOS-Mapping RDF schema [3]. SKOS-Mapping is a schema designed to support inter-thesaurus mappings within an RDF framework.
Every mapping has a source and a target. The source will be a single concept from the source thesaurus. The target may be a single concept, or some combination of concepts from the target thesaurus.
The SKOS-Mapping schema consists of a set of mapping properties (exact, inexact, major, minor, partial, broad, narrow). It also contains a set of constructs for creating mapping targets from combinations of concepts (AND, OR, NOT).
The examples below involve mappings between the HPMulti Thesaurus for Health Promotion [6] and the UK Government Category List (GCL) thesaurus of subject headings [8].
The following class definitions are assumed (see SWAD-Europe deliverable 8.1 for more on how to define thesaurus concepts in RDF [2]):
HPMulti and GCL class definitions
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"> <rdfs:Class rdf:about="http://www.govtalk.gov.uk/gcl/Concept"> <rdfs:label>GCL Thesaurus Concept</rdfs:label> <rdfs:subClassOf rdf:resource="http://www.w3c.rl.ac.uk/2003/11/21-skos-core#Concept"/> </rdfs:Class> <rdfs:Class rdf:about="http://www.hpmulti.net/Concept"> <rdfs:label>HPMulti Thesaurus Concept</rdfs:label> <rdfs:subClassOf rdf:resource="http://www.w3c.rl.ac.uk/2003/11/21-skos-core#Concept"/> </rdfs:Class> </rdf:RDF>
Exact mapping property hierarchy
skos-map:semanticMapping | +--skos-map:exactMapping
Usage: Use this property when the intension of the source concept is identical to the intension of the target.
Example of exact mapping
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:hpm="http://www.hpmulti.net/" xmlns:gcl="http://www.govtalk.gov.uk/gcl/" xmlns:map="http://www.w3c.rl.ac.uk/2003/11/21-skos-mapping#" xmlns="http://www.w3c.rl.ac.uk/2003/11/21-skos-core#"> <hpm:Concept> <prefLabel>Health care</prefLabel> <map:exactMatch> <gcl:Concept> <prefLabel>Health care</prefLabel> </gcl:Concept> </map:exactMatch> </hpm:Concept> <hpm:Concept> <prefLabel>Family planning</prefLabel> <map:exactMatch> <gcl:Concept> <prefLabel>Family planning</prefLabel> </gcl:Concept> </map:exactMatch> </hpm:Concept> <hpm:Concept> <prefLabel>Crime</prefLabel> <map:exactMatch> <gcl:Concept> <prefLabel>Crime</prefLabel> </gcl:Concept> </map:exactMatch> </hpm:Concept> </rdf:RDF>
N.B. an exact mapping can be made between two concepts whose preferred labels are not identical, as long as the intended meaning is the same.
Inexact mapping property hierarchy
skos-map:semanticMapping | +--skos-map:inexactMapping
Usage: Use this property when there is some overlap in the intended meaning of source and target concepts.
NB. This property is provided for backwards compatibility with mappings conforming to ISO 1985:5964 [7]. It is recommended to use major or minor mappings instead, wherever possible.
Major mapping property hierarchy
skos-map:semanticMapping | +--skos-map:inexactMapping | +--skos-map:majorMapping
Usage: Use this property when there is significant overlap in the intended meaning of source and target concepts.
Example of major mapping
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:hpm="http://www.hpmulti.net/" xmlns:gcl="http://www.govtalk.gov.uk/gcl/" xmlns:map="http://www.w3c.rl.ac.uk/2003/11/21-skos-mapping#" xmlns="http://www.w3c.rl.ac.uk/2003/11/21-skos-core#"> <hpm:Concept> <prefLabel>Access to information</prefLabel> <map:majorMatch> <gcl:Concept> <prefLabel>Freedom of information</prefLabel> </gcl:Concept> </map:majorMatch> </hpm:Concept> <hpm:Concept> <prefLabel>Mass media</prefLabel> <map:majorMatch> <gcl:Concept> <prefLabel>Media and the press</prefLabel> </gcl:Concept> </map:majorMatch> </hpm:Concept> <hpm:Concept> <prefLabel>Nursery schools</prefLabel> <map:majorMatch> <gcl:Concept> <prefLabel>Pre-school learning</prefLabel> </gcl:Concept> </map:majorMatch> </hpm:Concept> <hpm:Concept> <prefLabel>Alcoholism</prefLabel> <map:exactMatch> <gcl:Concept> <prefLabel>Alcohol use and abuse</prefLabel> </gcl:Concept> </map:exactMatch> </hpm:Concept> <hpm:Concept> <prefLabel>Drug dependency</prefLabel> <map:exactMatch> <gcl:Concept> <prefLabel>Drug use and abuse</prefLabel> </gcl:Concept> </map:exactMatch> </hpm:Concept> </rdf:RDF>
Minor mapping property hierarchy
skos-map:semanticMapping | +--skos-map:inexactMapping | +--skos-map:minorMapping
Usage: Use this property when there is some small overlap in the intended meaning of source and target concepts.
Example of minor mapping
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:hpm="http://www.hpmulti.net/" xmlns:gcl="http://www.govtalk.gov.uk/gcl/" xmlns:map="http://www.w3c.rl.ac.uk/2003/11/21-skos-mapping#" xmlns="http://www.w3c.rl.ac.uk/2003/11/21-skos-core#"> <hpm:Concept> <prefLabel>Accidents</prefLabel> <map:minorMatch> <gcl:Concept> <prefLabel>Occupational health and safety</prefLabel> </gcl:Concept> </map:minorMatch> </hpm:Concept> <hpm:Concept> <prefLabel>Access to information</prefLabel> <map:minorMatch> <gcl:Concept> <prefLabel>Libraries and archives</prefLabel> </gcl:Concept> </map:minorMatch> </hpm:Concept> <hpm:Concept> <prefLabel>Sexuality</prefLabel> <map:minorMatch> <gcl:Concept> <prefLabel>Equal opportunities and diversity</prefLabel> </gcl:Concept> </map:minorMatch> </hpm:Concept> </rdf:RDF>
Partial mapping property hierarchy
skos-map:semanticMapping | +--skos-map:partialMapping
Usage: Use this property when the intended meaning of source concept either subsumes, or is subsumed by the intended meaning of the target concept.
N.B. This property is provided for backwards compatibility with mappings conforming to ISO 1985:5964 [7]. It is recommended that either broad or narrow mappings are used instead, wherever possible.
Broad mapping property hierarchy
skos-map:semanticMapping | +--skos-map:partialMapping | +--skos-map:broadMapping
Usage: Use this property when the intended meaning of the source concept is subsumed by the intended meaning of the target concept.
Example of broad mapping
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:hpm="http://www.hpmulti.net/" xmlns:gcl="http://www.govtalk.gov.uk/gcl/" xmlns:map="http://www.w3c.rl.ac.uk/2003/11/21-skos-mapping#" xmlns="http://www.w3c.rl.ac.uk/2003/11/21-skos-core#"> <hpm:Concept> <prefLabel>Access to information</prefLabel> <map:broadMatch> <gcl:Concept> <prefLabel>Information and communication</prefLabel> </gcl:Concept> </map:broadMatch> </hpm:Concept> <hpm:Concept> <prefLabel>Accident prevention</prefLabel> <map:broadMatch> <gcl:Concept> <prefLabel>Safety</prefLabel> </gcl:Concept> </map:broadMatch> </hpm:Concept> <hpm:Concept> <prefLabel>Adult education</prefLabel> <map:broadMatch> <gcl:Concept> <prefLabel>Adult education and training</prefLabel> </gcl:Concept> </map:broadMatch> </hpm:Concept> <hpm:Concept> <prefLabel>Acupuncture</prefLabel> <map:broadMatch> <gcl:Concept> <prefLabel>Alternative medicine</prefLabel> </gcl:Concept> </map:broadMatch> </hpm:Concept> </rdf:RDF>
Narrow mapping property hierarchy
skos-map:semanticMapping | +--skos-map:partialMapping | +--skos-map:narrowMapping
Usage: Use this property when the intended meaning of the source concept subsumes the intended meaning of the target concept.
Example of narrow mapping
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:hpm="http://www.hpmulti.net/" xmlns:gcl="http://www.govtalk.gov.uk/gcl/" xmlns:map="http://www.w3c.rl.ac.uk/2003/11/21-skos-mapping#" xmlns="http://www.w3c.rl.ac.uk/2003/11/21-skos-core#"> <hpm:Concept> <prefLabel>Health services</prefLabel> <map:narrowMatch> <gcl:Concept> <prefLabel>National Health Service (NHS)</prefLabel> </gcl:Concept> </map:narrowMatch> </hpm:Concept> <hpm:Concept> <prefLabel>Education</prefLabel> <map:narrowMatch> <gcl:Concept> <prefLabel>Pre-school learning</prefLabel> </gcl:Concept> </map:narrowMatch> </hpm:Concept> <hpm:Concept> <prefLabel>Access</prefLabel> <map:narrowMatch> <gcl:Concept> <prefLabel>Access to countryside</prefLabel> </gcl:Concept> </map:narrowMatch> </hpm:Concept> </rdf:RDF>
Usage: Use the AND construct to create a mapping target that represents the common intension of two or more concepts.
Example of AND mapping target
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:hpm="http://www.hpmulti.net/" xmlns:gcl="http://www.govtalk.gov.uk/gcl/" xmlns:map="http://www.w3c.rl.ac.uk/2003/11/21-skos-mapping#" xmlns="http://www.w3c.rl.ac.uk/2003/11/21-skos-core#"> <hpm:Concept> <prefLabel>Dental health care</prefLabel> <map:exactMatch> <map:AND> <map:memberList rdf:parseType="Collection"> <gcl:Concept> <prefLabel>Dental health</prefLabel> </gcl:Concept> <gcl:Concept> <prefLabel>Health care</prefLabel> </gcl:Concept> </map:memberList> </map:AND> </map:exactMatch> </hpm:Concept> <hpm:Concept> <prefLabel>Child health care</prefLabel> <map:broadMatch> <map:AND> <map:memberList rdf:parseType="Collection"> <gcl:Concept> <prefLabel>Health care</prefLabel> </gcl:Concept> <gcl:Concept> <prefLabel>Families and children</prefLabel> </gcl:Concept> </map:memberList> </map:AND> </map:broadMatch> </hpm:Concept> </rdf:RDF>
Usage: Use the OR construct to create a mapping target that represents the combined intension of two or more concepts.
Example of OR mapping target
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:hpm="http://www.hpmulti.net/" xmlns:gcl="http://www.govtalk.gov.uk/gcl/" xmlns:map="http://www.w3c.rl.ac.uk/2003/11/21-skos-mapping#" xmlns="http://www.w3c.rl.ac.uk/2003/11/21-skos-core#"> <gcl:Concept> <prefLabel>Antisocial behaviour and disorder</prefLabel> <map:broadMatch> <map:OR> <map:memberList rdf:parseType="Collection"> <hpm:Concept> <prefLabel>Antisocial behaviour</prefLabel> </hpm:Concept> <hpm:Concept> <prefLabel>Behavioural disorders</prefLabel> </hpm:Concept> </map:memberList> </map:OR> </map:broadMatch> </gcl:Concept> </rdf:RDF>
Usage: Use the NOT construct to create a mapping target from which some element of intended meaning is excluded.
Example of NOT mapping target
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:hpm="http://www.hpmulti.net/" xmlns:gcl="http://www.govtalk.gov.uk/gcl/" xmlns:map="http://www.w3c.rl.ac.uk/2003/11/21-skos-mapping#" xmlns="http://www.w3c.rl.ac.uk/2003/11/21-skos-core#"> <gcl:Concept> <prefLabel>Schools</prefLabel> <map:majorMatch> <map:AND> <map:memberList rdf:parseType="Collection"> <hpm:Concept> <prefLabel>Education</prefLabel> </hpm:Concept> <map:NOT> <map:memberList rdf:parseType="Collection"> <hpm:Concept> <prefLabel>Adult education</prefLabel> </hpm:Concept> </map:memberList> </map:NOT> </map:memberList> </map:AND> </map:majorMatch> </gcl:Concept> </rdf:RDF>
A thesaurus may be used as a subject scheme to support a subject-based index for a collection of documents, articles or records etc. Where different collections have been indexed against different but overlapping subject schemes, it becomes useful to have a mapping between the subject schemes, so that for example the collections may be browsed seamlessly using a single subject scheme. It is this kind of scenario that the SKOS-Mapping vocabulary is designed to support.
Mappings may be interpreted as implying relationships between the sets of occurrences of the source and target concepts. If a thesaurus is used as a subject scheme, then the set of occurrences of a concept is defined as the set of all resources for which that concept is a subject. This could be, for example, the set of all documents for which the concept is a significant theme, or the set of all images depicting the concept, or the set of all records properly indexed against that concept, depending on the actual use of the thesaurus.
Thus every concept has a corresponding set of occurrences, which may or may not be known.
Every mapping statement should be taken to imply something about how the sets of occurrences corresponding to the source and the target are related. An exact mapping statement implies that the source and target sets are identical. An inexact mapping statement implies that the source and target sets may share some members. A major mapping statement implies that the source and target sets share greater than 50% of their members, a minor mapping implies less than 50% but greater than 0. A broad mapping implies the target set is a superset of the source set. A narrow mapping implies the target set is a subset of the source set.
Set implications of mapping statements
The SKOS-Mapping schema is an RDF schema designed to support inter-thesaurus mapping for the semantic web. SKOS-Mapping builds on recent work from the thesaurus community. The mapping properties of SKOS-Mapping are based on the equivalence properties described in ISO 5964:1985 [7], and extensions suggested in [4] and reviewed in [5].
Although SKOS-Mapping is primarily designed to support inter-thesaurus mapping, it is intended that it will be suitable for use in creating mappings between different flavours of knowledge organisation system. It should be appropriate and useful, for example, to create mappings between more loosely defined structures such as the internet topic exchange[9] and the open directory [10] using SKOS-Mapping.
[1] SKOS-Core RDF Schema
http://www.w3c.rl.ac.uk/2003/11/21-skos-core
[2] Miles, A.J., Matthews, B.M., Wilson, M.J., Core RDF Vocabularies for Thesauri (SWAD-Europe Deliverable 8.1, version 0.4)
http://www.w3c.rl.ac.uk/SWAD/deliverables/8.1_0_4.html
[3] SKOS-Mapping RDF Schema
http://www.w3c.rl.ac.uk/2003/11/21-skos-mapping
[4] Doerr, M. (2001) Semantic Problems of Thesaurus Mapping, Journal of Digital Information, volume 1 issue 8.
http://jodi.ecs.soton.ac.uk/Articles/v01/i08/Doerr/
[5] Shiri, A. (2002) Investigation of problems and issues in integrating and mapping thesauri and classification schemes (HILT Project Report).
http://hilt.cdlr.strath.ac.uk/hilt2web/Reports/HILt_LITRev%201a.doc
[6] HPMulti: The European multilingual thesaurus on health promotion in 12 languages.
http://www.hpmulti.net/
[7] ISO (1985) ISO 5964:1985 Documentation - Guidelines for the establishment and development of multilingual thesauri. (61 p.)
[8] The Government Category List - December 2002 (v1.3).
http://195.224.227.150/gcl/content/default.asp
[9] The Internet Topic Exchange.
http://topicexchange.com/
[10] The Open Directory Project.
http://dmoz.org/
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE rdfs [ <!ENTITY rdf "http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <!ENTITY rdfs "http://www.w3.org/2000/01/rdf-schema#"> <!ENTITY dc "http://purl.org/dc/elements/1.1/"> <!ENTITY dct "http://purl.org/dc/terms/"> ]> <rdf:RDF xmlns:rdf="&rdf;" xmlns:rdfs="&rdfs;" xmlns:dc="&dc;" xmlns:dct="&dct;" xml:base="http://www.w3c.rl.ac.uk/2003/11/21-skos-mapping"> <!-- Description of this schema --> <rdf:Description rdf:about=""> <dc:title>SKOS Mapping Vocabulary version 0.2</dc:title> <dc:description>This vocabulary allows you to express information about how statements made using concepts from some conceptual scheme may be transformed into statements with concepts from a different scheme. So for example it can be used for automated query transformation. Or It could be used to create a virtual subject index for a collection in terms of an alternative classification system.</dc:description> <dc:creator>Alistair Miles</dc:creator> <rdfs:seeAlso rdf:resource="http://www.w3c.rl.ac.uk/SWAD/deliverables/8.4.html"/> <dct:modified>2003-12-04</dct:modified> </rdf:Description> <!-- Mapping relation properties --> <rdf:Property rdf:ID="mappingRelation"> <rdf:label>has-match</rdf:label> <rdfs:comment>The super-property of all properties expressing information about how to create mappings between concepts frmo different conceptual schemes.</rdfs:comment> </rdf:Property> <rdf:Property rdf:ID="exactMatch"> <rdfs:label>has-exact-match</rdfs:label> <rdfs:subPropertyOf rdf:resource="#mappingRelation"/> <rdfs:comment>If two concepts are an 'exact-match' then the set of resources properly indexed against the first concept is identical to the set of resources properly indexed against the second. Therefore the two concepts may be interchanged in queries and subject-based indexes.</rdfs:comment> </rdf:Property> <rdf:Property rdf:ID="broadMatch"> <rdfs:label>has-broad-match</rdfs:label> <rdfs:subPropertyOf rdf:resource="#mappingRelation"/> <rdfs:comment>If 'concept A has-broad-match concept B' then the set of resources properly indexed against concept A is a subset of the set of resources properly indexed against concept B.</rdfs:comment> </rdf:Property> <rdf:Property rdf:ID="narrowMatch"> <rdfs:label>has-narrow-match</rdfs:label> <rdfs:subPropertyOf rdf:resource="#mappingRelation"/> <rdfs:comment>If 'concept A has-narrow-match concept B' then the set of resources properly indexed against concept A is a superset of the set of resources properly indexed against concept B.</rdfs:comment> </rdf:Property> <rdf:Property rdf:ID="majorMatch"> <rdfs:label>has-major-match</rdfs:label> <rdfs:subPropertyOf rdf:resource="#mappingRelation"/> <rdfs:comment>If 'concept A has-major-match concept B' then the set of resources properly indexed against concept A shares more than 50% of its members with the set of resources properly indexed against concept B.</rdfs:comment> </rdf:Property> <rdf:Property rdf:ID="minorMatch"> <rdfs:label>has-minor-match</rdfs:label> <rdfs:subPropertyOf rdf:resource="#mappingRelation"/> <rdfs:comment>If 'concept A has-minor-match concept B' then the set of resources properly indexed against concept A shares less than 50% but greater than 0 of its members with the set of resources properly indexed against concept B.</rdfs:comment> </rdf:Property> <!-- Combination constructs --> <rdfs:Class rdf:ID="CombinationConstruct"> <rdfs:label>Concept-combination</rdfs:label> </rdfs:Class> <rdfs:Class rdf:ID="AND"> <rdfs:label>AND</rdfs:label> <rdfs:subClassOf rdf:resource="#CombinationConstruct"/> <rdfs:comment>This class is a shorthand for an intersection-like construct. So the statement 'concept A has-exact-match AND (concept B, concept C)' implies that the set of resources properly indexed against concept A is identical to the intersection of the sets properly indexed against concepts B and C. </rdfs:comment> </rdfs:Class> <rdfs:Class rdf:ID="OR"> <rdfs:label>OR</rdfs:label> <rdfs:subClassOf rdf:resource="#CombinationConstruct"/> <rdfs:comment>This class is a shorthand for a union-like construct. So the statement 'concept A has-exact-match OR (concept B, concept C)' implies that the set of resources properly indexed against concept A is identical to the union of the sets properly indexed against concepts B and C. </rdfs:comment> </rdfs:Class> <rdfs:Class rdf:ID="NOT"> <rdfs:label>NOT</rdfs:label> <rdfs:subClassOf rdf:resource="#CombinationConstruct"/> <rdfs:comment>This class is a shorthand for a negation-like construct. So the statement 'concept A has-exact-match AND (concept B, NOT (concept C))' implies that the set of resources properly indexed against concept A is identical to the intersection of the set properly indexed against concept B and the complement of the set properly indexed against concept C.</rdfs:comment> </rdfs:Class> <rdf:Property rdf:ID="memberList"> <rdfs:label>has-member</rdfs:label> <rdfs:domain rdf:resource="#CombinationConstruct"/> </rdf:Property> </rdf:RDF>