RDFa in Drupal 7: last call for feedback before alpha release

The first alpha release of Drupal 7 will be created next Friday Jan 15th. We've already incorporated most of the feedback we received from the semweb community so far, but I wanted to give the community a last chance to review the RDFa markup and the default RDF mappings we use before it's too late. I should emphasize that all the markup and default RDF mappings that we ship in core will be pretty much set in stone after the stable release of Drupal 7, hence this call for feedback. Site administrators who care about semantics will be able to alter these mappings by installing extra modules, but many people (read several 10K sites) will just install Drupal 7 and not care about the semantics it generates. Therefore we want to make sure the RDFa generated by Drupal out of the box is somewhat correct and does not make folks from the semantic/pedantic web community angry :) - we've tried to keep the semantics as generic as possible for that reason.

RDF mappings

I've created a diagram representing the default semantics of the core data structure which has been committed and I would appreciate feedback on the RDF terms we've used.

Drupal 7 core RDF schema

RDFa markup

To make the RDFa markup review process easier, I've updated the usual testing site at http://drupalrdf.openspring.net/. It features a blog post with some comments which represents a typical Drupal 7 page annotated with RDFa. Some other pages have been randomly generated to be able to test the tracker which acts as a very simple sitemap in RDFa.

Note that the URI for the resources of type node, comment, term and user is the URI of the page which describe them. This has been decided in order to keep things simpler and after careful discussion with some members of the community. Hash URIs for identifying things different from the page describing them can be implemented quite easily but this case hasn't emerged in core (but will do in the modules people will build and use).

For those willing to try out the software by themselves, I've uploaded an unstable version of Drupal 7 core you can download which includes some of the last RDF patches which are still under review. Please file any bug you encounter at http://drupal.org/node/add/project-issue/drupal or leave a comment below.


Couldn't dublin core be used for creator instead, or in addition?
(node->dc:creator->user, comment->dc:creator->user)

I am also missing some way to have a code related to a term, in addition to label and description. This i kind of useful if you are using code/vocabulary standards as vocabulary ( ex. http://en.wikipedia.org/wiki/Dewey_Decimal_Classification ), and want to expose these in some ways... This is more of a limitation in Drupal taxonomy, but i still miss it :-(

Nice :)

I didn't have your source (omnigraffle?) files, so I made a quick scribble over top of the png instead ... http://danbri.org/words/2010/01/14/549

I'd suggest using more DC, and breaking out a foaf description of the human user from the sioc-described drupal account.

Using foaf:page instead of foaf:homepage to point to the creator's homepage highlights the problem: if you'd used :homepage it would merge with other data and often imply that the User was a foaf:Person also. If you only use :page, you'll miss out from data merging algorithms in Garlik, Sindice, Google Social Graph API etc...

... is it feasible to squeeze in a distinction between account and person at this stage?

I'm a little confused as to how Skos:Concept is being used in this schema and from the example located here http://drupalrdf.openspring.net/blog/2009/10/22/produce-and-consume-link... it would seem it's being used for tags and i'm pretty sure Drupal users will be using that strictly for organizational behavior. I am not sure if this would be the correct use of skos:Concept however.

Add new comment