如何在 Apache Jena Fuseki 服务器中查询命名图

How to query a named graph in Apache Jena Fuseki server

我正在将一个 .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>?

您可以使用 FROM 子句在 SPARQL 查询中指定命名图。例如,要获取图表中的所有三元组,请使用

SELECT ?subject ?predicate ?object
FROM <http://examples/test>
WHERE {
  ?subject ?predicate ?object
}

可以在 SPARQL 1.1 Query Language specification of W3C 中找到详细说明和更多选项。

要在查询中访问命名图,请使用 GRAPH 关键字。

SELECT ?subject ?predicate ?object
WHERE {
  GRAPH <http://examples/test>
  {
    ?subject ?predicate ?object
  }
}

http://www.w3.org/TR/sparql11-query/#queryDataset