简体   繁体   中英

owl: how to express AllFemaleGame

AllFemaleGame is a class that corresponds to the class of every game whose players and observers are all women.

Classes:

Declaration(Class(ns:Game))

Declaration(Class(ns:Person))

Declaration(Class(ns:Female))

Declaration(Class(ns:Observer))

SubClasses:

SubClassOf(ns:Female ns:Person)

Object Properties:

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)))

Am I doing it correctly?

The class expression ObjectAllValuesFrom(m:isPlayerOf m:Female) describes the things x such that if x m:isPlayerOf y , then y is m:Female . Moreover, the domain of m:isPlayerOf is m:Person , and the range is m:Game , so if such a y existed, then x would be a person, and y a game. It seems you have it in the wrong direction. Try this:

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

Note that this class also contains games that do not have players or observers.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM