Twelve years ago I basically called the Resource Description Framework (RDF) “dead on arrival”. That was perhaps too harsh of an assessment, but I had my reasons and since then I haven’t had a lot of motivation to regret those words. Clearly there is a great deal more data available in RDF-encoded form now than there was then.
But I’m still waiting for the killer app. Or really any app at all. Show me something that solves a problem or fulfills a need I have that requires RDF to function. Go ahead. I’ll wait.
Oh, you’ve got nothing? Well then, keep reading.
While RDF is complex, and designed to be implemented as a stand-alone depiction of metadata, it does have an implementation that is designed for embedding in web pages: RDFa. On the other hand, microdata is relatively simple and solely designed to be embedded in web pages. While the metadata cognoscenti are in the RDF camp, Google, Microsoft, and Yahoo! have thrown their lot in with microdata by launching the Schema.org effort. Were I a betting man, I wouldn’t be backing RDF at this point.
Here are the key reasons why I think microdata will end up powering the semantic web:
- There is a clear incentive to use microdata. Unlike RDF, there is a clear incentive today to use microdata in your web pages. Search engines such as Google are using this data to make searching better.
- It will increasingly come along for free. Content management systems that many of us use, such as Drupal, are moving to support microdata. This will increasingly mean that even those who don’t anything about microdata may still be exposing it on the web. This kind of frictionless implementation is what is needed to bring the kind of widespread use of semantics that would be required to create the “semantic web”.
- The big guns are behind it. If you had to name the largest Internet companies it’s likely that Google, Yahoo! and Microsoft would be on the list. They have apparently ignored RDF and RDFa in favor of Schema.org.
- There is no clear reason to use RDFa over microdata. What does RDFa buy you that microdata doesn’t? Heck if I know, but feel free to make me smarter with a comment below.
- It’s simple. This is my favorite reason, actually. I’m a big fan of simple, especially when gets the job done just as well or nearly as well as something more complex.
I’m reminded of SGML vs. XML. For years SGML struggled to achieve widespread adoption. For every SGML afficionado there were a dozen others for whom it may have been useful who couldn’t or wouldn’t climb the learning curve. Then XML came along — a simpler and more tightly scoped standard that was the death knell for SGML. Sound familiar? It should.