- From: James Cerra <jfcst24_public@yahoo.com>
- Date: Tue, 30 Nov 2004 08:40:52 -0800 (PST)
- To: Laurian Gridinoc <laurian@gmail.com>
- Cc: www-rdf-interest@w3.org
Laurian Gridinoc, Wow, thank's for the skinnny on 3Store and Triplestore. It seems very impressive (more than anything I'd come up with). Your stylesheet was also pretty insightful [1]. To answer your question, the other well-known programs to query arbitrary RDF datastores include: * RDF Twig [2] * Treehugger [3] There has been more work done; however most of the other approaches only transform a subset or "normalized" form of RDF/XML [4, 5, 6]. IMHO, there are a few issues with the design of Treehugger and RDF Twig (and Triplestore, from an initial look): * I don't think that XPath by itself should be used to query RDF. It was designed for searching trees and not arbitrary graphs. So RDF Twig, Treehugger, and others reserialize the graph into documents that are easier to use with XPath. However, this makes it hard to construct queries if you don't know the details of the initial serialization. (i.e. Should I query for ./@rdf:resource or ./rdf:resource?) * The results are returned as another XML document or XML fragment. This means that another tree has to be built - isn't that inefficient? If there are a lot of nodes queried, this could mean a lot of memory is used. * They seem to concentrate on quereies stored in seperate files. For my purposes, it is more advantageous to query rdf data that is embedded in a file. Nemo uses Jena to do all of the querying, so any improvements to RDQL are passed along to my app. RDF Twig also allows generic Jena queries to be passed to it; however, I really don't like the interface (an entire extension element makes no sense to me - I intend to add convience functions to Nemo to create query strings easier in an XML file). Nemo also returns the results of a query as an iterator that lazily evaluates each query only when the XSLT processor uses it. This saves resources (I hope) when accessing large datastores. Furthermore, Nemo allows rdf/xml to be retrieved from a branch of the XML document rather than a seperate document. This is important, since I plan on embedding RDF data directly into my documents. That's why I wrote Nemo. -- Jimmy Cerra "my mind is slipping away... day by glorious day" - Robin A. Gorkin -- [1] I'd never think in XSLT to use a variable containing a string as a hash. [2] http://rdftwig.sourceforge.net/ [3] http://rdfweb.org/people/damian/treehugger/ [4] http://www.wasab.dk/morten/blog/archives/2004/05/30/transforming-rdfxml-with-xslt [5] http://www.w3.org/2001/12/rubyrdf/xsltrdf/ [6] http://www.w3.org/XML/2000/04rdf-parse/ __________________________________ Do you Yahoo!? All your favorites on one personal page – Try My Yahoo! http://my.yahoo.com
Received on Tuesday, 30 November 2004 16:41:24 UTC