如何检查OWLClassExpression是否包含另一个OWLClassExpression?

时间:2017-02-12 17:08:51

标签: java owl-api

是否可以使用OWL API检查OWLClassExpression是否包含另一个OWLClassExpression?

分类示例:      Taxonomy Image (没有不相交的课程)

第一类表达:" E和C"
二等表达式:" A"
第三类表达:" D"

我想知道第二个包含第一个,但第三个不包含第一个。

我的意思"包含"是:如果我实例化属于第一个(E和C类)的个体,那个人也来自第二个(A类)。

1 个答案:

答案 0 :(得分:0)

您需要使用OWLReasoner来执行此操作。通过创建您要验证的公理(例如A subClassOf E and C - 并测试本体是否包含它(OWLReasoner::isEntailed(OWLAxiom))来执行测试。

在OWL API之外可以使用

OWLReasoner实现 - 请参阅Pellet,Openllet,HermiT,FaCT ++,JFact(所有这些都可以在各自的网站上找到,除了FaCT ++之外,所有这些都可以在Maven Central上找到