我有3个课程:$location.path(title.link)
,Reptile
和Mammal
,Cat
是Cat
的子类。
我有一个“或”类表达式:
Mammal
如何推断推理器为任何给定的“或”类表达式获取最具代表性的类?就像在这种情况下一样,它们是Reptile or Mammal or Cat
和Reptile
。
答案 0 :(得分:1)
似乎getDirectSubclasses(yourOrExpression)
为您提供了您正在寻找的答案。
答案 1 :(得分:1)
另一种方法:给定一个析取,生成所有析取的元素比原始元素少一个,并检查它们是否相等。如果为true,则删除的元素是'冗余' - 析取中另一个类的子类,或者包含在两个或更多元素的析取中(因此被其他元素覆盖)。
同样适用于连词。
你可以重复这个过程 - 当没有新的表达式与新的表达式不相同时,它将在没有元素被移除时终止。