« No-one expects the language inquisition | Main | Freak Atom occurrence »

RDF 101

A no-nonsense guide to Semantic Web specs for XML people - good piece by Stefano Mazzocchi. If you're new to RDF and OWL, but are comfortable with XML it comes highly recommended as Part I of a series. Some minor criticisms within.

  • There are markup people out there who can live in the RDF world; Uche Ogbuji, Norm Walsh, Shelley Powers, Joshua Allen. Even me.
  • Stefano gives RDF reification too much credit - RDF reification is something of a mirror to the soul, as you can see whatever you want to see in it. However it doesn't bear much scrutiny. To paraphrase Wolfgang Pauli, it's so incoherent it's not even wrong.
  • N3 isn't RDF*. To say that Jena or CWM can do transformations between RDF/XML and N3 is a simplification. N3 is a more expressive but less well-defined language than RDF - yes, you can inscribe N3 in RDF form (sort of) but it won't mean anything wthout the extra semantics N3 adds. This is something like putting Python code with lambda expressions inside Java strings - yet without an eval() function in Java to evaluate them, they're just strings... Do remember too that the semantics of N3 is defined only by the cwm source code which somewhat defeats the point of having a language with declarative semantics like N3 on the web in the first place. Stefano should take a look at Turtle rather than N3.
  • I don't believe the number one criticism of RDF is taxonomy centralization. I think it's a mix of the XML syntax and a lack of obvious usages. Stefano points out his issues with the RDF/XML. In fairness the RDF community is coming around to the syntax issue. And I understand why people don't get what use RDF is beyond Distributed AI research; since it doesn't have a standard query language it's not obvious what to do with the stuff other than generate it. Having RDF is like having the Relational Data Model but without the RDBMS or SQL to motivate usage. **

But until RDQL hits the streets there is always OWL. Stefano nails it; OWL gives you something to do with your RDF. And OWL is a good piece of web tech - Recently on atom-syntax Mark Nottingham wrote out a list of things a versioning policy for Atom needed to be able to deal with. Previously the discussion had been focused mostly on SOAP style mustIgnore and mustUnderstand attribute usage and clear prose. Then Ian Davis produced a truly fascinating way of handling the version compatability requirements using OWL constructs, and one that deserves serious evaluation beyond Atom. At first glance it seems more powerful than the mU/mI approach Web Services developers will be familiar with.

* I have a tradition of putting that in red on this site, just so you wouldn't miss it.

** Hands up who thinks RDBMSes or SQL are not useful. Ok, now hands up who use an RDBMS because they like the Relational Data Model rather than SQL. Exactly.

July 16, 2004 03:06 PM


Trackback Pings

TrackBack URL for this entry: