【问题标题】:Retrieving triples from a named graph using the graph store API使用图存储 API 从命名图中检索三元组
【发布时间】:2019-07-01 10:24:57
【问题描述】:

我正在尝试使用图形存储 HTTP 协议从存储库中的命名图形(名称是 URI)中检索所有语句。我在 Windows 10 上使用 8.10 版 GraphDB 安装。

安装会在以下位置报告 API 的可用性: /repositories/{repositoryID}/rdf-graphs/{graph}

但是,将 {graph} 替换为 URI 会导致报告 No Handler Found 错误或 noslash 错误(如果 URI 已编码)。

我尝试过未编码的 URI 和编码的 URI。引用的规范 SPARQL 1.1 Graph Store HTTP Protocol 建议 ?graph={graph} 可能是必需的,但这也失败了。

一些例子:

未编码

11:14:50.901 [http-nio-7200-exec-2] WARN o.s.w.s.m.s.DefaultHandlerExceptionResolver - 已解决 [org.springframework.web.servlet.NoHandlerFoundException:找不到 GET /repositories/foodandwine/rdf-graphs/@ 的处理程序987654322@

用 %2e 替换“:”

11:14:59.583 [http-nio-7200-exec-10] 警告 o.s.web.servlet.PageNotFound - 找不到 GET /repositories/foodandwine/rdf-graphs/http%3e//www.w3 的处理程序。 org/TR/2003/PR-owl-guide-20031209/food

将“:”替换为 %2e,将“/”替换为 %2f

消息 URI 无效:noSlash

描述 由于被认为是客户端错误(例如,格式错误的请求语法、无效的请求消息帧或欺骗性请求路由),服务器无法或不会处理请求。

我确信我错过了一些非常简单的事情,但如果能指引正确的方向,我将不胜感激。

【问题讨论】:

  • 您查看了rdf4j.eclipse.org/documentation/rest-api/#graph-store-support 的RDF4J 文档吗?建议使用 service?graph= 端点和一个 sutable Accept 标头,例如类似:curl -X GET --header 'Accept: application/rdf+xml' http://localhost:7200/repositories/test/rdf-graphs/service?graph=http%3A%2F%2Fbase.org%2FtestHTH
  • 感谢您的链接和建议。这样就解决了。我没有发现“服务”端点路径,因为它没有列在 REST API 的内置帮助中。

标签: graphdb named-graphs


【解决方案1】:

正如 Damyan 所说,使用这样的 URL:

curl -X GET --header 'Accept: application/rdf+xml' http://localhost:7200/repositories/test/rdf-graphs/service?graph=http%3A%2F%2Fbase.org%2Ftest

转发他的评论作为答案,所以这个问题不会再出现在[graphdb] answers:0

【讨论】:

  • 我会在这里制作类似的 cmets,就像我在 here 所做的那样。再次,您做出的答案比它所基于的评论提供的信息更少,并添加了其他人将不得不编辑的无关文本。
猜你喜欢
  • 2017-08-30
  • 2017-01-16
  • 1970-01-01
  • 2020-10-23
  • 2019-09-27
  • 2017-07-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多