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
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:
- 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.
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.
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?