使用Apache Jena和Blazegraph作为Triplestore

时间:2018-01-19 10:46:05

标签: java jena blazegraph

对于一个项目,我必须使用Apache Jena和Blazegraph作为triplestore。但是我在使用RDFConnection将Jena连接到Blazegraph时遇到了问题。

RDFConnection conn = RDFConnectionFactory.connect(...)
conn.load("data.ttl") ;
QueryExecution qExec = conn.query("SELECT DISTINCT ?s { ?s ?p ?o }") ;
ResultSet rs = qExec.execSelect() ;
while(rs.hasNext()) {
    QuerySolution qs = rs.next() ;
    Resource subject = qs.getResource("s") ;
    System.out.println("Subject: "+subject) ;
}
qExec.close() ;
conn.close() ;

Blazegraph包括其web界面正在运行。 这是命令行输出。

  

欢迎使用Blazegraph(tm)数据库。

     

转到http://192.168.222.1:9999/blazegraph/开始使用。   警告:MapgraphServletProxy.java:67:没有GPU加速运行。请参见> https://www.blazegraph.com/product/gpu-accelerated/

我已经阅读了https://github.com/apache/jena/tree/master/jena-rdfconnection/src/main/java/org/apache/jena/rdfconnection/examples

上的示例
RDFConnection conn = RDFConnectionFactory.connect("http://192.168.222.1:9999/blazegraph/");
conn.load("d:\\data.ttl") ;

导致:

  

线程“main”中的异常org.apache.jena.atlas.web.HttpException:404 - Not Found

在conn.load(“d:\ data.ttl”);

使用“http://192.168.222.1:9999”作为目标导致相同的异常。

使用“http://192.168.222.1/blazegraph”或“http://192.168.222.1

导致:

  

线程“main”中的异常org.apache.jena.atlas.web.HttpException:org.apache.http.conn.HttpHostConnectException:连接到192.168.222.1:80 [/192.168.222.1]失败:连接被拒绝:连接

at conn.load(“data.ttl”);还

您能否帮我找到正确的连接方式。

1 个答案:

答案 0 :(得分:2)

问题的一个解决方案

String APIUrl = "http://192.168.222.1:9999/bigdata/sparql";
RDFConnection conn = RDFConnectionFactory.connect(APIUrl,APIUrl,APIUrl);
  

https://jena.apache.org/documentation/javadoc/rdfconnection/org/apache/jena/rdfconnection/RDFConnectionFactory.html#connect-java.lang.String-java.lang.String-java.lang.String-