Hi Chimezie, > I have been (in part) but I've been stumped by the fact that the > current evaluation method ( sparql.queryObject ) is limited in the > kinds of patterns it can handle - as pointed out earlier. I've taken > the time instead to try to familiarize myself with the recent paper on > SPARQL semantics [1] in order to determine how to 'fully' implement > the composition approach (as described there) to SPARQL evaluation. >
Thanks for the reference, another interesting paper is [2], it describes the JRDF implementation. Section 2.7 also discusses the approach from Perez. > All the pieces are there to support the full specification, the > challenge is to rewrite or refactor the existing expantion tree > mechanism to accomodate a moving target (the spec) without any formal > understanding of the consequences. Implementing the evaluation algorithm from [1] using the intermediary format for graph pattern expressions produced by the bison SPARQL parser would probably result in cleaner code since many lines in SPARQLEvaluate.py are used to prepare the input to sparql.queryObject. I did some simple attempts in that direction (not using the algorithm in [1] though) a couple of months ago because I wanted to understand the details of how SPARQL queries are evaluated. Rewriting has the downside that a lot of the existing and tested code in rdflib.sparql would go unused... Since the spec. is changing I think it is more important that it is known exactly what the rdflib parser and evaluator supports. If I as a user want to use rdflib, what can I expect? Related to this are the tests running against the RDF DAWG data set, is the list with commented out tests in test/BisonSPARQLParser/test.py up-to-date? I'm currently using rdflib within a project and would be interested spending time on the SPARQL query evaluation implementation. Please, let me know how I can contribute? Cheers, Mikael [1] http://www.dcc.uchile.cl/~cgutierr/papers/sparql.pdf [2] http://jrdf.sourceforge.net/RelationalBasedSPARQL.pdf _______________________________________________ Dev mailing list Dev@rdflib.net http://rdflib.net/mailman/listinfo/dev