我正在用Java编写DL查询解析器。当我给出一个类名作为输入时,代码给出正确的输出,但是当我给出“hasColor value Red”或“hasSugar值Dry”之类的查询时,它不会返回任何内容。我正在使用OWLAPI。
答案 0 :(得分:1)
假设您使用this code为例。
您似乎正在使用默认的结构推理器。您应该启用更复杂的推理器,例如HermiT。
首先,下载并将jar添加到类路径中,然后替换第178行:
OWLReasonerFactory reasonerFactory = new StructuralReasonerFactory();
通过
OWLReasonerFactory reasonerFactory = new Reasoner.ReasonerFactory();
它应该工作!有关此解决方案的更多详细信息,请查看this answer,如评论中@Joshua所述。