1

我正在使用 OWL-API 和 Hermit Reasoner 编写应用程序。我想通过提交查询来使用 SPARQL-DL 查询数据,例如:

PREFIX wine: <http://www.w3.org/TR/2003/PR-owl-guide-20031209/wine#>
SELECT ?i
 WHERE { Type(?i, wine:PinotBlanc) }
 OR WHERE { Type(?i, wine:DryRedWine) }

我可以直接使用 owl-api 执行此操作,还是应该使用外部库(http://www.derivo.de/en/resources/sparql-dl-api/)?(我需要类似的东西 queryEngine.query(my_query);

4

3 回答 3

1

与 2013 年 7 月一样,OWL-API 本身不支持 SPARQL-DL。您需要插入第三方库才能使其工作。

我知道两种实现(可能还有更多):一种来自 Derivo(您的链接),另一种来自Pellet

于 2013-07-11T09:40:26.797 回答
0

我将 OWL-API 与 Hermit 和 Pellet 一起使用;两者都工作得很好。Pellet 相对于 Hermit 的优势在于它支持内置插件。

即在 Pellet 中,对于某些类Teenager,您可以使用以下查询获得 17 岁的人:

Person and (hasAge value "17.0"^^double) 

如果您(或其他人)仍有兴趣,我可以为它提供 Java 类。

于 2014-10-09T10:50:58.817 回答
0

纯 OWL-API-impl 不能提供非解决方法来支持 SPARQL,因为它不是基于图形的解决方案。现在,从 v5 开始,有ONT-API,它是基于耶拿的 OWL-API 实现。

于 2018-04-18T08:35:09.863 回答