Protégé 5.2.0中EquivalentTo类定义异常问题咨询
关于Protégé 5.2.0中EquivalentTo类搭配min 2基数约束的推理问题
我之前在用Pellet推理机时也碰到过类似的最小基数约束异常情况,结合你的描述,咱们可以从这几个方向排查:
Pellet对个体唯一性的严格要求
当你的类用EquivalentTo hasPart min 2 Part定义时,Pellet需要确认个体关联的是两个不同的Part个体,才会将其归类到这个类中。和min 1的情况不同,min 1只要存在一个关联就满足,但min 2不会自动假设关联的个体是不同的——如果你的测试个体只关联了一个Part,或者关联的多个Part是同一个个体(没加DifferentFrom声明,也没开启Protégé里的“Individuals are distinct by default”选项),Pellet就不会判定它符合类的等价条件。检查EquivalentTo表达式的潜在冲突
确认你的等价类定义没有和其他约束冲突:比如hasPart是不是被标记为Functional(函数属性,一个个体只能有一个值),这种情况下min 2本身就是矛盾的,推理机自然无法正常分类;或者Part类有没有被定义为不相交的子类,导致关联的个体实际不属于Part。版本兼容性问题
Protégé 5.2.0默认的Pellet版本可能存在基数推理的已知bug。你可以尝试更换推理机(比如HermiT)测试,如果HermiT能正常分类,那基本可以确定是Pellet的版本问题,升级Pellet到兼容的最新版本应该能解决。验证测试个体的完整性
确保你用于测试的个体完全满足约束:- 至少关联两个明确不同的
Part个体(可以在Protégé的个体编辑界面添加DifferentFrom断言,或者在设置里开启“Individuals are distinct by default”) - 这两个
Part个体确实属于Part类,没有被错误地归类到其他类中
- 至少关联两个明确不同的
内容的提问来源于stack exchange,提问作者Gilles-Antoine Nys
相关产品推荐
相关产品推荐

