Sunday, 7 December 2003
The New RDF
I spent a little time on the plane the other day reading the latest WD of the RDF Primer. I didn’t attempt to review the entire document set, as reading a 71 page primer is quite enough!
I haven’t followed RDF for quite some time; I’ve been busy with other things, and haven’t had a direct requirement to be familiar with the technology, so my concept of RDF was, until I started reading this, circa 2001. So far I’ve only scratched the surface of the primer, but it’s pretty obvious that a lot has been added (e.g., typed literals — good!).
However, I’m a little disappointed to see the continuing emphasis on the RDF/XML syntax; although it’s been separated out, it still seems to be the preferred representation, even though the primer itself uses an n-triples syntax to explain RDF. This shouldn’t be news to anyone who’s talked to me about RDF any time in the last two years.
Also, one question - in section 2.1, “Basic Concepts”, the primer says
RDF defines a resource as anything that is identifiable by a URI reference.
Doesn’t this expose a pretty deep conflict between RDF and the Web architecture? URIs identify resources; URI references are just convenient ways to write down URIs with some extra information. RFC2396 says (emphasis added)
When a URI reference is used to perform a retrieval action on the identified resource, the optional fragment identifier, separated from the URI by a crosshatch (“#”) character, consists of additional reference information to be interpreted by the user agent after the retrieval action has been successfully completed. As such, it is not part of a URI, but is often used in conjunction with a URI.
The primer takes great pains in Appendix A to say that the use of fragment identifiers is only a syntactic convention, but that ignores the fact that they aren’t being used in alignment with how the rest of the Web uses them — to identify a view of a resource, not the resource itself.
Isn’t this going to cause trouble? Sure, it’s a nifty little hack to make it convenient to keep a bunch of RDF definitions in a single file on a server, but this smells more like an implementation problem than something that is exposed in what is arguably the most important part of the Web, the identifiers which tie everything together.
Can somebody give me an update of the current state here? I know this has been a contentious issue both among the SW folks and the TAG people, but tracking the state of either of those communities needs something more than the current technology offers…