我试图弄清楚 Jena TDB 如何FROM
在物理查询计划级别处理带有多个子句的 SPARQL 查询。我想知道 Jena TDB 如何处理对不同图形的查询。
我做了一些小实验并查看了查询代数,但是,我不清楚这些FROM
子句如何影响代数。看起来 FROM 子句在代数中被丢弃了。我希望代数是通过图形的联合来评估的,但我想确定一下。
我有以下四边形:
<http://example.com/book2/> <http://example.com/price> "5"^^<http://www.w3.org/2001/XMLSchema#integer> <http://example.com/A> .
<http://example.com/book2/> <http://example.com/title> "Lord of the Rings" <http://example.com/B> .
和以下查询:
SELECT (AVG(?price) as ?total)
FROM <http://example.com/A>
FROM <http://example.com/B>
WHERE {
?book <http://example.com/price> ?price .
?book <http://example.com/title> ?title .
}
./tdbquery --loc test --query test.sparql --explain
查询代数如下所示:
INFO exec :: ALGEBRA
(project (?total)
(extend ((?total ?.0))
(group () ((?.0 (avg ?price)))
(bgp (triple ?book <http://example.com/price> ?price)))))
当我对数据执行查询时,我收到了预期的结果。