View Source

See live discussion at [http://answers.semanticweb.com/questions/16198/skosexactmatch-vs-owlsameas].

Basically the advice boils down to this:
- Don't use skos:Concept ("terms") in business data, use other URIs ("entities") that are amenable to sameAs and are foaf:focus of the respectiev terms
- Or else, implement extra rules that propagate business relations across skos:exactMatch.

Below is a confluence copy of just the start of this discussion
TODO: copy more of the relevant parts, and make best-practice decisions

----

h2. Overview
I got some drawings by Rembrandt in a British Museum database, and some paintings by Rembrandt in a RKD database. He's referred to as `bm-people:Rembrandt` in one, and `rkd-artists:rembrandt` in the other. I use CIDOC CRM, so Rembrandt is related through `crm:P14i_performed` to the drawing/painting Production events.

The current representation is:
{code}
bm-people:Rembrandt a skos:Concept;
skos:inScheme bm-people: ; skos:prefLabel "Rembrandt".
rkd-artists:rembrandt a skos:Concept;
skos:inScheme rkd-artists: ; skos:prefLabel "Rembrandt".
{code}

Use cases:
# The user can search for artists using a thesaurus auto-complete function. It relies on skos:inScheme and a further property of the ConceptScheme to collect all values for completion.
# If the user selects a value Rembrandt that's correlated between the two thesauri, he should see all works by Rembrandt, no matter which Rembrandt URI they relate to.

h2. Aside: VIAF
If you look in [VIAF|http://viaf.org/viaf/64013650], you'll see Rembrandt correlated between 19 sources, including national libraries and Getty ULAN. There's a thousand names and a bunch of extra info about him.

If you look at the [VIAF RDF record|http://viaf.org/viaf/64013650/rdf], you'll see he's represented as a `foaf:Person` (with a bunch of names). There are also 19 `skos:Concepts` from the 19 sources (including more names as `skos:altLabel`), which link back to the main VIAF URI using foaf:focus:
{code}
<skos:Concept rdf:about="http://viaf.org/viaf/sourceID/BNF%7C11940484#skos:Concept">
<foaf:focus rdf:resource="http://viaf.org/viaf/64013650"/>
{code}
There are also some owl:sameAs links equating the `foaf:Person` to URIs in other known sources:
{code}
<owl:sameAs rdf:resource="http://dbpedia.org/resource/Rembrandt"/>
<owl:sameAs rdf:resource="http://d-nb.info/gnd/11859964X"/>
<owl:sameAs rdf:resource="http://libris.kb.se/resource/auth/197544"/>
<owl:sameAs rdf:resource="http://www.idref.fr/027341925/id"/>
{code}
It would have been great if the BM and RKD thesauri were correlated to VIAF but they're not.

h2. The question
Wwhich is the best way to correlate `skos:Concepts` representing the same resource?

I know that both the SKOS [Primer|http://www.w3.org/TR/skos-primer/] and [Reference|http://www.w3.org/TR/skos-reference/#L4858] say one should use `skos:exactMatch` and not `owl:sameAs`. They warn of "undesirable entailments that would follow from using `owl:sameAs`" but the example they give is a bit weak: "a concept cannot possess two different preferred labels in the same language". Frankly, that doesn't scare me much:
- when both labels coincide that doesn't matter
- when you use all prefLabels and altLabels for auto-complete, that's a plus

If I use `skos:exactMatch` and not `owl:sameAs`, I'll face these difficulties:
# Need to merge the labels of these concepts because it would be silly to offer labels that are the same
# Lose the [OWLIM sameAs optimization|http://www.ontotext.com/owlim/owl-sameas-optimisation5]
# Need to implement custom inferences eg
{code}
crm:P14i_performed owl:propertyChainAxiom (skos:exactMatch crm:P14i_performed).
{code}

What's your advice?