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

1pp*_*pCH 2 sparql graphdb

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

//Some Prefixes
INSERT DATA { subject predicate object }
Run Code Online (Sandbox Code Playgroud)

我使用 Postman 将请求正文中的查询 POST 到 SPARQL 端点,并使用 dotNetRdf 将查询提交到代码中的 SPARQL 端点。

我在上述两种方式中都收到以下错误:

MALFORMED QUERY: Encountered " "insert" "INSERT "" at line 5, column 1.
Was expecting one of:
    "base" ...
    "prefix" ...
    "select" ...
    "construct" ...
    "describe" ...
    "ask" ...
Run Code Online (Sandbox Code Playgroud)

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

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

Jee*_*tra 5

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

http://<host>/repositories/<repId>/statements
Run Code Online (Sandbox Code Playgroud)

而不仅仅是:

http://<host>/repositories/<repId>
Run Code Online (Sandbox Code Playgroud)

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

REST API 文档中有一个示例 SPARQL 更新请求