我有带有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
。
不用说我想要一个经过测试且值得信赖的解决方案。
答案 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'