Re: XSLT applied to RDF?

Sergey Melnik wrote:
> 
> The trouble is that currently 1-4 exist only on our
> minds rather than in a spec, not even in an inofficial one.

Right, though this list has seen a few informal proposals.  I'm hoping to
work up an informal proposal for a Simplified RDF that's backwards
compatible, since I'm the one whining about future syntaxes needing to be
backwards compatible.

I hadn't really thought of my 1-4 as classifications.  As you pointed out,
you don't really need all four, since some encompass the features of the
others.  They are just 4 possible useful things that you might get out of
XSLT on RDF.

With that said, here is what I had in mind for each, in more detail.

1) Canonical RDF

Analogous to Canonical XML.  Since RDF is a many-equivalent syntax, it is
sometimes useful to normalize to a single canonical syntax.  Usually,
canonicalization is used for equivalance testing, or for computing
checksums, etc.  For RDF, this is somewhat less interesting, since a more
robust comparison can be made model to model.  Still, a lot of people are
more comfortable manipulating syntax rather than abstraction.

2) Trivial RDF (Just The N-Tuples)

Just like the "triples only" syntax, but expanded to include all the fields
mentioned by David Megginson.  This could be a canonical form, if there was
some logical ordering of the N-Tuples.

3) Simplified RDF (backward compatible to RDFMS 1.0)

This is just a set of conventions imposed on RDFMS 1.0 in order to simplify
it.  For example, when the value of some property is a resource description,
use an inline description under these mumble conditions, otherwise use an
rdf:resource reference.  Similar conventions can be used for
canonicalization, though the goals are different (canonical RDF is not
necessarily simpler!)

4) XML Schema compatible intermediate form of RDF

This is a transformation of the RDF directed graph model into a set of
trees.  Each tree gets serialized into an XML doc that is controlled by a
DTD and/or an XML Schema specific for that tree. All the Dublin Core gets
put in the Dublin Core tree, all the vCard stuff goes in the vCard tree,
etc.  Nodes in one tree are allowed to point at nodes in other trees through
a reference (XPointer?).

In other words, if we push the reset button on the RDF syntax, and use new
criteria for design, like it has to be DTD-able and XML Schema-able, but it
has to be more concise and tree-like than Trivial RDF, this is what we end
up with.

Perry

Received on Wednesday, 8 March 2000 18:18:01 UTC