Dorothea recently wrote a rant about the RDF syntax in which she rails against the suggestion from some RDF advocates that the syntax is unimportant: it's the model that counts.
Dorothea notes that: ...only a few people actually create models—vastly more people have to work on a pure syntax level with the models other people create. The model-creating people are pretty happy with RDF (I assume, or it wouldn’t still be around). Everybody else isn’t.
Her posting made me wonder whether this frustration is down to the basic elements of the RDF syntax, e.g. the element and attribute names, or it's inherent variability: that there are multiple ways to encode the same data using slightly different syntactic structures.
I'm guessing -- and I'm hoping Dorothea will step in to correct me here -- that most of frustration is because of the variability. That's certainly the cause of much griping from hackers keen to use plain old XML tools on RDF data. The variability defeats any attempt to use, e.g. XSLT, without an initial normalization step.
But this doesn't mean that we have to throw out the syntax entirely. We can achieve some common ground by creating syntactic profiles. A syntactic profile is an RDF format constrained to only use certain features of the RDF syntax. Introducing these constraints makes the profile amenable to processing with plain XML tools whilst retaining the ability for it to be processed as full RDF. RSS 1.0 is just such profile but possibly not the most elegant example.
I recently conducted some experiments, prompted by Dan Brickley, to create some profiles of FOAF which is a pure RDF vocabulary. I used some simple Schematron schemas (partly generated from the FOAF RDF schema) to validate FOAF documents.
The same technique could easily be applied to other vocabularies (or mixtures of vocabularies) very easily. And there's no reason not to use another schema language; I chose Schematron because it's open by default -- anything not prescribed is permitted -- which I found an easier starting point when carving out a restricted syntax.
The one problem with syntactic profiles are that they need to be obeyed by data producers using pure RDF tools. Otherwise data can't flow both ways. This requires some care on the part of the developer and help from the underlying API. Jena 2 has greatly improved control over RDF output which I've been exploiting to make my own output at least readable, if not necessarily "XML processable". (Although I've still found that small changes to the graph can radically alter Jena's output, so it's not 100% there yet).
Elsewhere I see that Dave Beckett has published a pre-print of a paper called "New Syntaxes for RDF" which: ...reviews syntaxes for RDF as defined in RDF Model and Syntax W3C Recommendation including RDF/XML as updated by the RDF/XML Syntax Specification (Revised) and describes the problems that remain after the revising. These include not clearly showing the RDF triple model and not working very well with newer XML technology such as XSLT and W3C XML Schema (WXS).
So I think that problems relating to the user-friendliness of the syntax are being considered.
I'm interested at the moment in how I can visualise RDF graphs. Not as navigable graphs in the same sense as GSS but just simple web pages. For that I think I'm going to try out Norman Walsh's RDF Twig (plus Extreme Markup Languages 2003 paper). But there are others to explore.
Posted by ldodds at December 15, 2003 02:28 PM | Feedback? | | TrackBack