【问题标题】:DL query parser returns empty for certain queriesDL 查询解析器对某些查询返回空
【发布时间】:2013-10-15 19:24:52
【问题描述】:

我正在用 Java 编写一个深度学习查询解析器。当我给出一个类名作为输入时,代码给出了正确的输出,但是当我给出像“hasColor value Red”或“hasSugar value Dry”这样的查询时,它什么也不返回。我正在使用 OWLAPI。

【问题讨论】:

  • 在提出新问题之前,您可能会考虑回复对您之前的一些问题的澄清请求(但没有要求)……除此之外,我希望这是因为没有人有颜色红色的,或者说有糖干。除非我们能看到您的数据,否则我们将无法判断。我们可以查看您的数据吗?毕竟,“有关您编写的代码问题的问题必须在问题本身中描述具体问题——并包括有效的代码来重现它。”
  • 所描述的问题的可能来源太多,无法给出有意义的答案。可能性包括:hasColorRed 未在本体中声明,或者没有这些类的实例。您需要提供一些您编写的消除歧义的代码。

标签: owl ontology owl-api dlquery


【解决方案1】:

假设您使用this code 作为示例。

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

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

OWLReasonerFactory reasonerFactory = new StructuralReasonerFactory();

OWLReasonerFactory reasonerFactory = new Reasoner.ReasonerFactory();

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

【讨论】:

  • @DipinAzhikodan 没有提及任何特定的源代码。您在哪里看到有关“第 178 行”的信息?它是否基于引用的代码here
  • 是的,对不起,根据我认为 OP 面临这个问题的症状(已经看到很多次,正如你正确发现的那样 - 我相应地编辑了答案)。
  • 这是一个合理的假设,在这种情况下。由于将示例中的 StructuralReasoner 留在了 OWLAPI 邮件列表中弹出的示例中,我已经看到了类似的问题 - 虽然没有设法找到一个链接到这里。我会尝试在 OWLAPI wiki 中添加一个示例并链接它。
猜你喜欢
  • 1970-01-01
  • 2020-01-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-06-29
  • 2016-02-08
相关资源
最近更新 更多