Это очень сильно зависит от того, есть ли у вас ризонер или нет, когда вы пытаетесь извлечь данные из своей онтологии. Говоря это
hasChair hasParticipant
эквивалентна формуле первого порядка:
x,y.(hasChair(x,y) hasParticipant(x,y))
Это означает, что из hasChair(exampleConference,paulPill) логически следует hasParticipant(exampleConference,paulPill). Однако вам понадобится аргументатор OWL (или RDFS), чтобы доказать это для вас, если вы утверждаете только предложение hasChair. Если вы утверждаете оба предложения hasChair и hasParticipant, то вам не понадобится аргументатор, чтобы выяснить, что hasParticipant(exampleConference,paulPill).
похожий Недавно в списке рассылки пользователей Jena был задан вопрос об обратных свойствах.
Если у a есть функциональная/обратно-функциональная пара, должен ли я создавать операторы в обоих направлениях или использовать какое-то устройство вывода для заполнения? Я создаю здесь много троек, поэтому я склонен делать их сам, опасаясь очень медленного перемещения большой модели.
То есть, если бы у вас было свойствоparticipant, обратное свойству hasParticipant, вопрос в том, достаточно ли его для утверждения
hasParticipant(exampleConference,paulPill)
или вы должны сделать оба
hasParticipant(exampleConference,paulPill)
участвуетв(paulPill,exampleConference)
Ответ почти тот же: если у вас есть рассудок, то достаточно одного. Если нет, то вы, вероятно, хотите оба.
person
Joshua Taylor
schedule
17.07.2014