首页 > 解决方案 > 猫头鹰:如何表达AllFemaleGame

问题描述

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

课程:

声明(类(ns:游戏))

声明(类(ns:人))

声明(班级(ns:女))

声明(类(ns:观察者))

子类:

SubClassOf(ns:女性 ns:人)

对象属性:

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

我做得对吗?

标签: owl

解决方案


类表达式ObjectAllValuesFrom(m:isPlayerOf m:Female)描述事物x使得如果x m:isPlayerOf y,则ym:Female。此外, 的域m:isPlayerOfm:Person,范围是m:Game,所以如果存在这样的y,那么x将是一个人,而y是一个游戏。看来你把它弄错了方向。试试这个:

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

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


推荐阅读