W3C home > Mailing lists > Public > www-rdf-interest@w3.org > May 2002

Re: Help on RDF model design

From: Uche Ogbuji <uche.ogbuji@fourthought.com>
Date: Fri, 31 May 2002 15:31:15 -0600
Message-Id: <200205312131.g4VLVFI17321@localhost.localdomain>
To: akuchlin@mems-exchange.org
cc: www-rdf-interest@w3.org

Hey Andrew.

> I'm trying to learn how to design RDF models, and am starting with a
> simple one for book reviews.  Can someone please critique the approach
> taken here, and point out bad design decisions, or principles that
> should be followed?

I'll be happy to provide all the abuse you need  :-)

> Here's the basic model. A resource R can be stated to be a review of
> resources T1, T2, T3.  (You might be reviewing three new books, or all
> the titles in a series.)  Reviews have the following properties:
>   Items -> a list of resources T1, T2, T3, ...
>   Author -> string
>   Date -> string 
> The resources T1, T2, ... should then each have a title and author.
> (A real application would likely use Dublin Core for this, of course.)
> A sample RDF file in this model would then look like this:
> <rdf:RDF xmlns:rdf="..." xmlns:rev="...">
>   <rdf:Description 
>     about="http://..."

According to recent syntax prescriptions (with which I have stated my public 
disagreement) this should actually be "rdf:about=''".  Basically the WG says 
all attributes should be prefixed.

>     rev:date="1999-04-14" rev:author="A.M. Kuchling"
>     rev:items="urn:isbn:123456789" />
>   <rdf:Description about="urn:isbn:123456789" 


>      rev:author="Bob Brier"
>      rev:title="The Encyclopedia of Mummies" />
>  </rdf:RDF>
> Q1. Are there common principles for model design that should be followed?
> (Pointers to articles/papers would be greatly appreciated.) Does this
> simple model break any of them?

Your example is too simple for too deep a navel-gazing on modeling, I think, 
but in general, I'll plug a couple of my own articles on modeling with RDF:


> Q2. rev:author is here given as a human-readable string.  It could
> also be given as a URI, if someone were to assign URIs to people (say,
> authors or mummy researchers or Virginia residents).  Must the book
> review model state its expectation of the property value, whether it's
> a URI or an arbitrary string?  Can the model support both
> possibilities, and if so, how?  Or do you need to have two distinct
> properties in this case, i.e. rev:author="Bob Brier" and
> rev:authorURI="http://people.org/..."

I do obliquely address this very question in the articles above.  I tend to 
prefer to point to a resource, which can then be described using vCard, foaf, 
etc.  It can be a blank node (anonymous resource) or one could use a mailbox 
to ID it.

> Q3. If a review covers multiple resources, the value of the items
> property would have to be an RDF Bag or Sequence.  (RDF's Alternative
> doesn't make sense here.)  Should the model specify which type is
> expected?

I personally have not used RDF 1.0 containers for over a year.  I think 
they're quite kludgy and awkward.  What I actually use instead depends on the 
problem at hand.  In your case, I'd just use multiple simple statements:

  <rdf:Description rdf:about="http://..."
    rev:date="1999-04-14" rev:author="A.M. Kuchling"
    rev:item="book1" rev:item="book2"/>

> "As an historian, I simply don't believe in coincidence."
>     -- Robertson Davies, _The Manticore_

Brilliant, brilliant book & trilogy.

Uche Ogbuji                                    Fourthought, Inc.
http://uche.ogbuji.net    http://4Suite.org    http://fourthought.com
Track chair, XML/Web Services One (San Jose, Boston): 
DAML Reference - http://www.xml.com/pub/a/2002/05/01/damlref.html
The Languages of the Semantic Web - http://www.newarchitectmag.com/documents/s=
XML, The Model Driven Architecture, and RDF @ XML Europe - 
Received on Friday, 31 May 2002 17:46:00 UTC

This archive was generated by hypermail 2.3.1 : Wednesday, 7 January 2015 15:07:40 UTC