我将VALIDITY的本体论作为顶级类,有两个子类CAR_PROPERTY和VEHICLE_TYPE
THING
- 有效性
VALIDITY hasSubcls CAR_PROPERTY haSubcls SPEED hasSubcls SPD130 hasSubcls SPD120 hasSubcls SPD110
VALIDITY hasSubcls VEHICLE_TYPE disjointUnionIf(BUS,CAR,TRUCK)
当我调用 hermit.getEquivalentClasses(intersectionOf(SPD130,SPD120,SPD110))时,我得到了我所期望的 - SPD110 ,但是 hermit.getEquivalentClasses的结果(intersectionOf(SPD130,SPD120,SPD110,CAR))是 intersectionOf(SPD130,SPD120,SPD110,CAR)但我希望 intersectionOf(SPD110,CAR) 。 我的本体有什么问题? 谢谢!
答案 0 :(得分:1)
检查是否
intersectionOf(SPD130, SPD120, SPD110, CAR) equivalentTo intersectionOf(SPD110, CAR)
是必须的。我相信它应该是。
我认为你的本体论没有任何问题,只是HermiT没有义务从表达式中删除多余的术语,所以它保留了表达式。