检索猫头鹰本体中推断的对象属性填充物



我如何在本体学中的每个类中检索 o ash all(推断)存在限制?

我当前的方法是迭代所有对类和对象属性的迭代,并检查限制是否满足:

  • 对于 class(o)和时代的每个子类(c,d);类(O)
    • 对于对象属性(O)的每个属性 p
      • 如果 c p 一些 d 是可满足的:
        • 产量(c,p,d)

这非常慢,因为我正在使用具有4557个类和107个对象属性的疫苗本体论。即使是一次性计算,我也可以通过看到更好的方法来学到一些东西。

在此处建议使用JFACT的OWLKnowledgeExplorerReasoner无效,因为它在检索邻居标签时崩溃(请参阅我的测试用例)

您能否建议使用Owlapi,Protégé或任何其他工具进行任何改进的解决方案?另外,只能检索最特定的填充类。

谢谢!

首先,您的支票是错误的。对于空的本体,C and P some D将是可满足的,这不是您想要的。您必须检查C and not (P some D)是否不满意(另外,只需检查isSubsumedBy(C, P some D))即可。

如果您使用一些用于分类的技术,例如:

,可以改善探索时间。
  • 如果CP some D的子类,那么C的所有子类也是如此
  • 如果C不是P some D的子类,那么C的所有超级类也是如此
  • PD的子/超级类/属性的类似规则
  • 您可以为所有P some Thing表达式提供名称。分类后,您可以将C的搜索限制在这些概念的子类中。

如果您可以缩小问题,这也有所帮助。您真的需要检查所有对和所有属性吗?

在此处建议使用JFACT的OwlKnowledge ExploreReasoner无效,因为它在检索邻居标签时崩溃了(异常情况!)。

您能否提供一个测试案例和问题的完整堆栈,以便我们解决问题?您是否尝试将其与事实 ?

一起使用

最新更新