Recovered from the Wayback Machine.
Edd Dumbill has a new essay on why he continues to support RDF. Much of it has been heard before, but I like what he had to say on RDF being failure-friendly:
Processing RDF is therefore a matter of poking around in this graph. Once a program has read in some RDF, it has a ball of spaghetti on its hands. You may like to think of RDF in the same way as a hashtable data structure – you can stick whatever you want in there, in whatever order you want. With XML, you expect to get a tree with its elements in a predictable order. If an expected element is missing, then it tends to render your whole XML document invalid with respect to the schema you are using. If an element you don’t expect to be there is present, then again your document becomes invalid. With RDF, you have no particular expectations; if the particular strand of spaghetti you’re looking for isn’t there, the rest of the ball remains. If there are new strands you don’t expect, you won’t even notice their presence if you don’t go looking for them.
All too true. That’s another reason I like to use RDF/XML for all my applications – it’s dead simple to process, and doesn’t require specialized vocabulary handling to process all that vocabulary dependent dead-tree structures of vanilla XML.
I wonder at the timing of Edd’s essay? Do we think it has anything to do with the recent conversation about namespaces, when you consider the following:
My “find the title” processor can still deal with your description just fine, as all it cares about is the dc:title property. All RDF processors are automatically future compatible, and all RDF descriptions are automatically backwards compatible. This is a huge benefit over traditional XML processing.
This is the main reason I was strongly behind the use of RDF for RSS. Everyone wants to extend and play with RSS for their own purposes, and RDF gives them the chance to do that without breaking everybody else’s software.
Yes, yes, yes!
I’ve said that I’m not a greek chorus for RDF – too much of that at times – but I also have little tolerance for people trying to re-invent sophisticated features in an XML vocabularly like RSS 2.0 that are included free of charge with the RDF/XML version of RSS, RSS 1.0. With all RDF/XML vocabularies when it comes to that.
Gah! Go bang your head against the wall if you like pain.