从OWL“或”类表达式中获取代表性类

时间:2017-03-07 06:27:20

标签: rdf owl owl-api reasoning dlquery

我有3个课程:$location.path(title.link) ReptileMammalCatCat的子类。

我有一个“或”类表达式:

Mammal

如何推断推理器为任何给定的“或”类表达式获取最具代表性的类?就像在这种情况下一样,它们是Reptile or Mammal or Cat Reptile

2 个答案:

答案 0 :(得分:1)

似乎getDirectSubclasses(yourOrExpression)为您提供了您正在寻找的答案。

答案 1 :(得分:1)

另一种方法:给定一个析取,生成所有析取的元素比原始元素少一个,并检查它们是否相等。如果为true,则删除的元素是'冗余' - 析取中另一个类的子类,或者包含在两个或更多元素的析取中(因此被其他元素覆盖)。

同样适用于连词。

你可以重复这个过程 - 当没有新的表达式与新的表达式不相同时,它将在没有元素被移除时终止。