要从我的triplestore(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的精妙之处吗?
答案 0 :(得分:0)
你可以尝试运行
SELECT ?s ?p ?o
FROM NAMED eg:myGraph
WHERE {
GRAPH eg:myGraph {
?s ?p ?o.
}
}
或
SELECT ?s ?p ?o
FROM eg:myGraph
WHERE {
?s ?p ?o.
}