
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
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:
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.
Aside: VIAF
If you look in VIAF, 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, 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:
There are also some owl:sameAs links equating the `foaf:Person` to URIs in other known sources:
It would have been great if the BM and RKD thesauri were correlated to VIAF but they're not.
The question
Wwhich is the best way to correlate `skos:Concepts` representing the same resource?
I know that both the SKOS Primer and Reference 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
- Need to implement custom inferences eg
What's your advice?