【问题标题】:Using Apache Jena with Blazegraph as Triplestore将 Apache Jena 与 Blazegraph 一起用作 Triplestore
【发布时间】:2018-01-20 02:28:46
【问题描述】:

对于一个项目,我必须将 Apache Jena 与 Blazegraph 结合使用作为三重存储。但是我在使用 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 及其网络界面正在运行。 这是命令行输出。

欢迎使用 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") ;

导致:

线程“主”org.apache.jena.atlas.web.HttpException 中的异常:404 - 未找到

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

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

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

导致:

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

在 conn.load("data.ttl") ;也。

您能帮我找到正确的连接方式吗?

【问题讨论】:

  • 问题出在哪一行?您是否连接到正确的 URL? conn.load 是图形存储协议,conn.query 是 SPARQL 查询协议。有些服务器使用相同的 URL,有些则不使用。
  • 抱歉,我忘了提及我使用的 URL 和例外情况。我编辑/更新了问题。
  • 该错误可能表示无法找到您尝试加载的文件,而不是连接到服务器的问题。
  • 查看 Blazegraph 文档。通常的 SPARQL 端点是 http://localhost:9999/bigdata/sparql,而不是 //warfilename
  • 非常感谢。我很困惑,因为 cmd 向我显示:转到 192.168.222.1:9999/blazegraph 开始 |这是我系统上 VMware 虚拟以太网适配器的 IP4 地址。所以 localhost:9999, 192.168.178.159:9999 或 192.168.222.1:9999 对于主机部分来说是可以的。你是对的,我忽略了正确路线的部分。有效的路线是 /bigdata/sparql 或 /blazegraph/sparql 。但我也犯了另一个错误,我将在答案中说明。

标签: java jena blazegraph


【解决方案1】:

问题的一种解决方案

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-

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-06-25
    • 2014-09-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-17
    • 1970-01-01
    相关资源
    最近更新 更多