如何对大Sparql文件进行URL编码?

时间:2018-06-22 18:07:16

标签: curl urlencode graphdb

我有带有INSERT和DELETE语句的大型sparql文件(file.rq)。我的目的是使用下面的curl命令在名为TestRepo的仓库中执行它们:

curl -X POST -H 'Content-Type:application/x-www-form-urlencoded' -H 'Accept: text/csv' --data-binary '@file.rq' 'http://localhost:7200/repositories/TestRepo/statements'

要填充小的file.rq文件,我使用 https://meyerweb.com/eric/tools/dencoder/

,然后将file.rq替换为update=output of above link。 一切正常,没有问题。但是,这是用于小文件的解决方案。

问题: 有没有一种命令行方法可以对我拥有的很大的file.rq文件进行url编码?认为我发布了一个更新过程,该过程分为多个批次,每个批次是一个单独的file.rq文件,该文件很大,可以手动复制并粘贴到上述URL编码链接中。因此,我想要一个可以执行此操作的命令行程序。也就是说,类似urlencode file.rq encoded_output.txt,其中urlencode是命令行程序,file.rq是大的sparql文件,而encoded_output.txt是URL编码的file.rq

不用说我想要一个经过测试且值得信赖的解决方案。

1 个答案:

答案 0 :(得分:0)

根据SPARQL 1.1 protocol specification,您可以使用MIME类型application/sparql-update提交直接更新,您的cURL应该如下所示:

curl -X POST -H 'Content-Type: application/sparql-update' --data-binary @file.rq 'http://localhost:7200/repositories/TestRepo/statements'