использование рефлексивного свойства protege

#owl #ontology #protege #pellet #hermit

#owl #онтология #protege #гранула #отшельник

Вопрос:

В protege рефлексивное свойство присваивается всем пользователям независимо от домена, диапазона и класса, к которому принадлежат пользователи.
так в чем же польза этого ограничения?

P.S: допустим, есть три человека:

 NamedIndividual( :John )
NamedIndividual( :alex )
NamedIndividual( :BMW )
  

и объект proeprty:

  ObjectProperty( :hasFriend ) 
 ReflexiveObjectProperty(:hasFriend)
  

запуск pellet выводит, что :

 BMW hasFriend BMW
  

Этот вывод концептуально бессмыслен

Комментарии:

1. Рефлексивные ограничения применяются только к свойствам объекта. Рефлексивные ограничения не распространяются непосредственно на отдельных лиц. По этой причине ваш вопрос не имеет смысла для меня. Не могли бы вы расширить свой вопрос с помощью минимального полного примера, пожалуйста?

2. @HenrietteHarmse это неверно. Рефлексивные свойства являются глобальной характеристикой и сохраняются для всех пользователей. Дело в том, что он не знает, зачем его использовать. Очевидно hasFriend , что это плохой пример, некоторые люди используют partOf , например, для моделирования мереологического отношения. Действительно, есть место для обсуждения

3. @amin @UninformedUser Я хочу сказать, что для hasFriend рефлексивного ограничения должно быть установлено, чтобы оказывать влияние на отдельных лиц. Рефлексивные ограничения устанавливаются для свойств, а не для отдельных лиц. Однако после установки они влияют на выводы относительно отдельных лиц. Однако, @UninformedUser, ваше разъяснение вопроса полезно.

4. @HenrietteHarmse что вы подразумеваете под: Reflexive restrictions are set on properties, not individuals . не могли бы вы привести пример? Мне нужно знать, когда я должен / не должен использовать reflexive ограничение в своей онтологии

5. @amin отредактировал ваш вопрос, чтобы добавить ReflexiveObjectProperty(:hasFriend) . Например, без добавления этого ограничения hasFriend он НЕ будет выводить BMW hasFriend BMW .

Ответ №1:

В таких статьях, как «Еще более неотразимый SROIQ» и «Основы логики описания«, указывается, что рефлексивные и нерефлексивные свойства тесно связаны с exists r.Self концепцией. Т.е. Narcissist может быть определено как Narcissist sqsubseteq loves.Self .

В документе SROIQ фактически упоминается, что основные варианты использования рефлексивных и нерефлексивных свойств ограничены и имеют смысл только при использовании вместе с ограничениями мощности. Т.е. Если вы определяете PopularPerson как кого-то, у кого есть как минимум 2 друга, и hasFriend является рефлексивным, то, утверждая, что у человека есть 1 известный друг, это приведет к тому, что этот человекклассифицируется как a PopularPerson , потому что предполагается, что индивид уже является его собственным другом.

Интересно, что в документе также упоминается, что reflexive(r) это эквивалентно добавлению GCI top sqsubseteq exists r.Self в TBox. Лично для меня это более интуитивно понятно и обеспечивает контроль, которого, я думаю, вы, похоже, хотите достичь. В частности, это позволяет вам top заменять любым классом по вашему выбору. Аналогичный эквивалент существует для нерефлексивных свойств.

Комментарии:

1. @Henirette Harmse спасибо. Чего я не понимаю, так это того, что рефлексивное ограничение применяется ко ВСЕМ лицам, определенным в онтологии, после запуска средства анализа гранул / отшельников, то есть без моего контроля над ним, и это, я думаю, делает это свойство непригодным для использования.

2. @amin Обновленный ответ, объясняющий, как вы можете получить желаемый контроль.

3. вы имеете в виду использование self вместо reflexive ограничения для обеспечения контроля

4. Да, если reflexive это не работает для вашего варианта использования, тогда используйте аксиомы, основанные на Self , чтобы обеспечить больший контроль.