Dumb RDF and Smart RDF
Once you understand that RDF is really just a distributed form of XML (see RDF/OWL == XML/XSLT, part 1 if needed), you’ll probably want to start taking advantage of it. Unfortunately, most of the existing tools seem to be written by AI specialists.
Dumb RDF is the kind most of us actually want to write. We don’t want to bother about transitive properties, triples, or inductive logic. All we really want is the ability to split our XML blocks across multiple files and magically piece it together. The other stuff is cool, but utterly irrelevant to most of us at this stage.
Examples of Dumb RDF includes Dublin Core (for tagging documents), FOAF (for tagging people), and RSS (for tagging syndicated content). All these examples involve some fairly simple XML that doesn’t require any special knowledge. Notice how popular these formats are.
Smart RDF is where we get into topic maps, ontologies, triples, and other complicated areas. This is where the AI people add all sorts of tags to constrain relationships, definitions, and carefully-defined vocabularies. Smart RDF can deduce that my father’s brother’s only brother’s daughter is my sister, is female, and has only one paternal uncle.
Dumb RDF is just data. Everybody can undertand it and generate it. This is where most of us will always want to be. But Smart RDF is where the active practitioners are. That’s why it seems so complicated and unapproachable.
You know what? That division is just fine, because RDF is distributed. You and I can go off and write Dumb RDF, W3C implementors can write Smart RDF, and we never have to know about each other. An RDF parser that stumbles across Smart RDF will suddenly get smarter and be able to answer more questions, but it still works if it sticks to Dumb RDF.