Protege: ограничения домена свойства с использованием других свойств

Я создаю свою первую онтологию с протеже 5.2, и у меня возникли проблемы.

Скажем, у меня есть следующие классы:

Gender с подклассами Female и Male

Human с подклассами Patient и Doctor

Disease с подклассом Cancer с подклассом Prostate_Cancer

и свойства:

hasDisease (домен: Patient, диапазон: Disease)

hasGender (домен: Patient, диапазон: Gender)

Теперь я хочу указать, что Patient, которому hasDisease Prostate_Cancer, является Patient, которому также hasGender Male.

Возможно ли это без создания новых классов?


person Mir4culix    schedule 06.05.2018    source источник
comment
Разве Female и Male не должны быть личностями, а не классами? Или существуют такие личности, как BrutalMale и т.д.?   -  person Stanislav Kralin    schedule 06.05.2018
comment
Я тоже так думаю, но упражнение специально требует этого - хотя мне нравится ваш пример   -  person Mir4culix    schedule 06.05.2018
comment
Домен hasGender должен быть не Human, а Patient?   -  person Henriette Harmse    schedule 07.05.2018
comment
Затем, пожалуйста, вставьте сюда полный текст этого упражнения.   -  person Stanislav Kralin    schedule 07.05.2018
comment
Упражнение защищено авторским правом, поэтому я не могу разместить его здесь. Тем не менее, я могу заверить вас, что он запрашивает иерархию классов, а также домен hasGender, являющийся Patient.   -  person Mir4culix    schedule 07.05.2018


Ответы (1)


В Protege этого можно добиться, добавив общую аксиому класса:

hasDisease some Prostate_Cancer SubClassOf: Male

Затем всякий раз, когда у вас есть человек с заболеванием, которое является раком простаты, рассудок сделает вывод, что этот человек является Male.

Вы можете смоделировать это как

hasDisease some Prostate_Cancer SubClassOf: hasGender some Male

как предложил @StanislavKralin, но тогда рассудок не сделает вывод, что человеку Male всякий раз, когда у него рак простаты. Причина этого двояка:

(1) Ограничения домена и диапазона просто указывают, что всякий раз, когда два человека связаны через это свойство, первый человек будет иметь тип, указанный в домене, а второй человек будет любого типа, указанного в качестве диапазона.

(2) На самом деле онтология имеет бесконечное множество выводов. Чтобы быть пригодными для использования, инструменты не могут давать бесконечные выводы. Следовательно, такие инструменты, как Protege, предоставляют только выводы, для которых существуют именованные классы, то есть такие, как Male. Такие классы, как hasGender some Male, называются анонимными классами и не отображаются как выводы.

person Henriette Harmse    schedule 07.05.2018
comment
Или, может быть, ... SubClassOf: hasGender some Male, следуя их странному подходу к моделированию (насколько я его понимаю). - person Stanislav Kralin; 07.05.2018
comment
Вы можете сделать это таким образом, хотя проблема будет заключаться в том, что если у вас будет человек с раком простаты, это не сделает вывод, что этот человек Male. - person Henriette Harmse; 07.05.2018
comment
Кажется, что люди Gender не люди, возможно, ОП означает что-то вроде этого: stackoverflow.com/a/44387574, т.е. е. есть много полов, и некоторые из них Male пола и т. д. - person Stanislav Kralin; 07.05.2018