我正在使用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);这样的东西)
发布于 2013-07-11 17:40:27
从2013年7月开始,OWL-API本身就不支持SPARQL-DL。您需要插入第三方库才能使其正常工作。
我知道有两个实现(可能还有更多):一个是由Derivo (你的链接)实现的,另一个是由Pellet实现的。
发布于 2014-10-09 18:50:59
我将OWL-API与Hermit和Pellet一起使用;两者都工作得很好。与Hermit相比,Pellet的优势在于它支持内置。
也就是说,在Pellet中,对于某些类Teenager,您可以使用以下查询获得17岁的人员:
Person and (hasAge value "17.0"^^double) 如果您(或其他人)仍然对此感兴趣,我可以为您提供Java类。
发布于 2018-04-18 16:35:10
纯OWL-API-impl不能提供非变通方法来支持SPARQL,因为它不是基于图形的解决方案。现在,启动v5,这里有ONT-API,它是基于jena的OWL-API impl。
https://stackoverflow.com/questions/17575970
复制相似问题