On 13/11/2020 20:01, Jeffrey Kenneth Tyzzer wrote:
We’re using Fuseki 3.16.0, and I’d appreciate guidance on getting the most 
detailed explanation available for query execution plans. Given that Fuseki is 
built upon and/or incorporates more discrete Jena components, e.g., TDB and 
ARQ, there appears to pertinent information in several places e.g.,

Optimization happens in two places: optimizing the algebra and optimizing the BGP executions.

https://jena.apache.org/documentation/query/explain.html
https://jena.apache.org/documentation/query/logging.html
https://jena.apache.org/documentation/fuseki2/fuseki-logging.html
https://jena.apache.org/documentation/tdb/optimizer.html

but I wonder if some of it supersedes others.

There is a command line tool "qparse" which takes query and prints the algebra to be executed, with optimizations.

It is also available online at http://sparql.org/

Further, there are seemingly several related command options such as 
“tdb2.tdbquery –explain”, “sparql –explain”, and “arq.sparql –explain” (I 
believe one or more of these may be an alias for another).

These are all the same command with different ways to set the dataset.

The class is arq.query has "--explain" setting.

Assuming we’ve generated a statistics file, what command and accompanying 
options and configuration parameters would you recommend for introspecting the 
most detailed information on how Fuseki is executing a query?

The ones you've found for the BGP logging and qparse to examine the algebra.

In theory, you can set "explain" on a Fuseki endpoint -- it's a context setting of "arq:logExec"

server, dataset or endpoint:

   ...   ja:context [ ja:cxtName "arq:logExec" ;  ja:cxtValue "true" ] ;

it gets mixed with all the other logging.


Thank you.

--Jeff


    Andy

Reply via email to