- From: Richard Newman <rnewman@twinql.com>
- Date: Fri, 6 Feb 2009 19:01:25 -0800
- To: Jiri Prochazka <ojirio@gmail.com>
- Cc: "semantic-web@w3.org" <semantic-web@w3.org>
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