Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 连接到代理防火墙后面的DBpedia端点_Java_Semantic Web_Jena_Dbpedia - Fatal编程技术网

Java 连接到代理防火墙后面的DBpedia端点

Java 连接到代理防火墙后面的DBpedia端点,java,semantic-web,jena,dbpedia,Java,Semantic Web,Jena,Dbpedia,我正在从事一个使用DBpedia数据集的项目,我希望通过它们提供的sparql端点远程连接到它们。现在我必须在学院代理服务器后面工作,我无法让我的代码连接到dbpediasparql端点。到目前为止,我尝试通过System.getProperties()在代理设置中进行设置,但它仍然不起作用,并引发未知主机异常。我在下面附上了我的代码段以及引发的异常。欢迎提出任何建议 System.getProperties().put("proxySet","true"); System.getPropert

我正在从事一个使用DBpedia数据集的项目,我希望通过它们提供的sparql端点远程连接到它们。现在我必须在学院代理服务器后面工作,我无法让我的代码连接到dbpediasparql端点。到目前为止,我尝试通过System.getProperties()在代理设置中进行设置,但它仍然不起作用,并引发未知主机异常。我在下面附上了我的代码段以及引发的异常。欢迎提出任何建议

System.getProperties().put("proxySet","true");
System.getProperties().put("http.proxyHost", "http://username:pwd@172.31.1.6");
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 + " . }");
}
作为一个页脚,我尝试将sparql url设置为

,也许您应该使用“http.proxyPort”而不是“proxyPort”。-) 而且,系统有一个可以使用的setProperty(字符串键、字符串值)方法。

也许您应该使用“http.proxyPort”而不是“proxyPort”。-)
而且,系统有一个setProperty(字符串键,字符串值)方法可以使用。

ahh,很抱歉,有人尝试了它,但它仍然不起作用。我的建议是删除Jena,DBPedia,然后尝试使用URL和openConnection,看看您是否可以从Java程序中实际使用web代理。你试过了吗?是的,试着先建立一个简单的URL连接。问题不在于DBpedia,而在于你的代理设置。啊,很抱歉没有人尝试过它,但它仍然不起作用。我的建议是删除Jena,DBpedia,然后尝试使用URL和openConnection,看看你是否可以从Java程序中使用你的web代理。你试过了吗?是的,试着先建立一个简单的URL连接。问题不在于DBpedia,而在于代理设置。
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)
....