我正在从事一个主要使用 Blazegraph 作为后端的项目,据我了解,这将我锁定在一个相对较旧的 Sesame (2.7.12) 中。
该项目有另一个可以使用嵌入式 Sesame 或独立 Sesame OR RDF4J 的组件。 我已经设置了一个独立的 RDF4J,所以我更喜欢使用它。
我可以使用以下 Scala 代码连接到嵌入式 Sesame。如果我serverUrl
改为指向独立的 RDF4J 2.2,我会收到以下错误。
是否可以使用 Sesame API 访问 RDF4J 服务器?
val serverUrl = "http://address.domain:8080/rdf4j-server"
val manager = new RemoteRepositoryManager(serverUrl)
manager.initialize()
val repositoryId = "repo_id"
val repository = manager.getRepository(repositoryId)
val con = repository.getConnection()
val queryString = "SELECT ?x ?y WHERE { ?x ?p ?y } "
val tupleQuery = con.prepareTupleQuery(QueryLanguage.SPARQL, queryString)
val result = tupleQuery.evaluate()
[main] WARN org.openrdf.http.client.SesameSession - 服务器报告问题:org.eclipse.rdf4j.repository.config.RepositoryConfigException:UuidRefresh.main 的线程“main”java.lang.ExceptionInInitializerError 中的存储库实现缺少异常(UuidRefresh.scala) 引起:org.openrdf.repository.http.HTTPQueryEvaluationException: org.eclipse.rdf4j.repository.config.RepositoryConfigException: org.openrdf.repository.http.HTTPTupleQuery.evaluate(HTTPTupleQuery. java:64) 在 UuidRefresh$.(UuidRefresh.scala:54) 在 UuidRefresh$.(UuidRefresh.scala) ... 1 更多原因:org.openrdf.repository.RepositoryException: org.eclipse.rdf4j.repository.config。存储库配置异常:org.openrdf.http.client.SparqlSession.executeOK(SparqlSession.java:1028) 在 org.openrdf.http 的 org.openrdf.http.client.SparqlSession.execute(SparqlSession.java:1100) 缺少存储库的存储库实现。 client.SparqlSession.sendTupleQueryViaHttp(SparqlSession.java:807) 在 org.openrdf.http.client.SparqlSession.getBackgroundTupleQueryResult(SparqlSession.java:704) 在 org.openrdf.http.client.SparqlSession.sendTupleQuery(SparqlSession.java:363)在 org.openrdf.repository.http.HTTPTupleQuery.evaluate(HTTPTupleQuery.java:58) ... 还有 3 个client.SparqlSession.getBackgroundTupleQueryResult(SparqlSession.java:704) at org.openrdf.http.client.SparqlSession.sendTupleQuery(SparqlSession.java:363) at org.openrdf.repository.http.HTTPTupleQuery.evaluate(HTTPTupleQuery.java:58) ... 3 更多client.SparqlSession.getBackgroundTupleQueryResult(SparqlSession.java:704) at org.openrdf.http.client.SparqlSession.sendTupleQuery(SparqlSession.java:363) at org.openrdf.repository.http.HTTPTupleQuery.evaluate(HTTPTupleQuery.java:58) ... 3 更多