Check out DrupalEasy around the web:
DrupalEasy is the collective expertise of Ryan Price and Michael Anello, who joined forces to provide training and consulting services worldwide. Read all about them and what they can do.
Drupal is a free, super-powerful content management system for sites that require information posting and collection, including blogs, forums, videos, photos, and databases of information. We think it is the best platform available. Here's why...
More and more savvy organizations are going with Drupal for content management, and its no mystery why. It’s free, flexible, and easy to maintain for small or large volume sites. Learn more...
We've seen in the previous four articles that RDF has the potential to be a game-changer when it comes to linked data on the web. The fact that is it an open standard, easy to understand, and implementable on sites from those powered by the most complex web applications to simple hand-built web pages makes it easy to understand why so many people are starting to look at RDF as one of the future cornerstones of the web.
Luckily for the Drupal community, our fearless leader Dries Buytaert recognized this in 2008 and suggested that Drupal take the lead in implementing RDF among open source content management systems.
Since then, a number of individuals have stepped up and committed to working to get RDF functionality in Drupal 7. The Semantic Web group on Drupal.org is the focal point of the work that is going on in this effort. Earlier this year, they posted a video about what will be possible when RDF functionality is available. They showcased advanced search results and the ability to navigate the relationships that RDF triples provide with HTML documents.
As part of the effort to get RDF in Drupal core, a week-long code sprint was held in Ireland with the aim to organize and to start implementing the various RDF plans and patches for Drupal 7. The result of the sprint was a "lightweight basic design for integrating RDF". Specifically, it was decided to implement RDF classes and properties for nodes, users, comments, and taxonomy terms. These RDF "mappings" could then be defined and altered programatically similar to the way forms and links are handled today. In a nutshell, it is an RDF API.
The code sprint participants split into two groups - one focused on figuring out the best ontology mappings for standard Drupal content. They worked on questions like, "What's the best way to mark up an article with comments with RDF? What ontologies should we use? What's the best way to mark up taxonomy terms?. Fortunately, they had some help in the form of Mark Birbeck, who is one of the designers of RDFa. The second group tasked themselves with figuring out how to build the RDF API.
Once the RDF API gets committed to core, this will allow helper functions to be written to push the RDF data to the theme layer in order to output RDFa (RDF data will only be output as RDFa in core - it will be up to contributed modules to output the RDF data in other formats). Then, individual core modules (node, user, blog, etc...) can be updated to output default RDFa attributes.
One of the key aspects of using RDF with Drupal is having the ability to define Compact URIs (CURIES) which allow you to use shorthand when writing RDFa attributes. In order to implement CURIES, an "RDF Namespace Registry" is needed to manage the various CURIES (to avoid duplicates). Much of this work has already been completed and committed to Drupal 7 core.
So, how does the work done so far compare with Dries' original vision of adding RDF support into Drupal? It's actually pretty close. A site deployed on the Drupal 7 platform will, (probably) by default, start exposing RDF data immediately. With well-over 100,000 downloads per month, that's a lot of new RDF data getting exposed every day. In this sense, Drupal will be way out in front of the curve compared to virtually every other content management system - open-source or not.
While the majority of the RDF effort for both Drupal 6 and Drupal 7 has been focused on the provider side of things, as RDF data becomes more prevalent, there will no doubt be a push to start consuming all of the newly-found data relationships.
Wrap Up
At the outset of the first article in this series, I indicated that I was motivated to write these articles in an effort to figure out if I could find a compelling reason to convince my clients that they should implement RDF on their Drupal sites. What did I learn?
For Drupal 6 sites, unless the client specifically requests RDF functionality, I would probably only recommend using Calais (or one of its companion modules) unless there is a clear indication that a more robust solution would be beneficial to them. With most of the Drupal 6 RDF modules still in the development phase, there is still a risk that a custom implementation will be a rocky (and costly) road for all but the simplest of cases.
Moving into the future, for Drupal 7 sites the question is moot. RDF will be there regardless. There will definitely be an opportunity to offer clients the ability to RDF-ize their custom content types using the next version of RDF CCK, but the decision to do so won't be nearly as difficult (or costly) as it is today.
RDF is coming. As a developer, I look at it this way: I will be able to offer RDF functionality to my clients at a fraction of the cost that my non-Drupal-developer competitors will be able to. Organizations that want an RDF solution will see that it will be baked right in to Drupal 7 - this will be a big advantage to us all. We're ahead of the curve.
Additional Resources
Interested in learning more? Here's some of the articles and videos I found useful while writing these articles:
Thanks to Benjamin Melançon of the Agaric Design Collective for his assistance with this article. Benjamin is an active member of the Drupal community and attended the "RDF in Core" sprint in May, 2009.
This is part 5 in a 5 part series about RDF and Drupal.
Pingback
[...] post: RDF in Drupal: The Future - RDF in Drupal 7 | DrupalEasy Share and [...]
Hi Mike! Fantastic series
Hi Mike!
Fantastic series here! Question though: how does RDF deal with descriptions about the same subject but in different languages, i.e. "hat" & "chapeau"? Is someone talking about this somewhere?
Stephen, That's a great
Stephen,
That's a great question - but one I don't have an answer to.
Your best bet would be to post it on the Semantic Web group on drupal.org.
Thanks,
-mike