OWL: Как добиться наследования отношений собственности между двумя классами от отношений собственности суперклассов?

Допустим, у нас есть два класса с именами People и Disease. Эти классы связаны свойством объекта has.

:People :has :Disease

People имеет подкласс (или индивидуум) John, а Disease имеет подкласс (или индивидуум) Cancer.

:John a :People
:Cancer a :Disease

Как мы можем получить связь между этими подклассами логическим путем?

:John :has :Cancer

person MJ Park    schedule 10.05.2016    source источник
comment
Вы хотите сказать, что хотите сделать вывод, что у Джона рак, потому что Джон — это народ, а у людей есть болезни? Это не имеет смысла, так что может быть хорошей идеей немного прояснить, какие факты у вас есть и что вы хотите сделать вывод. (И существительные в единственном числе лучше подходят для имен классов, т. е. :Person вместо :People.   -  person scotthenninger    schedule 11.05.2016


Ответы (1)


Прежде чем вы сможете получить ответ, вам необходимо разрешить ряд неправильных представлений.

Во-первых, подкласс и индивидуум — очень разные понятия. Индивиды (экземпляры) являются членами классов. Подкласс означает, что класс является подмножеством другого класса, а это означает, что следствием (через вывод) является то, что все члены подкласса являются членами (супер)класса. (Просто для справки: в OWL нет концепции наследования.)

Вторые свойства уровня класса, такие как :People :has :Disease, не имеют значения для индивидуумов класса. Способ определения отношений свойства к классам заключается в установке домена и диапазона свойства. (Просто использование :has в качестве имени свойства указывает на широкий набор неправильных представлений, возможно, из других типов языков.) Поэтому я бы предложил имя :hasDisease и утверждения:

:hasDisease rdfs:domain :People .
:hasDisease rdfs:range :Disease .

В-третьих, вы можете утверждать, что :John :hasDisease :Cancer, и сделать вывод, что Джон болен, учитывая, что :Cancer является подклассом :Disease. Для этого требуется стандартный распорядитель RDFS. Кроме того, учитывая вышеприведенные определения домена и диапазона и утверждение :Joy :hasDisease :Gout, логика RDFS сделает вывод, что :Joy a :Person и :Gout a :Disease.

Есть несколько учебников по OWL, которые вы можете найти через Google. Я предлагаю пройтись по некоторым из них, чтобы получить общее представление о том, как работают OWL и профили рассуждений.

person scotthenninger    schedule 10.05.2016
comment
Спасибо за ваше предложение. Я прочитал этот учебник и задаюсь вопросом, правильно ли я понял: в учебнике говорится , технически отношения подклассов между классами являются транзитивными. То есть, допустим, класс person имеет свойство hasTwoLegs, тогда его подкласс John также имеет такое же отношение свойств. Однако если John является физическим лицом, то у него нет свойства hasTwoLegs. Почему? разве он не должен иметь это свойство, потому что он является ЧЛЕНОМ класса person? и мне интересно, есть ли способ получить этот результат вывода. - person MJ Park; 11.05.2016
comment
Да, отношение подкласса транзитивно. Но единственное значение подкласса в RDFS — это принадлежность к классу. Член подкласса является членом класса. Ничего больше. Следовательно, свойства не наследуются экземплярами или подклассами. Опять же, свойства связаны с классами через домен и диапазон с вышеупомянутыми последствиями. Ничего больше. Это сбивает с толку, так как не использует принципы ООП. Думайте о классе OWL как о наборе, и это может быть лучшим принципом для начала. Кроме того, человек является членом класса (также известного как экземпляр). - person scotthenninger; 11.05.2016