From W3C Wiki
Jump to: navigation, search

SKOS Dodges the Identity Crisis?

Using the SKOS Core RDF Vocabulary I can publish RDF descriptions such as:

<rdf:RDF @@NS>

  <skos:Concept rdf:about="URIX">
    <skos:prefLabel xml:lang="en">bananas</skos:prefLabel>
    <skos:definition xml:lang="en">A soft yellow fruit</skos:definition>


Now, what the hell does URIX denote?

Let's say somebody else publishes the following RDF description:

<rdf:RDF @@NS>

  <skos:Concept rdf:about="URIY">
    <skos:prefLabel xml:lang="en">bananas</skos:prefLabel>
    <skos:definition xml:lang="en">A long curved fruit with a yellow skin and soft, sweet white flesh inside.</skos:definition>


It looks like this person is talking about the same thing as I was. Does this mean URIX and URIY denote the same resource?

Before trying to answer this question, let's consider some desirable properties for RDF descriptions using the SKOS Core vocabulary.

Consider another example.

Below is an RDF description of a bit of the Agrovoc, a controlled vocabulary describing the domain of agriculture:

<rdf:RDF @@NS>

  <skos:Concept rdf:about="URIA">
    <skos:prefLabel xml:lang="en">Fields</skos:prefLabel>
    <skos:altLabel xml:lang="en">Plots</skos:altLabel>
    <skos:prefLabel xml:lang="fr">Champ</skos:prefLabel>
    <skos:altLabel xml:lang="fr">Parcelle de terre</skos:altLabel>


Now consider an RDF description of a bit of the Art and Architecture Thesaurus:

<rdf:RDF @@NS>

  <skos:Concept rdf:about="URIB">
    <skos:prefLabel xml:lang="en">agricultural land</skos:prefLabel>
    <skos:altLabel xml:lang="en">agricultural lands</skos:altLabel>
    <skos:altLabel xml:lang="en">agricultural landscape</skos:altLabel>
    <skos:altLabel xml:lang="en">agricultural land uses</skos:altLabel>
    <skos:altLabel xml:lang="en">fields (agricultural land)</skos:altLabel>
    <skos:altLabel xml:lang="en">land, agricultural</skos:altLabel>
    <skos:altLabel xml:lang="en">landscape, agricultural</skos:altLabel>


If URIA and URIB denote the same resource (i.e. an abstract concept that has something to do with agricultural land), then we should merge these two descriptions in an RDF graph.

However, this would have some undesirable effects. For a start it means all of the labels will get mixed up, and we won't be able to tell which labels came from which thesaurus. And if there were definitions or scope-notes, these would get mixed up too.

For very practical reasons, it makes good sense to keep URIA and URIB as distinct nodes within an RDF graph.

From a philosophical point of view, some person wrote the description of URIA, and a different person wrote the description of URIB. If URIA denotes a concept in someone's head, and URIB denotes a concept in a different person's head, well how can we ever know they were thinking exactly the same thing?

So if URIA and URIB do not denote abstract concepts, what do they denote?

Well, what if we say that each of these URIs actually denotes a description of a concept?

This idea matches the desirable merging properties described above: if URIA and URIB both denote descriptions of a concept, even if they are both descriptions of the same concept, they are still disctinct resources, and so should not be merged.

Now, here's the big dodge :): If URIA denotes a description of a concept, well that is quite clearly an information resource. I.e. all of its essential characteristics could be conveyed in a message.

... And, that means I am free to use any sort of HTTP URI I like to identify it!

If you have any comments on this idea, I would love to hear them: please post them to

Al Miles.