- From: Uche Ogbuji <uche.ogbuji@fourthought.com>
- Date: Fri, 31 May 2002 15:31:15 -0600
- 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" ditto > 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: http://www-106.ibm.com/developerworks/xml/library/x-think8.html http://www-106.ibm.com/developerworks/xml/library/x-think9.html > 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): http://www.xmlconference.com/ 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= 2453/new1020218556549/index.html XML, The Model Driven Architecture, and RDF @ XML Europe - http://www.xmleurope.com/2002/kttrack.asp#themodel
Received on Friday, 31 May 2002 17:46:00 UTC