Защо тази 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). Това означава, че знанието, което е уловено в онтология, е непълно. Алтернативата е Closed World Assumption (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