#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
, чтобы обеспечить больший контроль.