Yes seeing as it is a sequence of joins I just used our Transform implementation to turn it back into a series of OpJoin's
Is there a standard place where you can turn specific optimizations on/off? Rob -----Original Message----- From: Andy Seaborne [mailto:[email protected]] On Behalf Of Andy Seaborne Sent: Wednesday, November 16, 2011 12:18 AM To: [email protected] Subject: Re: SPARQL Algebra from Query Validator vs actual Query 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 >
