我正在使用两种不同的HTTP POST
公用事业(poster https://addons.mozilla.org/en-US/firefox/addon/poster/从 Firefox 以及Python
requests http://docs.python-requests.org/en/master/API)发布一个简单的SPARQL
插入到Virtuoso
.
我的网址是:http://localhost:8890/sparql
我的请求参数是:
default-graph-uri: <MY_GRAPH>
should-sponge: soft
debug: on
timeout:
format: application/xml
save: display
fname:
我把实际的 SPARQL (INSERT DATA { GRAPH...
) 在消息内容中。
我尝试了不同的内容类型,但没有一个有效。我确实得到 200,但响应是 HTML 格式,即使上面的参数集指定application/xml
但是,没有插入任何数据。当我尝试内容类型时text/turtle
,我得到 409 Invalid Path,这也被引用于这个帖子 https://www.mail-archive.com/virtuoso-users@lists.sourceforge.net/msg07015.html.
我可以成功地做到HTTP GET
但是,它有一个有效负载长度限制,出于性能原因我希望超过该限制。与 GET 的唯一区别是 SPARQL 位于下面的 URL 中query
参数和 POSTshould通过在同一请求中包含多个三元组,而不仅仅是一个(我有数百个或数千个插入),可以在消息内容中启用更大的有效负载。我试图跟随本文档页面 http://docs.openlinksw.com/virtuoso/rdfsparqlprotocolendpoint/#rdfsupportedprotocolendpointurisparqlauthex.
几天前我停下来试图实现同样的目标curl
。由于它是浏览器扩展的强大(而且更方便)的替代品,因此最终证明是成功的公式:
curl -X POST \
-H "Content-Type:application/sparql-update" \
-H "Accept:text/html" \
--data "select distinct ?Concept where {[] a ?Concept} LIMIT 100" http://localhost:8890/sparql
有关标题的更多详细信息,请参阅这个线程 https://sourceforge.net/p/virtuoso/mailman/virtuoso-users/thread/KfF_dXPTTyjakF6oWNlzWHOAXbCxkZ4h1erB4PSxdbCe8seqxaDqGq0vyg0VyIg3j-QoooTagDhE0R660W_udXI9wEsYVGsRE463O8k3jhk%3D%40protonmail.ch/#msg37272403.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)