2

我对 Jena ARQ 有疑问,也许你可以帮我解决。我有一个本地 N3 文件,我想使用 Java 中的 ARQ 对其进行选择。问题是我得到了 0 个结果。

这是我使用的代码:

FileManager.get().addLocatorClassLoader(SomeClass.class.getClassLoader());
Model model = FileManager.get().loadModel("props/temp.n3");
QueryExecution qexec = QueryExecutionFactory.create(query, model);
queryResultSet = qexec.execSelect();

...

我打开了完整的日志记录(上面没有显示),但它没有报告任何错误。

现在,有趣的是,如果我尝试 arq 的命令行版本,我会得到结果。所以查询没有问题。我尝试过创建 FileManagers、Datasets 和 LocationMappings 但无济于事。我什至调试了 arq 命令行实用程序以查看所有参数放在一起以创建查询执行对象的位置,但我没有走多远。我没主意了。有什么线索吗?我知道它一定是在创建查询执行对象时发生的。我正在使用最新版本的 ARQ (2.9.3)。

model.size()  

报告 173。

询问:

SELECT *

WHERE {
    ?Node ?property ?object .  

}  
4

1 回答 1

0

两条信息会有所帮助:记录 的结果model.size(),并向我们展示您的查询。基本上,您的代码看起来不错,因此模型中的数据不是您所期望的,或者查询存在问题,尽管它是从命令行运行的。

于 2012-10-17T19:39:22.717 回答