gpt4 book ai didi

GraphDB sparql 端点无法通过 sesame/rdf4j SPARQLRepository 接口(interface)使用

转载 作者:行者123 更新时间:2023-12-02 01:39:24 24 4
gpt4 key购买 nike

我们正在使用 RDF4J(以前称为 sesame)框架对远程 GraphDB 三元组存储运行 sparql 查询。

这可以通过 rdf4j HTTPRepository 接口(interface)成功运行,该接口(interface)采用 Graphdb 服务器的 URL 和存储库 ID,但在使用 rdf4j SPARQLRepository 接口(interface)(该接口(interface)采用 sparlq 端点 url 作为参数)时失败。

运行查询时,我们在查询验证时遇到异常

"Failed to get server protocol; no such resource on this server: http:///sparql?sparql?queryLn=SPARQL&query=",

哪里http://<host:port>/sparql我们认为 sparql 端点的 URL。这种情况发生在 sesame 2.7.8 和 rdf4j M3 库上,同样发生在两个“开箱即用”上,即从启动脚本开始,安装 graphdb free 6.6.2 和 7.0.3。当尝试通过 rdf4j SPARQLRepository 接口(interface)连接到 sparlq 端点 http://factforge.net/sparql 时也会发生这种情况。 ,我们知道它运行在 graphdb 上。

我们认为实际的 sparql 端点的 url 可能不是 http:///sparql ,而是我们在 graphdb 文档中找不到的其他内容。欣赏任何人可能照亮这一点的任何光芒。

编辑:针对 Factforge 的 sparql 端点执行的代码:

    final String endPoint = "http://factforge.net/sparql";
final String query = "Select distinct ?airport where {?airport a dbp-ont:Airport} LIMIT 2";

SPARQLRepository repository = new SPARQLRepository(endPoint,endPoint);
repository.initialize();
RepositoryConnection connection = repository.getConnection();
TupleQueryResult result = connection.prepareTupleQuery(QueryLanguage.SPARQL,query)
.evaluate();

生成以下异常:

    Caused by: org.eclipse.rdf4j.repository.RepositoryException: Failed to    get server protocol; no such resource on this server: http://factforge.net/sparql?queryLn=SPARQL&query=Select+distinct+%3Fairport+where+%7B%3Fairport+a+dbp-ont%3AAirport%7D+LIMIT+2&infer=true
at org.eclipse.rdf4j.http.client.SparqlSession.executeOK(SparqlSession.java:1023)
at org.eclipse.rdf4j.http.client.SparqlSession.sendTupleQueryViaHttp(SparqlSession.java:787)
at org.eclipse.rdf4j.http.client.SparqlSession.getBackgroundTupleQueryResult(SparqlSession.java:684)
at org.eclipse.rdf4j.http.client.SparqlSession.sendTupleQuery(SparqlSession.java:341)
at org.eclipse.rdf4j.repository.sparql.query.SPARQLTupleQuery.evaluate(SPARQLTupleQuery.java:43)
... 1 more

感谢您的帮助

最佳答案

要在本地计算机上访问存储库的 GraphDB SPARQL 端点,您可以使用以下 URL:http://localhost:7200/repositories/ <#your_repository#>

您可以在此处阅读有关将 Sesame API 与 GraphDB 结合使用的更多信息:http://graphdb.ontotext.com/documentation/free/using-graphdb-with-the-sesame-api.html

关于GraphDB sparql 端点无法通过 sesame/rdf4j SPARQLRepository 接口(interface)使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39364988/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com