gpt4 book ai didi

java - OpenRDF/Sesame 不提供模型

转载 作者:行者123 更新时间:2023-12-01 11:58:28 25 4
gpt4 key购买 nike

我之前使用的是 FUSEKI,现在改为 OpenRDF/Sesame。

一切正常,我只有一个问题。在一种方法中,我需要取回模型中存储库的完整数据库。该方法如下所示:

  private static Model getRepositoryModel() throws ResourceRepositoryException{
String queryString = "DESCRIBE * WHERE {?r ?s ?p}";
Model currentModel = QueryExecuter.executeSparqlDescribeQuery(queryString);
return currentModel; }

public static Model executeSparqlDescribeQuery(String queryString) throws ResourceRepositoryException {
Model resultModel = null;
try{
QueryExecution qe = QueryExecutionFactory.sparqlService(SESAME_SERVICE_QUERY, queryString);
resultModel = qe.execDescribe();
} catch(QueryExceptionHTTP | QueryParseException e){
throw new ResourceRepositoryException(e.getMessage());
}
correctNsPrefixes(resultModel);
return resultModel;}

但我实际上并没有拿回模型。但在 SPARQL 中,如果调用此方法,则必须返回一个。它还与 FUSEKI 合作。

最佳答案

从您的评论中,我了解到您正在使用 Jena 来查询远程 Sesame 服务器(之前不清楚您在做什么,我最初以为您已经将自己的客户端代码切换为使用 Sesame)但发布了错误/旧代码)。虽然这是一个有点不传统的设置(大多数使用 Sesame Server 的人也使用 Sesame API 来实际查询/访问它),但这当然应该是可能的。

但是,显然,您正在使用类似这样的内容作为 Sesame SPARQL 端点 URL:

http://localhost:8080/openrdf-workbench/repositories/test 

(假设您的存储库名为“test”)。

这不是正确使用的 URL。它应该是:

http://localhost:8080/openrdf-sesame/repositories/test 

注意区别:不是“openrdf-workbench”,而是“openrdf-sesame”。

工作台是 Sesame Server 的客户端 UI,它旨在用作 SPARQL 端点本身。事实上,如果您将它用于 SELECT 查询,它显然可以工作,但这只是一个不幸的副作用。它不打算这样使用。

关于java - OpenRDF/Sesame 不提供模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28174615/

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