使用owl-api进行SPARQL-DL查询

时间:2013-07-10 16:24:37

标签: sparql semantic-web owl owl-api

我正在使用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);

3 个答案:

答案 0 :(得分:1)

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

我知道有两个实现(可能还有更多):一个是Derivo(你的链接),另一个是Pellet

答案 1 :(得分:0)

我使用OWL-API与Hermit和Pellet;两者都很好。 Pellet over Hermit的优势在于它支持内置函数。

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

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

如果您(或某人)仍然感兴趣,我可以为它提供Java类。

答案 2 :(得分:0)

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