finally a bnode with a uri

SKOS + DC + Linked Data = Semantic Tagging?

Using Dublin Core terms to link SKOS concepts to Linked Data entities
Still looking for a simple way to tag concrete resources (to-do items, people, locations) with personal concepts (e.g. "non-profit", "research", "semweb"), and also with other non-conceptual resources (clients, projects), I skimmed through the fresh SKOS Recommendation. I'm still a fan of SKOS and frequently wonder about semweb apps where the internal models are grounded in pluggable, personal(!) SKOS schemes, instead of coordination-intensive RDF Schemas or OWL ontologies. I don't know if such an approach could really work, I guess network effects benefit more from rather tightly defined relations and identifiers. Mainly just to have it written down somewhere (this is really not well thought out yet), here are some of the related entry points and considerations:
  • Tagging should be personal.
    While I like the idea of grounding tags in existing dictionaries such as DBPedia, tags seem to work best when they are as user-defined and informal as possible. Last year, I experimented with a tool that allowed me to tag things with other people's delicious tags. It just felt wrong, I wanted my "own" tags. (I think the latest Faviki release is a nice example for combining the best of both worlds).
  • SKOS supports personal tags
    Concepts in SKOS are sort-of scoped (or "namespaced"). If I describe a "Fun" concept, it is defined as seen by the creator of the concept URI, i.e. I can annotate it with ':Fun dct:creator <#me> ; dct:created "2009-08-19"' etc, even though the general idea of Fun was clearly not invented by me, and definitely before today.
  • Tags should be safely portable
    Thanks to URIs, SKOS concepts can be ported to other applications, and they can be grouped and organized in so-called concept schemes, i.e. I could have a "Waving" in a "Dance" concept scheme, and also in a "Netiquette" scheme.
  • There is a need to merge tag sets
    If tags are used to organize all sorts of personal things, it should be possible to merge them into a unified model. Mainly for personal use ("personal world view"), but also for sharing with other people and linking to their views. This is again possible thanks to SKOS being based on RDF, URIs, and very loose semantics.
  • There is a need to tag real-world objects with concepts
    This is partly obvious. Tags are a means to an end. But while they are already widely used to annotate document-like resources (web pages, photos, etc), I'd also like to tag things like my projects, people in my address book, and similar non-documents. From the SKOS Primer: While the SKOS vocabulary itself does not include a mechanism for associating an arbitrary resource with a skos:Concept, implementors can turn to other vocabularies So, whatever predicate URI we are going to use, it's not going to be provided by SKOS directly.
  • Maybe Dublin Core terms can link non-documents to concepts
    This is a slightly controversial conclusion/assumption, given that DC terms are mainly associated with document metadata. But after exploring the DCMI website, I can't find any clear evidence that their terms can't be used more generally. Both the Usage Guide (thanks to Masahide for the pointer) and the Abstract Model actually support this thought. The Usage guide mentions that "DC metadata can be applied to other resources as well" (but notes that the suitability may depend on the particular context at hand), and the Abstract Model states that the notion of a Dublin Core "resource" is equivalent to "Resource" defined in RDF Schema, which can be anything, even including Literals. So, we can most probably use dct:subject or dct:relation to tag a project or person with a SKOS concept.
  • There is a need to associate concepts with real-world objects
    If we organize our personal concept space with SKOS, we may also want to more formally specify our personal concepts, so that other applications or people can merge them with their tags. Therefore, we need a predicate that can relate concepts to non-concepts such as DBPedia identifiers. Such a mechanism could maybe also help with RDF's general problem of URI aliases. I could have a personal, canonical concept URI for a resource and use it as a container for the resource's various aliases. Again, SKOS does not provide a predicate for this use case, so we've got to look elsewhere.
  • Maybe Dublin Core terms can link concepts to real-world objects
    Another possibly controversial conclusion, but again there is supporting text in the DCMI specs: "A value associated with the Dublin Core Subject property is a concept (a conceptual entity) or a physical object or person (a physical entity)". So, if the value of dc:subject can be a non-document, we can say things like :Berlin a skos:Concept; dct:subject dbpedia:Berlin .. This is very interesting because it could allow us to use dct:subject in both ways: for the tagging of things, and also for grounding tags. FOAF has a handy primaryTopic term, which could work in this context, too, but unfortunately, its scope is (currently) set to foaf:Document. DanBri also suggested the creation of a dedicated skos:it (or similar) predicate which would be even better.
  • Sometimes I'd like to "tag" real-world objects with real-world objects
    Don't know if tagging is still the right word here, but what I mean is a generic relation for arbitrary things in a common application context. Often, we can do better by specifying the relation between two resources, but in other cases, a simple, maybe just temporary link, is better than laziness leading to a completely non-annotated resource. Given the two DCMI-related findings above, we could maybe conclude that a predicate like dct:relation can also be used to relate a project to a person, or the other way round, without having to invent a new predicate.

Comments and Trackbacks

>> Given the two DCMI-related findings above, we could maybe conclude that a predicate like dct:relation can also be used to relate a project to a person, or the other way round, without having to invent a new predicate.

Ok, but that relation would be rather meaningless, wouldn't it? It's a bit like owl:topObjectProperty. Wouldn't it be more interesting to use specific properties like ":person ex:takesPartIn :project"? Even those could be user-defined and personal (like in NEPOMUK's Personal Information Model).
Comment by Simon Reinhardt on 2009-08-19 16:44:56 UTC
Simon, maybe. A "rather meaningless" relation would still be meaningful enough for a generic SPARQL query to give me all tagged/related resources. As mentioned, more specific props are better from a KM perspective, but not necessarily for an impatient user who just wants to relate something with something. I found that specific props don't come without a cost (defining, remembering, selecting, querying, UI speed etc.).
Comment by Benjamin Nowack on 2009-08-19 17:43:51 UTC
" ... personal(!) SKOS schemes, instead of coordination-intensive RDF Schemas or OWL ontologies ..." - Actually, SKOS is AN owl ontology (
Comment by s0enke on 2009-08-20 22:19:42 UTC
s0enke, the SKOS vocabulary is, but schemes are not (well, in a broad sense, schemes are ontologies, too). The difference is that a personal SKOS model is directly defined by the concept instances (or "Individuals" in RDF speak), not by RDFS/OWL Classes. The schema and its instances aren't defined in two steps, there is only one, which can make things less abstract and formal.
Comment by Benjamin Nowack on 2009-08-21 09:08:04 UTC
@Ben: thx for clarification :-)
Comment by s0enke on 2009-08-21 11:38:16 UTC
dct:relation is rather meaningless in itself, but can be handy as a base to define subproperties of.
Comment by Toby Inkster on 2009-08-22 07:35:41 UTC
You might want to have a look at our (academic) soboleo system* - where we use skos taxonomies for tags. These taxonomies themselves are also managed in the same system and can be personal or shared by a group of people with the same interest.

We call this approach "Social Semantic Bookmarking" - see this slideshare presentation for an introduction to the concept.

As for how to associate SKOS Concepts with Tags: we now use CommonTag. While very simple it gets the job done and it already has a bit or backing from largish players.

*: There is also a version of the software online - but its very much outdated. There will be a new one in a few days.
Comment by Valentin on 2009-08-26 09:53:00 UTC
0 comments are currently in the approval queue.

Comments are disabled for this post.

Earlier Posts

Later Posts


No Posts found