Reasoner устанавливает два разных класса, эквивалентных друг другу и owl:Thing.

Я работаю над онтологией для видеоигр для проекта университетского курса, специально ориентированного на отношения между различными жанрами. Я включил эту онтологию в свой проект и расширил ее. Текущее состояние документа OWL приведено здесь.

Когда я запускаю механизм рассуждений HermiT в Protégé, он утверждает, что Game есть Equivalent To Genre с пояснениями:

Объяснение игрового эквивалента жанра

Кроме того, в нем говорится, что owl:Thing равно Equivalent To Game и эквивалентно Genre со следующими пояснениями (соответственно):

owl:Вещь эквивалентна объяснению игры

owl:Вещь, эквивалентная объяснению жанра

Как вы можете предположить, это определенно не тот результат, на который я рассчитывал. Я попытался установить Game Disjoint With Genre, но автор рассуждений заявил, что онтология несовместима. Объяснение, которое он дает, такое же, как объяснение для Game Equivalent To Genre, но с добавленным ограничением Disjoint With в каждом объяснении.

Я впервые работаю с чем-то подобным, поэтому буду признателен, если кто-нибудь объяснит мне ошибочность моей логики. Что вызывает такое поведение, почему и как я могу это исправить?

Кроме того, вот код двух свойств объекта, которые, кажется, вызывают проблемы (остальные можно найти здесь):

###  http://example.org/VideoGameOntologyExtended#hasElementsOf
:hasElementsOf rdf:type owl:ObjectProperty ,
                        owl:ReflexiveProperty ;
               rdfs:domain vgo:Genre ;
               rdfs:range vgo:Genre .

###  http://example.org/VideoGameOntologyExtended#isSimilarTo
:isSimilarTo rdf:type owl:ObjectProperty ,
                      owl:SymmetricProperty ,
                      owl:ReflexiveProperty ;
             rdfs:domain vgo:Game ;
             rdfs:range vgo:Game .

person 5ar    schedule 11.02.2018    source источник
comment
Разве это не очевидно? Я имею в виду, что во всех объяснениях встречаются аксиомы рефлексивности. Вам действительно нужна рефлексивность? Чтобы лучше понять следствие, p будучи рефлексивным, является сокращением для owl:Thing SubClassOf p some Self, а диапазон C из p означает owl:Thing SubClassOf p only C   -  person UninformedUser    schedule 12.02.2018
comment
В задании на проект указано, что у меня должен быть хотя бы один пример использования owl:ReflexiveProperty. Материалы курса не объясняют свойство, и курс в основном касается баз данных, а не семантической сети. Определения, которые я нашел в Интернете, создали у меня впечатление, что рефлексивное свойство просто означает, что экземпляр класса, который имеет это свойство (т. е. класс, который является доменом свойства), автоматически имеет себя с обеих сторон свойства.   -  person 5ar    schedule 12.02.2018
comment
Пожалуйста, прочтите документацию, а затем   -  person UninformedUser    schedule 12.02.2018


Ответы (1)


Просто чтобы дать вам подсказку о последствиях owl:Thing EquivalentTo Game:

У нас есть

Reflexive: isSimilarTo

что эквивалентно

owl:Thing SubClassOf isSimilarTo some Self

что на самом деле означает, что каждый индивидуум в вашей онтологии связан с самим собой через свойство isSimilarTo, т.е. для каждого индивидуума x в вашей онтологии мы можем вывести

isSimilarTo(x, x)

Кроме того, у нас есть

isSimilarTo Range Game

что семантически эквивалентно аксиоме

owl:Thing SubClassOf isSimilarTo only Game

Это означает, что при наличии такого отношения isSimilarTo(x, y) объект y будет принадлежать классу Game.

Теперь вспомните, что мы уже говорили, что каждый индивидуум в онтологии имеет такое отношение только к самому себе. Таким образом, мы можем сделать вывод, что каждый человек принадлежит к классу Game.

person UninformedUser    schedule 12.02.2018
comment
Итак, если я правильно понимаю, если я хочу использовать owl:ReflexiveProperty, я не должен определять домен и диапазон isSimilarTo, иначе этот класс будет эквивалентен owl:Thing, потому что домен и диапазон не являются ограничениями свойства, а используются как утверждения, что любое индивидуум на стороне домена или диапазона свойства является экземпляром класса, определенного как домен или диапазон, а рефлексивность подразумевает, что отношение индивида к себе существует для всех индивидов (независимо от типа)? - person 5ar; 12.02.2018
comment
Это правильно. И не беспокойтесь, домен и диапазон довольно часто неправильно понимаются в контексте OWL. И да, использование Reflexive: p означает глобальную рефлексивность, то есть свойство выполняется для всех индивидуумов. - person UninformedUser; 12.02.2018
comment
Спасибо, теперь все стало намного понятнее :) Я полагаю, что свойства нельзя каким-либо образом ограничить для использования только определенными классами? - person 5ar; 12.02.2018
comment
Не совсем так, OWL больше занимается выводом утверждений или, в худшем случае, как вы уже обнаружили, несоответствием. В отличие от баз данных, в OWL вам также приходится жить с предположением об открытом мире, то есть недостающая информация не может рассматриваться как ложная. Есть несколько инициатив/языков поверх RDF, таких как SHACL, для определения правильных ограничений. Может быть, вы можете взглянуть на тех. - person UninformedUser; 12.02.2018