0

所以我知道 Jena Arq 支持阶段重新排序作为优化。(见https://github.com/apache/jena/blob/master/jena-arq/src/main/java/org/apache/jena/sparql/engine/main/StageGeneratorGeneric.java

在第 70 行,检查输入是否为QueryIterRoot- 我的问题是我提交的每个查询,输入是QueryIterRoot所以它永远不会在该块内运行优化。

追溯堆栈,我看不到如何生成查询,其中 QueryIterRoot 不是传递给 StageGeneratorGeneric 的输入。我是否遗漏了一些让舞台优化工作的东西?

4

1 回答 1

0

QueryIterRoot总是一行没有变量,因此无需替换,因此静态重新排序不会失效。假设查询已通过静态优化步骤进行了优化,或者处于用户的控制之下。

对于简单的模式查询WHERE { ... basic graph pattern ... },输入将是QueryIterRoot

于 2016-02-19T11:52:11.480 回答