On 16/11/11 01:46, Robert Vesse wrote:
We've noticed that for some queries the SPARQL Query Validator in
Fuseki will generate different algebra versus the query algebra we
see when processing it within our query engine.
The particular example we see is certain queries use join (OpJoin) in
the validator output but sequence (OpSequence) in the actual query
engine.
I haven't dived into the code yet to take a look at what's going on
but can anyone tell me quickly whether this is an expected behaviour?
e.g. does the validator only show the unoptimised algebra
Yes.
See also
arq.qparse --print=op # Algebra
arq.qparse --print=opt # Optimized (default config)
If you are writing a query engine, you get to choose what optimizations
are appropriate to your system.
"sequence" probably isn't suited to the Cray architecture but you can
implement it as a N-way join.
QueryEngineTDB.modifyOp
QueryEngineMain.modifyOp
Algebra.optimize
Andy
Cheers,
Rob