May 22 2003

RPV Syntax is Ugly

Published by Ian Davis at 1:28 pm under Uncategorized

Tim Bray is moaning about the RDF/XML syntax again.
I wrote about this last time
and even pointed Tim at my experiment. No response so far.

He disingenuously presents two examples of the same set of triples, the first in his
cryptic RPV format, the second in RDF/XML. Except that he’s changed the rules. In his RPV example he’s
not using namespace prefixes for his elements. Let’s see what RDF/XML looks like if we do the same for the RDF namespace:


<RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
         xmlns:dc="http://purl.org/dc/elements/1.1/"
         xmlns:ex="http://www.example.com/terms/">

  <Description about="http://www.w3.org/TR/rdf-syntax-grammar"
                   dc:title="RDF/XML Syntax Specification (Revised)">
    <ex:editor>
      <Description ex:fullName="Dave Beckett">
        <ex:homePage resource="http://purl.org/net/dajobe/" />
      </Description>
    </ex:editor>
  </Description>

</RDF>

That looks a little easier to read doesn’t it?

I don’t like the mixture of attributes and elements, so I’ll rewrite it using just elements for the data:


<RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
         xmlns:dc="http://purl.org/dc/elements/1.1/"
         xmlns:ex="http://www.example.com/terms/">
  <Description about="http://www.w3.org/TR/rdf-syntax-grammar">
    <dc:title>RDF/XML Syntax Specification (Revised)</dc:title>
    <ex:editor>
      <Description>
        <ex:fullName>Dave Beckett</ex:fullName>
        <ex:homePage resource="http://purl.org/net/dajobe/" />
      </Description>
    </ex:editor>
  </Description>
</RDF>

Now, looking at Tim’s example again, you can see he’s moved the collection of triples about Dave Beckett to
a seperate structure. We can do the same:


<RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
         xmlns:dc="http://purl.org/dc/elements/1.1/"
         xmlns:ex="http://www.example.com/terms/">

  <Description about="#Dave">
    <ex:fullName>Dave Beckett</ex:fullName>
    <ex:homePage resource="http://purl.org/net/dajobe/" />
  </Description>

  <Description about="http://www.w3.org/TR/rdf-syntax-grammar">
    <dc:title>RDF/XML Syntax Specification (Revised)</dc:title>
    <ex:editor resource="#Dave" />
  </Description>
</RDF>

Now compare this to Tim’s RPV version and tell me which one is easier to read:


<RPV xmlns="http://www.rdf.net/rpv/">
  <R id="Dave" pbase="http://www.example.com/terms/">
    <PV p="fullName">Dave Beckett</PV>
    <PV p="homePage" v="http://purl.org/net/dajobe" />
  </R>
  <R r="http://www.w3.org/TR/rdf-syntax-grammar">
    <PV p="http://www.example.com/terms/editor" v="#Dave" />
    <PV p="http://purl.org/dc/elements/1.1/title">
    RDF/XML Syntax Specification (Revised)
    </PV>
  </R>
</RPV>

PS It’s been suggested to me that Tim’s complaint is not that RDF/XML is hard to read but that it’s hard to parse with tools like XSLT. I don’t buy this. What makes RDF/XML hard to parse with structural based tools like XSLT is the model, not the syntax. Since RPV shares the same model it’s no easier to parse.

3 Responses to “RPV Syntax is Ugly”

  1. Raw Blogon 23 May 2003 at 12:15 am

    ‘t want to)RDF.net
    Tim Bray talks about RDF. ongoing · The RDF.net Challenge PS. I already emailed my grumble about this piece (basically…

  2. Raw Blogon 23 May 2003 at 12:16 am

    ‘t want to)RDF.net
    Tim Bray talks about RDF. ongoing · The RDF.net Challenge PS. I already emailed my grumble about this piece (basically…

  3. Bill de hÓraon 25 May 2003 at 5:34 pm

    The RDF.net challenge again
    As expected, the RDF syntax permatthread does the rounds Ian Davis: It’s essential that the model is watertight before we can do anything major with the serialization syntax. Yet the