W3C home > Mailing lists > Public > semantic-web@w3.org > February 2009

RDF vocabulary scope guidelines

From: Jiri Prochazka <ojirio@gmail.com>
Date: Sat, 07 Feb 2009 00:24:31 +0100
Message-ID: <498CC6AF.3090806@gmail.com>
To: semantic-web@w3.org
I am sure I am not the first one to notice, but I think there is a
problem with determining scope when designing a RDF vocabulary. Reuse of
well designed, loosely coupled, high cohesion, more general vocabularies
versus domain specific vocabularies.

Typical example is date of creation. I am writing this largely thanks to
this vocabulary: http://www.holygoat.co.uk/projects/tags/
It defines class Tagging, which uses properties taggedBy and taggedOn.
This is the domain specific approach. The example is:
  <http://example.com/blog/post/1> :tag
    [ a :Tagging ;
      :associatedTag tag:blog, tag:chimpanzee ;
      :taggedBy <http://example.com/People/Jim> ;
      :taggedOn "2005-03-29T15:24:10Z"^^xsd:date ] .
    tag:blog :tagName "blog" .
    tag:chimpanzee :tagName "chimpanzee" .

But as another alternative I imagine:
  { <http://example.com/blog/post/1> :tag tag:blog, tag:chimpanzee . }
    time_vocab:createdOn "2005-03-29T15:24:10Z"^^xsd:date ;
    author_vocab:author <http://example.com/People/Jim> .
  tag:blog :tagName "blog" .
  tag:chimpanzee :tagName "chimpanzee" .

Where time_vocab and author_vocab talk about RDF resources (graphs in
fact) and could be defined in just one RDF resource description
vocabulary instead of two.
Or another alternative in which time_vocab:createdOn and
author_vocab:author have domain rdfs:Class:
  <http://example.com/blog/post/1> :tag tag:blog, tag:chimpanzee ;
    time_vocab:createdOn "2005-03-29T15:24:10Z"^^xsd:date ;
    author_vocab:author <http://example.com/People/Jim> .
  tag:blog :tagName "blog" .
  tag:chimpanzee :tagName "chimpanzee" .

Which of this approaches is recommended and why?

I tend to agree more with the more general vocabulary approach. Like you
should ask yourself when designing RDF properties "Shouldn't the
domain/range of it be some parent class? If yes, does the property fit
the scope of this vocabulary? Shouldn't it be in some more general
one?", focusing on reuse rather than rely on later linking of vocabularies.

If there were any past discussions on this topic, what were the results
of it?
Is there any vocabulary for rating resources in terms of authenticity
(trust) and agreement (truthfulness)? Vocabulary(ies) covering other
resource description aspects would be helpful too... (POWDER is so

Best regards,

Received on Friday, 6 February 2009 23:26:49 UTC

This archive was generated by hypermail 2.4.0 : Tuesday, 5 July 2022 08:45:10 UTC