W3C home > Mailing lists > Public > www-rdf-interest@w3.org > November 2003

RE: ANNOUNCEMENT: RDFStyles: alternative to XSLT for RDF

From: Adam Souzis <adam-l@souzis.com>
Date: Mon, 03 Nov 2003 01:52:03 -0800
Message-ID: <3FA62543.1080801@souzis.com>
To: www-rdf-interest@w3.org

Allow me to jump in here -- I just released some software very similar 
in concept to the ones you describe here...
 it maps the RDF abstract syntax to the XPath data model, allowing for 
traversal (RxPath) and tranformation (RxSLT) languages that are 
syntactically identical to XPath and XSLT (see 
http://rx4rdf.sourceforge.net ). 

So, what does '*' mean in RxPath? It depends on whether the context node 
is a resource or property. If it's a resource * selects all the 
statements (property nodes) it is a subject of.  If the context is a 
property node, * selects its object (with, for convenience, special 
cases for rdf containers and collections). 

The semantics for the descendant axes ("selecting all subnodes") is 
similar to but more complicated than XPath because it needs satisfy 
several requirements: handle circularity gracefully, make intuitive 
sense for traversing an RDF graph, and imply enough structure so that 
the expression can be converted to a relatively efficient 
join/projection based query, e.g. in RDQL or SQL.

-- adam

>Ok, for this we have to go deeper into existing work and should base on
>that.
>What is "*" to an actual resource ?
>perhaps something like Patrick Sticklers' "Concise Bounded Resource
>Description" ?
>
>In RDFTwig, the problem was solved with the "twig" or "branch" etc.
>definitions, our "*" equivalent would be the "leaf" thing.
>http://rdftwig.sourceforge.net/paper/index.html#leaf
>I have not used this yet and think, the syntax is a bit long. But the
>idea in RDFTwig is very fine, a good combination of XSLT and RDF.
>
>In Treehugger this would mean to select f.e. all properties of the
>Resource
>http://rdfweb.org/people/damian/treehugger/introduction.html
><xsl:value-of select="./foaf:name/text()"/>
>will return the foaf:name property of the current node, in textual form.
>I haven't found out exactly how to select all subnodes, but you will
>generally do something like 
>"./*/text()"
>
>In RDFPath
>http://web.sfc.keio.ac.jp/~km/rpath-eng/rpath.html <http://web.sfc.keio.ac.jp/%7Ekm/rpath-eng/rpath.html>
>this would go into the direction (out:-).
>and I can't guess the correct syntax, I don't understand their paper
>fully but it looks good. probably the "*" would be a "*" in their view.
>vertic A - property b - Vertic C
>(A is context)
>"@*" i think selects C....
>
>
>
>So there are a lot attempts to do the "*" selection and as Damian Steer
>has pointed out in Section 5 of 
>http://rdfweb.org/people/damian/treehugger/introduction.html
>it is good to use some XPAth like syntax (RDFPath) and then convert it
>to RDQL statemtnes, this approach sounds solid to me.
>
>interesting topic !
>
>greetings
>Leo Sauermann
>www.gnowsis.com
>
>
>> 
>> Emmanuel
>> 
>> -- 
>> Emmanuel Pietriga (epietriga@nuxeo.com <mailto:epietriga@nuxeo.com?Subject=RE:%20ANNOUNCEMENT:%20RDFStyles:%20alternative%20to%20XSLT%20for%20RDF&In-Reply-To=%3C000801c39ef1$e6bdc810$0501a8c0@ZION%3E&References=%3C000801c39ef1$e6bdc810$0501a8c0@ZION%3E>)
>> tel (mobile): +33 6 88 51 94 98
>> http://claribole.net
>> 
>
Received on Monday, 3 November 2003 04:51:38 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Monday, 7 December 2009 10:52:03 GMT