Re: Comments on 'precedural approaches'

From: Emmanuel Pietriga <>
Date: Wed, 27 Apr 2005 09:26:14 +0200

Stefano Mazzocchi wrote:

> >> I really feel strongly against this RDF/XML+XSLT as a general approach
> >> for transformaing RDF. That's why I put "wrong". But you're right,
> >> that's probably too strong... The example is a good one and we should
> >> probably cite it. But it is more an illustration of the point above
> >> (unbearably hard) than of this one (conceptually defective).
> Do you have an example of what you mean by "conceptually defective"?
> (not trying to be dense, just curious)

I seem to have difficulty getting this point across. One last attempt,
and after that I'm willing to end this conversation as quickly as
possible, as I basically agree with you on all the points you make. We
can come back to it if necessary when we write the new version of the paper.

In order to illustrate why I consider this as "conceptually defective",
I will use an analogy. It is not 100% perfect, but it should convey the
idea of what I mean by that.

Take a programming language and intepretation of source code written in
that language. You have a lexer that tokenizes the raw source code. Then
a parser which takes these tokens and builds an abstract syntax tree
(AST) using the grammar. And then the core compiler/interpreter/whatever
which processes this AST to get a representation of the program that is
semantically meaningful to the computer (the AST by itself is not).

The RDF/XML raw file is the source code. The XML parser can generate a
DOM tree or any other data structure that represents the XML infoset.
This infoset is equivalent to the AST. This means that RDF/XML+XSLT
works at the level of the AST, instead of working at the level of a
"semantically meaningful representation of the program". Wrong level of
abstraction (too low), thus conceptually defective approach.

> >>>> The problem is not that
> >>>> is the fact that we have graphs instead of trees and all existing
> >>>> technologies work with trees, not graphs.
> >
> >>
> >>
> >> Yes. But it is not just that. It is the fact that the RDF/XML tree is
> >> intended for the serialization of the RDF model. It is just one
> possible
> >> projection of the graph, and it thus looses the generallity found at
> the
> >> RDF graph level.
> This is incorrect. The RDF/XML tree is a loss-less serialization.
> Therefore, by design and definition, it contains *all* the information
> of an RDF infoset.

It is loss-less indeed. But some very important information is no longer
explicit and requires knowledge of the RDF model, which you do not have
at the XML+XSLT level and which thus requires additional processing if
you want to exploit it.

Take for instance the arcs of the RDF graph, and more specifically in
cyclic graphs. At the RDF/XML level, you may "see" some of them
explicitely through the nesting of XML elements representing property
arcs inside the subject resource. But some of them you won't see. I'm
not saying they are lost. But at the RDF/XML level they have no explicit
representation. If you want to be aware of them and exploit them in your
transformation, you have to be aware of what the RDF/XML represents at
the RDF level, and you have to do some additional processing just in
order to "retrieve" this knowledge. Whereas if you act on the RDF graph
instead of its RDF/XML representation, you do not have this problem.
That's clearly related to what I designate above as the problem of
"addressing the problem at the wrong level of abstraction", which is why
I claim it to be *conceptually* wrong. It does not mean that
RDF/XML+XSLT never works, or that it is impossible to do anything useful
with it.

Emmanuel Pietriga
INRIA Futurs - Projet In Situ    tel : +33 1 69 15 34 66
Bat 490, Université Paris-Sud    fax : +33 1 69 15 65 86
91405 ORSAY Cedex  
Received on Wed Apr 27 2005 - 07:27:08 EDT

This archive was generated by hypermail 2.3.0 : Thu Aug 09 2012 - 16:39:18 EDT