2016-12-01 64 views
0

我正在使用两个不同的HTTP POST实用程序(Firefox中的poster以及Pythonrequests API)将简单的SPARQL插入到Virtuoso如何将SPARQL POST到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...)在消息的内容。

我尝试了不同的内容类型,但都没有工作。虽然上述参数集指定了application/xml,但确实得到了200个响应,但是没有插入任何数据。当我尝试text/turtle的内容类型时,我得到了409个无效路径,这在this post中也被引用。

但是,我可以成功地做HTTP GET,但是,由于性能原因,我想超出有效载荷长度限制。与GET的唯一区别是,SPARQL进入query参数下的URL,并且POST 应该通过在同一请求中包含多个三元组而在消息内容中启用更大的有效载荷,而不仅仅是一个(我有100个1000个插入物)。我正在尝试关注this documentation page

+0

您可以继续在这里张贴,但值得注意的是,具体的炫技,问题往往回答更快,更准确地对[炫技用户邮件列表(https://sourceforge.net/p/virtuoso/mailman/virtuoso-users /)或[OpenLink支持案例](http://support.openlinksw.com/support/online-support.vsp)。 – TallTed

+0

我明白了,但如果我有一个“我该怎么......?”的话,请到不同的专业留言板 – amphibient

+0

这里说[这里](http://boards.openlinksw.com/support/)并不是很实际。问题,“发布到**堆栈溢出**或Quora!” – amphibient

回答

0

这个“问题”有很多方面使得难以提供一个简单的答案,适合这个网站。这是我建议邮件列表的原因之一,它更适合对话和/或多方面的协助。

  • 您是否尝试过使用curl,因为我们的大多数示例都使用curl

  • 纵观Poster页面上的Mozilla插件,我看到你可能需要手动将?添加到您的目标URI的结束 - 所以http://localhost:8890/sparql?而非http://localhost:8890/sparql - 这不是清楚你是否”已经在你的测试中完成了。在project page,我也注意到它的last commit是在2012年,并且有a great many open issues

  • 我完全不熟悉Python,所以我没有在那里挖。

  • 您是否尝试过设置Accept:表头?这可能会对服务器返回的内容产生重大影响。

  • 如果我正确理解你的描述的努力,你的format:查询参数应该是output-format:,其值应不application/xml,但所支持的格式listed in the documentation之一。

  • virtuoso-users post you referenced和这个问题都没有足够的细节来分析409 Invalid Path错误的原因。明确的细节使我们能够重现这一结果,这将有助于最佳地在一个独特的线程中进行。

+0

没有太多“方面”,问题很简单:如何让POST工作。你所指的方面是描述我的尝试的参数 – amphibient

+0

一个工作的“hello world”将数据发布到virtuoso将会有所帮助,但这无处可寻 – amphibient