Re: AW: Comments on Fresnel and your ISWC draft

From: Jacco van Ossenbruggen <Jacco.van.Ossenbruggen_at_cwi.nl>
Date: Fri, 22 Apr 2005 17:24:25 +0200

Stefano Mazzocchi wrote:

>
> this goes back to the styling issue: I think that fresnel should be a
> bridge between a graph and a tree... and once you are in 'tree world'
> you can use whatever you want to present that, as there are many
> technologies and best practices already.
>
Good point. Maybe you'd like to have a look at earlier work we did.
This is currently going through a long review/editing/publishing cycle
of the IJWET journal (see below for bibtex ref). AFAIK it is still not
published :-(

An old pre-print, however, is available online:

http://ftp.cwi.nl/CWIreports/INS//INS-E0303.pdf

The approach is what I call a minimalist approach to the RDF graph to
XML tree problem. The only thing I did is write a simple java class
(about 1 page of code) that implements an XSLT extension using the Xalan
XSLT API. The java class sends an RDF query to a query engine (in our
case, Sesame) and returns the answer as an (XML-encoded) table of
variable bindings. This is returned to the XSLT style sheet, and you
are back in "tree world" and can do further processing in XSLT & CSS.

Advantages:
- you can mix and match the languages. Things we do all the time is
using XSLT parameters and variables in RDF queries, select different
XSLT template rules based on results of RDF queries, style RDF query
output roughly by XSLT rules and fine tune by using external CSS style
files, etc.
- Easy for people that already use XSLT. For example, Noadster was
build by inserting a single SeRQL-extended XSLT style sheet in an
already existing XSLT-based Cocoon pipeline.
- minimal amount of code required, just the simple java class that glues
the XSLT and Sesame engines together.
- once SPARQL is a W3C REC you can replace SeRQL by SPARQL and the whole
solution only requires a combination of two W3C RECs.

Drawbacks:
- the query syntax becomes an ackward mix of XML, XSLT and the RDF query
language. As a result you have to escape the angle brackets thay many
RDF query languages use, for example in the <http://example.com>
notation. Serql's use of {} conflicts with that of XSLT, etc.
- People who hate XSLT will hate this even more: not declarative, hard
to read syntax, etc.

The drawbacks also explain our interest in Fresnel: I hate the idea of
further extending Noadster using this XSLT/SeRQL combination. It is
great for Q&D fast prototyping of small demos, but I'm affraid it
doesn't scale to a real, customizable RDF display framework. But I
think it does show that Stefano is right in saying that the graph to
tree problem is the main issue. Once your in tree world, I would stick
to simple CSS wherever possible and use XSLT for the more complex stuff
if needed. If Fresnel would only give me a declarative solution for the
graph-to-tree problem (a transformation which I could, for example, plug
into Cocoon), I would be very happy!

Jacco

Bibtex for the IJWET article:
_at_article{ins:ijwet04,
volume = {1},
note = {to be published, based on
http://ftp.cwi.nl/CWIreports/INS//INS-E0303.pdf},
author = {Jacco van Ossenbruggen and Lynda Hardman and Lloyd
Rutledge},
journal = {International Journal of Web Engineering and Technology},
title = {{C}ombining {RDF} {S}emantics with {XML} {D}ocument
{T}ransformations},
number = {4},
year = {2005}}
Received on Fri Apr 22 2005 - 15:23:54 EDT

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