0
我想用http get從java代碼中查詢wordnet的端點。 我得到連接到端點「wordnet.rkbexplorer.com」,但我得到一個錯誤,那個sparsql查詢不正確。查詢本身是在wordnet.rkbexplorer.com的網站上輸入時執行的。我的GTTP GET的URL的語法不正確?我在這方面沒有太多經驗。WordNet和HTTP GET
我的代碼:
URL url = new URL("http://wordnet.rkbexplorer.com/sparql/?query="+query);
HttpURLConnection con = (HttpURLConnection) url.openConnection();
con.setRequestMethod("GET");
String query = "PREFIX id: <http://wordnet.rkbexplorer.com/id/> "
+ "PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> "
+ "SELECT * WHERE { ?s rdfs:label ?o } LIMIT 10";
錯誤:
error at URI 3store:default#:1 - syntax error, unexpected $end, expecting identifier
嗨丹尼爾。在端點的網站上有一個信息,http get也是可能的:「你也可以向/ sparql /?query = ...發送HTTP GET請求。」我想嘗試一下。我的Java的HTTP代碼的HTTP POST的作品,但也許我有我的代碼爲http獲取,我找不到一些小錯誤。 – Salvadora
這似乎是GET請求的編碼問題。例如,這適用於我:curl「http://southampton.rkbexplorer.com/sparql/?query=PREFIX+rdfs%3A+%3Chttp%3A%2F%2Fwww.w3.org%2F2000%2F01%2Frdf-schema %23%3E%0D%0ASELECT + * + WHERE +%7B +%3Fs + rdfs%3Alabel +%3Fo +%7D + LIMIT + 10%0D%0A%0D%0A「 –
問題通過添加:query = URLEncoder.encode(query, 「UTF-8」)。我也認爲,編碼是問題,但你的評論無論如何都是有幫助的。謝謝丹尼爾! – Salvadora