【发布时间】:2018-09-06 21:39:38
【问题描述】:
AllFemaleGame 是一个类,对应于所有玩家和观察者都是女性的游戏的类。
类:
声明(类(ns:Game))
声明(类(ns:Person))
声明(Class(ns:Female))
声明(类(ns:Observer))
子类:
SubClassOf(ns:Female ns:Person)
对象属性:
ObjectProperty(ns:isPlayerOf)
ObjectPropertyDomain(ns:isPlayerOf ns:Person)
ObjectPropertyRange(ns:isPlayerOf ns:Game)
EquivalentClasses(m:AllFemaleGame ObjectIntersectionOf(m:Game ObjectAllValuesFrom(m:isPlayerOf m:Female) ObjectAllValueFrom(m:isObserverOf m:Female)))
我做得对吗?
【问题讨论】:
-
我理解“子类:人的女性”意味着女性是人的子类。为什么不这样说,用英语,而不是使用没人知道的伪代码语法?然而,带有“对象属性”的行更加神秘。如果你不知道表达你想要什么的正式语法,请用英语说出来。 Stack Overflow 主要面向编码人员这一事实并不意味着您必须根据代码编写所有内容!不过,最后一个带有“EquivalentClasses”的部分是有效的 OWL 2 函数式语法。也许你可以用那种语法重写其余部分?
-
我的直觉是“isPlayerOf(Person) => Game”的意思是isPlayerOf的域是Person,范围是Game。或者,如果 Person isPlayerOf 某事物,那么该事物就是一个 Game。在这种情况下,您认为 EquivalentClasses 部分是错误的。
-
谢谢,已编辑。我希望现在更清楚了。
标签: owl