GraphDB Free 8.8 Sparql INSERT返回400。不支持INSERT吗?

时间:2019-02-13 17:39:26

标签: sparql graphdb

我正在使用GraphDB Free,并且尝试使用sparql将一些三元组插入商店。 该查询看起来像一个简单的INSERT:

//Some Prefixes
INSERT DATA { subject predicate object }

我使用Postman将请求正文中的查询发布到SPARQL端点 和dotNetRdf以代码形式将查询提交到SPARQL端点。

以上两种方式都收到以下错误:

MALFORMED QUERY: Encountered " "insert" "INSERT "" at line 5, column 1.
Was expecting one of:
    "base" ...
    "prefix" ...
    "select" ...
    "construct" ...
    "describe" ...
    "ask" ...

在SPARQL表单中的工作台中提交相同的INSERT DATA {...}时,按预期方式工作,因此INSERT没问题。

在文档GraphDB Sparql Comliance中提到支持SPARQL 1.1更新(包括INSERT DATA)。 Sparql端点是否不支持提到的Spaqrl 1.1 UPDATE规范?仍在浏览文档,不确定我错过了什么...

1 个答案:

答案 0 :(得分:4)

GraphDB使用RDF4J REST API-这是SPARQL 1.1协议和SPARQL图形存储协议的扩展。 SPARQL更新操作的端点与查询的端点不同。您需要将更新发送至:

http://<host>/repositories/<repId>/statements

而不只是:

http://<host>/repositories/<repId>

也:使用?query=参数发送查询。但是,更新使用?update=参数。

REST API文档中有一个example SPARQL update request