为了从我的三元存储库( OpenLink Virtuoso v6.1 )中的命名图中获取所有三元组,我编写了 SPARQL 查询:
SELECT ?s ?p ?o
WHERE {
GRAPH eg:myGraph {
?s ?p ?o.
}
}
但似乎我无法在 GRAPH 声明中定义图形 URI;查询不返回任何三元组。
如果我使用中间变量?g
而不是图形的 URI,则请求有效:
SELECT ?s ?p ?o
WHERE {
FILTER(?g = eg:myGraph).
GRAPH ?g {
?s ?p ?o.
}
}
我看不出这两个查询之间的区别。
我的第一个语法是错误的查询吗?这是Virtuoso的微妙之处吗?