owl:如何表达AllFemaleGame

owl: how to express AllFemaleGame

AllFemaleGame 是一个 class,它对应于每个玩家和观察者都是女性的游戏的 class。

Classes:

声明(Class(ns:Game))

声明(Class(ns:Person))

声明(Class(ns:女))

声明(Class(ns:Observer))

子Classes:

子ClassOf(ns:女ns:Person)

对象属性:

对象属性(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)))

我做的对吗?

class 表达式 ObjectAllValuesFrom(m:isPlayerOf m:Female) 描述了事物 x 这样 if x m:isPlayerOf y,那么y就是m:Female。而且m:isPlayerOf的定义域是m:Person,范围是m:Game,所以如果存在这样的y,那么 x 是一个人,y 是一个游戏。看来你的方向错了。试试这个:

EquivalentClasses(
    m:AllFemaleGame
    ObjectIntersectionOf(
        m:Game
        ObjectAllValuesFrom(ObjectInverseOf(m:isPlayerOf) m:Female)
        ObjectAllValueFrom(ObjectInverseOf(m:isObserverOf) m:Female)
    )
)

请注意,此 class 还包含没有玩家或观察员的游戏。