Curl 在AWS海王星中清除数据

Curl 在AWS海王星中清除数据,curl,postman,sparql,rdf,amazon-neptune,Curl,Postman,Sparql,Rdf,Amazon Neptune,我正在尝试运行简单的CLEAR和DELETE SPARQL查询并不断返回: Malformed query: Encountered \" \"clear\" \"CLEAR \"\" at line 1, column 1.\n Was expecting one of:\n \"base\" ...\n \"prefix\" ...\n \"select\" ...\n \"construct\" ...\n \ "describe\" ...\n \"ask\" ...\

我正在尝试运行简单的CLEAR和DELETE SPARQL查询并不断返回:

    Malformed query: Encountered \" \"clear\" \"CLEAR \"\" at line
    1, column 1.\n Was expecting one of:\n \"base\" ...\n \"prefix\" 
...\n \"select\" ...\n \"construct\" ...\n \ "describe\" ...\n \"ask\" ...\n
是否不支持清除和删除查询?或者海王星是否有另一种方法来清除实例中的图表

谢谢

警告:答案中包含删除所有数据的示例, 因此,在数据库中执行这些查询时要格外小心

海王星确实支持清除和删除。清除和删除是更新操作,因此您可以通过两种方式执行它们:

1) 在请求参数中使用“update=”

curl http://endpoint:8182/sparql -d "update=DELETE DATA { <http://x> <http://y> <http://z> }” 

OR

curl http://localhost:8182/sparql -d "update=DELETE WHERE { ... }” 

You can use a similar one for CLEAR.
curlhttp://endpoint:8182/sparql -d“更新=删除数据{}”
或
卷曲http://localhost:8182/sparql -d“更新=删除其中{…}”
你可以用一个类似的来清除。
2) 使用内容类型头(应用程序/sparql更新)并直接在请求参数中使用查询

curl http://endpoint:8182/sparql -H "Content-Type: application/sparql-update" -d "DELETE DATA { <http://x> <http://y> <http://z> }” 

curlhttp://endpoint:8182/sparql -H“内容类型:应用程序/sparql更新”-d“删除数据{}”
看起来您尝试了两者的混合,但可能组合不正确。Neptune完全符合SPARQL 1.1,因此,如果您发现某些东西不起作用,请务必告诉我们。在几乎所有情况下,请求都不会遵守SPARQL HTTP规范

警告:答案中包含删除所有数据的示例, 因此,在数据库中执行这些查询时要格外小心

Neptune确实支持清除和删除。清除和删除是更新操作,因此您可以通过两种方式执行它们:

1) 在请求参数中使用“update=”

curl http://endpoint:8182/sparql -d "update=DELETE DATA { <http://x> <http://y> <http://z> }” 

OR

curl http://localhost:8182/sparql -d "update=DELETE WHERE { ... }” 

You can use a similar one for CLEAR.
curlhttp://endpoint:8182/sparql -d“更新=删除数据{}”
或
卷曲http://localhost:8182/sparql -d“更新=删除其中{…}”
你可以用一个类似的来清除。
2) 使用内容类型头(应用程序/sparql更新)并直接在请求参数中使用查询

curl http://endpoint:8182/sparql -H "Content-Type: application/sparql-update" -d "DELETE DATA { <http://x> <http://y> <http://z> }” 

curlhttp://endpoint:8182/sparql -H“内容类型:应用程序/sparql更新”-d“删除数据{}”

看起来您尝试了两者的混合,但可能组合不正确。海王星是完全SPARQL 1.1兼容,所以如果你看到一些东西不工作,一定要让我们知道。几乎在所有情况下,请求都不会遵守SPARQL HTTP规范。

如何运行该命令?注意,SPARQL Update命令与查询不同,即您应该使用
Update
而不是
query
param-执行类似
curl的操作https://your-neptune-endpoint:port/sparql     -d“更新=您的更新命令”
我通过postman运行它,标题的内容类型为application/sparql query,接受为application/sparql results+json。我正在使用POST请求发送一个简单的CLEAR[GRAPH]来删除所有三元组
application/sparql update
谢谢!还有其他标题吗。我正在使用简单的查询
DELETE[]{s?p?o},其中{s?p?o}
,我仍然得到
“格式错误的查询:在第1行第1列遇到了\“DELETE\”\“DELETE\”。\n应该是:\n \“base\”..\n \“prefix\”..\n \“drop containments\”..\n \“create containments\”..\n \“enable containments\”之一\“..\n\”禁用蕴涵“..\n\”加载“..\n\”清除“
我假设Neptune上支持删除,但不确定为什么它没有检测到已解决的问题。“全部清除”命令有效。我猜SPARQL更新实现只支持某些命令。如何运行该命令?注意,SPARQL Update命令与查询不同,即您应该使用
Update
而不是
query
param-执行类似
curl的操作https://your-neptune-endpoint:port/sparql     -d“更新=您的更新命令”
我通过postman运行它,标题的内容类型为application/sparql query,接受为application/sparql results+json。我正在使用POST请求发送一个简单的CLEAR[GRAPH]来删除所有三元组
application/sparql update
谢谢!还有其他标题吗。我正在使用简单的查询
DELETE[]{s?p?o},其中{s?p?o}
,我仍然得到
“格式错误的查询:在第1行第1列遇到了\“DELETE\”\“DELETE\”。\n应该是:\n \“base\”..\n \“prefix\”..\n \“drop containments\”..\n \“create containments\”..\n \“enable containments\”之一\“..\n\”禁用蕴涵“..\n\”加载“..\n\”清除“
我假设Neptune上支持删除,但不确定为什么它没有检测到已解决的问题。“全部清除”命令有效。我想SPARQL更新实现只支持某些命令。这太完美了!感谢awscurl
awscurl
,似乎只有第二个变体对我有效:
awscurl-X POST--region“${region}”-service neptune db--access_key“${access_key}”-secret_key“${secret key}”https://${url}:${port}/sparql”-d'DROP ALL'-H“内容类型:application/sparql更新”
这太完美了!感谢awscurl
awscurl
,似乎只有第二个变体对我有效:
awscurl-X POST--区域“${region}”--服务neptune db--访问密钥“${access\u key}”--秘钥“${secret\u key}”https://${url}:${port}/sparql”-d'DROP ALL'-H“内容类型:应用程序/sparql更新”