我有以下类:B、C 和 D 类是 A 的子类。
A ----+----------> B
|
+----------> C
|
+----------> D
此外,我有一个对象属性hasObjectProperty和其他一些类 X、Y、Z, 其中 X、Y、Z 是不相交的类。
然后我对 B、C 和 D 类设置限制如下:(这里我也使用 Protege 中使用的曼彻斯特 OWL 语法http://www.co-ode.org/resources/reference/manchester_syntax/)
B: (hasObjectProperty only X) and (hasObjectProperty some X)
C: (hasObjectProperty only Y) and (hasObjectProperty some Y)
D: (hasObjectProperty only Z) and (hasObjectProperty some Z)
现在的问题是,我如何描述一个 E 类,它应该是 B 类和 C 类的并集?我如何描述一个既可以是 B 类又可以是 C 类(但不是 D 类)的类?
A ----+----------> B ------> E
|
+----------> C ------> E
|
+----------> D
有可能吗?
我试图像这样定义 E 类的限制。但是推理者会确定它是无效的。
E: ((hasObjectProperty only X) and (hasObjectProperty some X)) or ((hasObjectProperty only Y) and (hasObjectProperty some Y))
多谢!