Syndicate content

Drupal7

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.

Status of RDF in Drupal (November 09) and wrap up of ISWC2009

ISWC 2009 logo flagI had the pleasure to give a presentation of the paper "Produce and Consume Linked Data with Drupal!" at ISWC2009 last, and I was very honored we won the Best Semantic Web in Use Paper award! The 30 minutes of presentation + Q/A passed very quickly and I didn't have much time to expand on the status of RDF in Drupal 7 vs. Drupal 6 after describing the inner workings of the modules we developed. I'm sure this will also interest some people outside the attendees. First of all, the current stable version of Drupal is Drupal 6 (the latest version at the time of this writing being Drupal 6.14). This is the version on which we started to implement the contributed modules presented at ISWC2009, namely RDF CCK, RDF external vocabulary importer (Evoc), SPARQL Endpoint and RDF SPARQL Proxy. Contributed modules means they do not get included in the core Drupal package, but people can download them from drupal.org for free and drop them on their server so Drupal core can be extended. These 4 modules work pretty well on Drupal 6, you can get RDF export in RDF/XML, N-Triples, turtle, json. However generating RDFa is not very easy as it requires to patch the CCK on which we rely to generate the content pages and store the various field data. We made sure this would not be a problem in the next version of Drupal (Drupal 7) which is still under development, and due to be released sometime next year. While we were at it, we also worked on porting one of the functionality present in the RDF CCK and Evoc module to Drupal 7 core: the ability to map the data structure to RDF and expose this in RDFa. This means that, by default and without requiring any knowledge about RDF from their administrator, Drupal 7 sites will expose the following elements as RDFa: title, date, author, content, comments, terms, users, etc. Of course, only publicly available data will be available as RDFa, whatever is private (like user emails addresses) will remain private. This will be part of Drupal 7 core. Needless to say that the rest of the functionalities offered by the set of already existing RDF contributed modules for Drupal 6 will also be available for Drupal 7 once these modules have been ported. We're starting to port these to Drupal 7 next Sunday, as part of the #D7CX Contrib upgrade code sprint in Boston. If you plan to use RDF in your next site, and can wait until Drupal 7 is released, I'd strongly encourage you to start looking at the new Drupal APIs and functionalities. Some RDF features which were not addressed in Drupal 6 will be much easier to achieve in Drupal 7. Try the latest development snapshot of Drupal 7 and report any bug you encounter.