Jena Arq Stage 重新排序?

Jena Arq Stage Reordering?

所以我知道 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 的输入。我是否遗漏了一些让舞台优化工作的东西?

QueryIterRoot 始终是一行无变量,因此无需进行替换,因此静态重新排序不会失效。假定查询已通过静态优化步骤优化或由用户控制。

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