2

我正在做一个项目,我需要一个云中的三重存储数据库,它支持 SPARQL 查询。

  1. GraphDB 看起来不错,并且在我的台式计算机 (localhost) 中运行良好。但是,当我尝试在云 ( CloudDB ) 中使用它时,REST 申请不起作用。

    问题:我正在尝试使用 REST 查询我的存储库,通过curl -X GET --header 'Accept: application/sparql-results+xml'.

    存储库 ID:hermesiot

    询问: select * where {?s ?p ?o .} limit 100

    结果:

    响应代码:404

    回复正文:{"message":"Database not found."}

  2. 如何在云解决方案(如 Azure 或其他免费解决方案)中部署GraphDB?

非常感谢 :)

4

1 回答 1

2

根据官方示例,您的查询应该是这样的:

 curl --header 'Accept: application/sparql-results+xml' \
      --data "query=SELECT+*+{?s+?p+?o.}" \
      --user s472kd733007:bhrfk1aa8o0qlj7 \
      'https://rdf.s4.ontotext.com/4032537848/wikidata/repositories/fast'

但是,上面的查询对我不起作用,而下面的查询对我有用:

 curl --header 'Accept: application/sparql-results+xml' \
      --data "query=SELECT+*+{?s+?p+?o.}" \
      --user s472kd733007:bhrfk1aa8o0qlj7 \
      'http://awseb-e-m-awsebloa-11laimnu18r2i-2106042490.eu-west-1.elb.amazonaws.com/4032537848/wikidata/repositories/fast'

在上面的查询中:

  • s472kd733007— API 密钥,
  • bhrfk1aa8o0qlj7— API 密钥秘密,
  • 4032537848- 用户身份
  • wikidata- 数据库名称,
  • fast— 存储库 ID,
  • http://awseb-e-m-awsebloa-...eu-west-1.elb.amazonaws.com— AWS 实例地址。

访问仪表板中的选项卡以获得这些参数的适用值。

仪表板


至于更新查询,请参见例如this answer。您的查询应该是:

curl --header 'Accept: application/sparql-results+xml' \
      --data "update=INSERT+DATA+{owl:Nothing+owl:Nothing+owl:Nothing}" \
      --user s472kd733007:bhrfk1aa8o0qlj7 \
      'http://awseb-e-m-awsebloa-11laimnu18r2i-2106042490.eu-west-1.elb.amazonaws.com/4032537848/wikidata/repositories/fast/statements'

请注意,此请求中的端点地址不同。

于 2017-09-21T07:47:02.267 回答