2015-12-01 3 views
1

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

  • Сотрудник класса
  • в Проекты класса
  • : worksOn соотношение между Работника и проекта

Если у меня сейчас

Employee1 :worksOn Project1 
Employee2 :worksOn Project1 

есть ли способ моделировать свойства : worksWith, так что в этом примере случай Employee1 :worksWith Employee2 может быть получен без явного указания его? Поэтому в основном я хочу знать, можно ли определить отношение через другое отношение?

+3

Да. В OWL вы сделаете это с помощью цепочки подзадач. Вы бы сказали, что: worksWith является подзадачей (inverse (: worksOn) o: worksOn). [«Как вывести isBrotherOf свойство между двумя людьми» и его ответ] (http://stackoverflow.com/q/19559651/1281433) имеют больше информации, чем вам нужно, но определенно ответьте на этот вопрос. Кроме того, [Как указать, что цепочка отношений подразумевает другую] (http://stackoverflow.com/q/24147160/1281433). Поскольку inverse (: worksOn) является свойством, интересующая вас цепочка является инверсной (: worksOn) -: worksOn. –

+0

Большое спасибо, это именно то, что я искал. Должен ли я сейчас закрыть вопрос как дубликат или просто оставить его открытым, потому что то, о чем я прошу, в значительной степени ответило на эти вопросы? – wastl

+0

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

ответ

1

Предложение Джошуа Тейлора является правильным. Я тестировал его под Protégé 5.0.0 beta 17.

Вы должны использовать Machester OWL Syntax определить свойство worksWith объекта:

worksOn o inverse (worksOn) subPropertyOf worksWith 

enter image description here

Затем, используя любой из рассуждений (HertmiT, Fact++ или Pellet) вы получаете желаемый вывод (в желтый цвет).

enter image description here

+0

Большое спасибо! Как только у меня появится возможность попробовать себя, я приму ответ – wastl

Смежные вопросы