2016-12-01 65 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