Почему этот запрос DL не возвращает ожидаемых результатов?

Я создал простую онтологию OWL в Protege, которая описывает человеческие отношения:

  • Классы: человек, мужчина, женщина
    • Person is super class of Man and Woman
    • Man and Woman are disjoint
  • Свойства объекта : hasChild
    • Its doman and range is Person
  • Люди : a (мужчина), b (мужчина), c (мужчина) --- x (женщина), y (женщина), z (женщина)
  • Утверждения :
    • a hasChild x
    • a hasChild y
    • c hasChild a

Теперь я хочу опросить всех лиц, чьи дети являются единственными дочерьми. Я написал этот запрос на вкладке запроса DL:

Person and hasChild only Woman

Но он не возвращает экземпляров! Или простой запрос для лиц, у которых только двое детей

Person and hasChild exactly 2

Оба эти запроса не возвращают экземпляры. Может ли кто-нибудь сказать мне, в чем проблема?

Спасибо


person frogatto    schedule 29.10.2014    source источник


Ответы (1)


В DL действует принцип открытого мира (OWA). Это означает, что знание, зафиксированное в онтологии, является неполным. Альтернативой является Закрытое Мировое Предположение (CWA), которое используется, скажем, в базах данных. В CWA отсутствует все, что не заявлено.

Согласно OWA, все, что мы знаем из приведенной выше онтологии, это то, что a и c имеют несколько потомков. Мы не знаем, имеет ли a более одного потомка, так как x и y могут быть одинаковыми (чтобы избежать этой ситуации, следует использовать аксиому DifferentIndividuals()). Мы не знаем, единственные ли это дети: в открытом мире у любого человека могут быть другие дети любого пола, которые не включены в онтологию. Вот почему ответом на этот запрос является пустое множество.

Самый простой способ получить ожидаемый ответ – это закрыть знания. Если онтология будет содержать аксиому

a instanceOf (hasChild only {x,y})

тогда a станет ответом на первый запрос. Если к тому же аксиома

DifferentIndividuals(x,y)

будет добавлено, то второй запрос вернет a. Protege позволяет легко составлять аксиомы 2-го типа.

person Dmitry Tsarkov    schedule 29.10.2014
comment
Привет Дмитрий. Искренне благодарна за полезный ответ! Спасибо - person frogatto; 29.10.2014