0

http get を使用して、Java コードから wordnet のエンドポイントを照会したいと考えています。エンドポイント「wordnet.rkbexplorer.com」に接続できますが、sparsql-query が正しくないというエラーが表示されます。wordnet.rkbexplorer.com の Web サイトで入力するだけで、クエリ自体が実行されます。GTTP GET の URL の構文が正しくありませんか? 私はその分野での経験があまりありません。

私のコード:

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
4

1 に答える 1

0

これはFirebugなどでデバッグできます。そのネットワーク タブには、HTTP レベルでサーバーに送信されたものが表示されます。この場合、Web ページのフォームが POST を使用していることがわかります。サーバーはPOSTを期待しているようで、これは機能します:

curl --data "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" "http://wordnet.rkbexplorer.com/sparql/"

したがって、GET の代わりに POST を使用するようにコードを切り替えるだけです。

于 2012-12-03T23:45:15.783 に答える