- From: Stephane Corlosquet <stephane.corlosquet@deri.org>
- Date: Tue, 05 May 2009 11:44:01 +0100
- To: Mark Birbeck <mark.birbeck@webbackplane.com>
- CC: RDFa <public-rdf-in-xhtml-tf@w3.org>, public-rdfa@w3.org
Hi Mark, Keeping the RDFa metadata about the document in <head> and the RDFa about the resource(s) it describes in the body is a good rule of thumb. > Note a few things here. First, that the URL for the slideshow is > different to the URL for the page. > This brings me to the next topic! In RDF, the URI of a resource should be different from the URI of the page that describes it. I've heard this is not so important with RDFa since the RDF is self contained. Is that right? Crafting a URI for a resource described at http://example.com/node/1 is easy by appending #self, #me or #this, and this can be automated. However in the particular case of a blog post for instance, the page and the resource it describes are in fact the same thing. Shouldn't they have the same URI? > By the way, the reason I've answered in some detail is because I know > that lying behind your question is a more general discussion about how > Drupal should support RDFa, and obviously I'm trying to make the case > that we'll get far more from Drupal and RDFa if we avoid the > SlideShare approach! ;) > yes, totally! Stephane. Mark Birbeck wrote: > Hi Stéphane, > > >> I've noticed some RDFa-enabled websites which output all the RDFa in a bunch >> of <meta> tags in the <head> of the HTML documents, see for example >> http://www.slideshare.net/danbri/danbri-foaf-talk-social-web-camp-www2009 >> >> While the extracted RDF is valid and informative, is that considered best >> practice? (as opposed to inline RDFa in the body of the document). >> > > I would say it depends on what you are trying to achieve, but I'd > certainly encourage putting the information inline in the body, where > possible, and can think of at least two benefits to doing so; more > opportunities to enrich the UI, and a more natural distinction between > the web-page, and the topic of the web-page. > > > ENRICHING THE UI > > As you rightly point out, the SlideShare pages have information such > as dc:creator in the head of the document. By placing it there, valid > triples are still generated when parsed by an RDFa parser, but since > the original markup is not visible to the user, there isn't much else > that can be done when it comes to enriching the UI. > > For example, halfway down the page is a thumbnail representing Dan, > and his user name ("danbri"). This would be an ideal place to put the > dc:creator information, since a user agent could then do something > clever with the display of Dan's name or avatar, to indicate that he > created the slideshow. > > > WEB-PAGES AND THEIR TOPICS > > There is another weakness with the SlideShare example, which is that > the URL for the web-page is being used to identify the slideshow > itself, which is a common mistake in RDF. > > Technically speaking the creator of the web-page is not 'Dan > Brickley', it's SlideShare; Dan created the slides which are hosted on > the page created by SlideShare, and Dan would still have created those > slides if he moved them to a new web-site. > > This is one of those things that always proves a little ephemeral, but > one easy way to ensure the distinction is to place information in the > head element that concerns the web-page itself (publisher = > SlideShare, created on Thurdsday, etc.) and then put information about > the 'thing that the document is about' in the body (in this case, a > slideshow by Dan), with an additional identifier. For example: > > <html> > <head> > <title>Danbri FOAF talk, Social Web Camp, WWW2009</title> > <meta property="dc:creator" content="SlideShare" /> > </head> > <body> > <div rel="media:presentation" resource="http://static.slides...-www2009"> > <div>Dimensions: > <span property="media:width">425</span> > x > <span property="media:height">355</span> > </div> > <div>Creator: > <span property="dc:creator">danbri</span> > </div> > </div> > </body> > </html> > > (Although I'm not keen on the use of media:presentation as a > predicate, I've used it here because that's how SlideShare is doing > it, and it doesn't really affect what I'm trying to explain.) > > Note a few things here. First, that the URL for the slideshow is > different to the URL for the page. > > Second, all of the properties like width, height, creator, and so on, > which are features of the presentation and not the web-page, are now > correctly added to the resource of the presentation (because @resource > sets the subject for media:width, etc.) > > Third, it's still easy to add properties of the document itself, such > as dc:publisher, dc:subject, etc., in the head element. > > And finally, there can be as many of these div blocks as we like in a > page, each with a separate @about value. This makes it easy for a page > to contain many things that it is 'about', such as a page full of > slideshows, images, videos, etc., or even a mix of different > documents. > > > By the way, the reason I've answered in some detail is because I know > that lying behind your question is a more general discussion about how > Drupal should support RDFa, and obviously I'm trying to make the case > that we'll get far more from Drupal and RDFa if we avoid the > SlideShare approach! ;) > > Regards, > > Mark > >
Received on Tuesday, 5 May 2009 10:44:42 UTC