我将一个.ttl文件放入Jena Fuseki服务器,并使用命名图<http://examples/test>
代替默认图。
/home/user/jena-fuseki-1.1.1/./s-put http://192.168.1.38:3030/ds/data http://example/test /home/user/testdata.ttl
我可以使用以下命令加载图形并检索结果。
/home/user/jena-fuseki-1.1.1/./s-get http://192.168.1.38:3030/ds/data http://example/test
但是,当我开始使用s-query
命令进行查询时,它将使用默认的未命名图。如何使s-query
命令在命名图形上工作。
/home/user/jena-fuseki-1.1.1/./s-query --service http://localhost:3030/ds/query 'SPARQL Query'
这是在默认的未命名图形上执行查询。如何使它在命名图<http://example/test>
上工作?
要访问查询中的命名图,请使用GRAPH
关键字。
SELECT ?subject ?predicate ?object
WHERE {
GRAPH <http://examples/test>
{
?subject ?predicate ?object
}
}
http://www.w3.org/TR/sparql11-query/#queryDataset
您可以使用FROM
-子句在SPARQL查询中指定命名图。例如,要获得图形中的所有三元组,请使用
SELECT ?subject ?predicate ?object
FROM <http://examples/test>
WHERE {
?subject ?predicate ?object
}
W3C的SPARQL1.1查询语言规范中提供了详细的描述和进一步的选项。