2012-03-30 3 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) 
.... 

Подобно тому, как сноска я попытался установить SPARQL URL в http://dbpedia.org/snorql

ответ

1

Может быть, вы должны использовать «http.proxyPort» вместо «proxyPort». :-) И система имеет метод setProperty (String key, String value), который вы можете использовать.

+0

ahh, извинения на tht один попробовал, и он все еще не работает. –

+1

Мое предложение - удалить Jena, DBPedia и просто попытаться использовать URL и openConnection, чтобы узнать, действительно ли вы можете использовать свой веб-прокси от Java-программы. Вы пробовали это? – castagna

+0

Да, сначала попробуйте получить простую связь с URL. Проблема не в DBpedia, а в настройках прокси-сервера. – cygri