【发布时间】:2020-08-03 08:26:36
【问题描述】:
我尝试使用 Protégé 5.5.0 在 OWL 中创建一个本体。不,我在推断类方面有点麻烦。
我有三个类:代理和子类 Groups 和 Persons。人员可以是组的成员。现在我想创建两个推断类:a)“组成员”和 b)“不是组成员”(都是 Person 的子类)
我用 a) 成功了,使用公理等效类:Person and member_of some Group。
我创建了一个人,它是一个人和一个组的成员,它被推断为“组成员”类的成员。
现在我被 b) 困住了。我为等效类尝试了几个选项,例如:
Person and member_of max 0 Group
或:Person and member_of exactly 0 Group
或:Person and not member_of some Group
我创建了一个人,它是一个人,但不是组成员。但是推理者不同意我的观点,即这个人应该属于推断的类“不是群体的成员”。
我做错了什么?
【问题讨论】:
-
感谢您的评论!对于我想放入“非组成员”类的个人,我添加了以下类型:
"member_of max 0 Group"。所以现在,显然,个人被推断为“非群体成员”的成员。但这并不能真正解决问题,因为我的意图是找到一种方法,自动找到所有不是组成员的个人,而无需自己为每个人添加此信息。这不可能以某种方式做到这一点吗? -
不在 Protégé 中。 Stardog 支持封闭世界推理;或尝试 SPIN/SHACL。
标签: owl ontology protege inference