- From: John Graybeal <graybeal@mbari.org>
- Date: Sat, 2 May 2009 09:56:00 -0700
- To: Toby A Inkster <tai@g5n.co.uk>
- Cc: Stephane Corlosquet <stephane.corlosquet@deri.org>, Semantic Web <semantic-web@w3.org>, RDFa <public-rdf-in-xhtml-tf@w3.org>
Although I am not grokking the "full URIs" example in Toby's post, I agree with his recommendations. The URIs in the RDF should be full URIs. Most vocabulary/term URIs are not that verbose, and while they are also not that attractive to read, they are extremely opaque as a class. (Some are opaque individually and others are not, but the way they are formed is all over the map.) The improvement in readability that CURIE adds will be inconsistent and marginal, IMHO. For this reason I'd also vote for original URIs in the user interface. In our system we took great care to make the URIs resolvable (and short), as we think this is critical to user adoption and to maximum leveraging of the results. (See the previously mentioned use case on your site.) It would be very disappointing if the RDF content didn't maintain that usability in its URI content. (Not sure if this is what you are proposing, but it seems to be....) John On May 2, 2009, at 8:10 AM, Toby A Inkster wrote: > On 2 May 2009, at 15:27, Stephane Corlosquet wrote: > >> For the RDFa in Drupal core effort, I'm looking for the best way to >> store URIs and keep it lightweight and developer friendly. >> >> I see three different methods for referencing vocabulary URIs. >> >> 1. Full URI. very verbose and not very readable. > > I would suggest storing full URIs, and... > >> 2. CURIE. easy to read and user friendly. > > ...displaying them as CURIEs if required in the user interface. > >> A typical use case is for representing a blog post for example: >> >> $object->title = 'Title of my blog post'; >> $object->created = '1235130980'; >> $object->user_id = 2; >> $object->body = 'Lorem ipsum dolor sit amet, consectetur adipiscing >> elit.'; >> $object->rdf_mappings = array( >> 'type' => 'sioct:Weblog', >> 'title' => 'dc:title', >> 'body' => 'sioc:content', >> 'user_id' => 'dc:creator', >> ); > > Using full URIs this could be: > > include 'prefixes.php'; # A bunch of constants > /* ... */ > $object->rdf_mappings = array( > 'type' => SIOCT.'Weblog', > 'title' => DC.'title', > 'body' => SIOC. 'content', > 'user_id' => DC.'creator', > ); > > Or: > > include 'prefixes.php'; # A class definition > /* ... */ > $object->rdf_mappings = array( > 'type' => RDF::sioct('Weblog'), > 'title' => RDF::dc('title'), > 'body' => RDF::sioc('content'), > 'user_id' => RDF::dc('creator'), > ); -------------- John Graybeal <mailto:graybeal@mbari.org> -- 831-775-1956 Monterey Bay Aquarium Research Institute Marine Metadata Interoperability Project: http://marinemetadata.org
Received on Saturday, 2 May 2009 16:56:49 UTC