> > 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... > > I'd be interested in synchronizing with the attempts you have made.
I just added some code in SPARQLEvaluate.py to make a call to my evaluation method: # queryExec = Execute(graph, query.prolog) # res = queryExec.query(query.query.whereClause.parsedGraphPattern) The execute class contains a recursive method for creating the bindings depending on the graph pattern...but I didn't get that far there yet. > Well you could help me sketch an attempted implementation of [1] that > uses the bison parsed objects to start with =). In fact most of the > directives in that document are already being done by > SPARQLEvaluate.py - it just needs to be broken away from the sparql-p > core. Perhaps some initial unit tests and a development branch? [1] looks very interesting. So a simple start would include to make unit-tests for the examples in sec. X.1.2 (including simpler tests as well...). The next step is to use the existing bison parse tree and re-compose/simplify it using the algorithm provided in [1]. I will look into the code again to make sure I understand what is there already. How do we create a new dev. branch? Cheers, Mikael > > [1] http://www.w3.org/2001/sw/DataAccess/rq23/rq24-algebra.html > _______________________________________________ Dev mailing list [email protected] http://rdflib.net/mailman/listinfo/dev
