OWL : 如何编写类公理,说"hasValue X from {A,B,C,D} disjointWith hasValue ({A,B,C,D} - X),其中 X 是来自 A,B,C,D 的类之



我想写一个一般的类公理

如果某个值(属性)来自类{A,B,C,D}中的一个,则它不能有不同于其他类的hasValue。

&;hasValue some {A,B,C,D} disjointWith hasValue some ({A,B,C,D} - X)&;其中X是disjointWith之前的类之一。

基本上是以下4个语句的并集,但在一个语句中。

  • "hasValue some A与hasValue some {B,C,D}">
  • "hasValue some B disjointWith hasValue some {A,C,D}">
  • "hasValue some C disjointWith hasValue some {A,B,D}">
  • "hasValue some D disjointWith hasValue some {A,B,C}">

正如@UninformedUser已经评论的那样,您在问题的第一部分中描述的内容在OWL中是不可能的(不支持根据另一个属性的填充符限制一个属性断言)。

然而,在第二部分中,你列出了四个类的限制,并询问如何在一个语句中做到这一点——你可以交叉这四个类表达式,尽管这并不能达到你的主要目标。

另一个部分解决方案:声明A, B, C, D个不联合的成员,并声明一个不联合的属性为范围,基数限制为1,这样只能做出一个属性断言。两个属性断言将强制填充符是相同的个体,如果填充符属于,例如,A和B,

相关内容

最新更新