使用SPARQLWrapper进行INSERT/DELETE/UPDATE查询

imr*_*ran 4 python sparql rdflib

虽然我在网上经历了很多例子,解释了如何使用python SPARQLWrapper使用SELECT语句从sesame triple store中获取数据,但不知道如何使用它来在芝麻中INSERT/DELETE/UPDATE语句.你们中的任何人都可以在这方面提供指导.

谢谢

Khw*_*ien 7

SPARQL查询作为GET请求发送,但UPDATE(如INSERT,DELETE等)要求将查询作为POST请求发送.只需在sparql.query()之前添加以下行

sparql.method = 'POST'
Run Code Online (Sandbox Code Playgroud)

此外,更新的URL与查询不同.更新基于工作台而不是芝麻网址.例如,如果查询网址是:

http://localhost:8080/openrdf-sesame/repositories/test/
Run Code Online (Sandbox Code Playgroud)

要么

http://localhost:8080/openrdf-workbench/repositories/test/query
Run Code Online (Sandbox Code Playgroud)

然后更新网址将是:

http://localhost:8080/openrdf-workbench/repositories/test/update
Run Code Online (Sandbox Code Playgroud)

因此,UPDATE/INSERT请求应如下所示:

queryString = "INSERT DATA { GRAPH <http://example.com/> { "b" a "c". } }" 
sparql = SPARQLWrapper("http://localhost:8080/openrdf-workbench/repositories/test/update")

sparql.setQuery(queryString) 
sparql.method = 'POST'
sparql.query()
Run Code Online (Sandbox Code Playgroud)