Specifying the Syntax to Model Transformation

There was a suggestion on the list last summer that transformation
grammars could be used to formally specify the translation of RDF XML to
triples.  A quick search around the web revealled that such grammars were
proposed in natural language processing, but I didn't find anything
immediately useful.

I liked the idea of formal definition of the transformation.  I also
thought it would be good to have an 'executable' specification, i.e. one
that we could execute against test cases and would spit out the triples.
My first thought was to use XSLT to define the transform, but that turned
out pretty unreadable.

My second attempt has been to produce and attribute grammar for RDF.  It
turns out that an attribute grammar works reasonably well, and there
is a simple, possibly automatable, way of turning the attribute grammar
into an XSLT transform.

An experimental version can be found at:

  http://www.bmcb.btinternet.co.uk/2001/rdf/exec-grammar/spec.xsl

The attribute grammar can be found in the header comment, and the XSLT is
executable, though probably buggy.

Brian McBride
HPLabs

Received on Thursday, 22 February 2001 07:35:20 UTC