2012-03-30 8 views
1

私はDBpediaデータセットを使用するプロジェクトに取り組んでいます。彼らが提供するsparqlエンドポイントを介してリモートで接続したいと考えています。今私は大学のプロキシサーバーの背後で作業しなければなりません。私はDBpediaのsparqlエンドポイントに接続するコードを取得できません。私はこれまで、System.getProperties()を介してプロキシ設定を設定しようとしていますが、まだ動作しておらず、不明なホスト例外がスローされています。スローされた例外と一緒に私のコードセグメントを添付しました。どんな提案も大歓迎です。次のようにプロキシ・ファイアウォールの後ろにあるDBpediaエンドポイントに接続する

System.getProperties().put("proxySet","true"); 
System.getProperties().put("http.proxyHost", "http://username:[email protected]"); 
System.getProperties().put("proxyPort",8080); 
String q= "SELECT ?p ?o WHERE { <http://dbpedia.org/resource/Mendelian_inheritance> ?p ?o . }"; 
Query query = QueryFactory.create(q); 
QueryExecution qexec = QueryExecutionFactory.sparqlService("http://dbpedia.org/sparql", query); 
ResultSet results = qexec.execSelect(); 
while (results.hasNext()) { 
QuerySolution result = results.nextSolution(); 
RDFNode s = result.get("s"); 
RDFNode p = result.get("p"); 
RDFNode o = result.get("o"); 
System.out.println(" { " + s + " " + p + " " + o + " . }"); 
} 

スローされる例外は次のとおりです。

Exception in thread "main" HttpException: java.net.UnknownHostException: dbpedia.org: java.net.UnknownHostException: dbpedia.org 
    at com.hp.hpl.jena.sparql.engine.http.HttpQuery.execGet(HttpQuery.java:203) 
    at com.hp.hpl.jena.sparql.engine.http.HttpQuery.exec(HttpQuery.java:144) 
    at com.hp.hpl.jena.sparql.engine.http.QueryEngineHTTP.execSelect(QueryEngineHTTP.java:141) 
    at project6.Main.main(Main.java:53) 
Caused by: java.net.UnknownHostException: dbpedia.org 
    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:177) 
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366) 
    at java.net.Socket.connect(Socket.java:529) 
    at java.net.Socket.connect(Socket.java:478) 
.... 

ちょうど私はたぶん、あなたは「http.proxyPort」を使用する必要がありますhttp://dbpedia.org/snorql

答えて

1

にSPARQLのURLを設定しようとしたフッタなど"proxyPort"の代わりに。 :-) そしてSystemには、使用できるsetProperty(String key、String value)メソッドがあります。

+0

ああ、tht oneの謝罪はそれを試してもまだ動作していません。 –

+1

私は、Jena、DBPediaを削除し、URLとopenConnectionを使用して、Javaプログラムから実際にWebプロキシを使用できるかどうかを確認することをお勧めします。あなたはそれを試しましたか? – castagna

+0

うーん、最初に単純なURL接続を試してみてください。問題はDBpediaではなく、プロキシ設定に関するものです。 – cygri