对于某些查询,DL查询解析器返回空

时间:2013-10-15 19:24:52

标签: owl ontology owl-api dlquery

我正在用Java编写DL查询解析器。当我给出一个类名作为输入时,代码给出正确的输出,但是当我给出“hasColor value Red”或“hasSugar值Dry”之类的查询时,它不会返回任何内容。我正在使用OWLAPI。

1 个答案:

答案 0 :(得分:1)

假设您使用this code为例。

您似乎正在使用默认的结构推理器。您应该启用更复杂的推理器,例如HermiT

首先,下载并将jar添加到类路径中,然后替换第178行:

OWLReasonerFactory reasonerFactory = new StructuralReasonerFactory();

通过

OWLReasonerFactory reasonerFactory = new Reasoner.ReasonerFactory();

它应该工作!有关此解决方案的更多详细信息,请查看this answer,如评论中@Joshua所述。