Re: RDF vocabulary scope guidelines

Hi Jiri,

As the author of that ontology, I am in the unique position of being  
able to explain my modelling choices!

I took that approach for two reasons:

1: precision. By creating my own term, I can define precisely what is  
meant by (for example) "creation" --  is it the moment I choose to add  
a tag, or the time that tag reached some server? Another way of  
phrasing this is that coining a new property or class allows for  
"minimal enforced ambiguity".

2: a related point: by deliberately using a new term, it can be  
specifically and accurately related to other terms in other ontologies  
-- e.g., my taggedOn might be an equivalentProperty to John Smith's  
tagdate, and a subproperty of a generic date property. Under  
inference, all desired knowledge is apparent, without being corralled  
into a not-quite-compatible ontological framework.

The expense of reasoning is a slight discouragement to this approach,  
but I think in general it stands up.

HTH,
-Richard


--
Sent from my iPhone.

On Feb 6, 2009, at 15:24, Jiri Prochazka <ojirio@gmail.com> wrote:

> Hi,
> 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
> cumbersome)
>
> Best regards,
> Jiri
>

Received on Saturday, 7 February 2009 03:02:09 UTC