В OWL2 существует ли способ указать, что, если какие-либо комбинации свойств применяются между объектами, а также неявно применяется дополнительное свойство? I.e., утверждают, что если R (S, O) выполнено и P (S, O) выполняется, то Q (S, O) выполняется также.Как указать, что комбинация свойств подразумевает другую
Я знаю, что это возможно с помощью классов, но я не могу найти способ сделать это со свойствами.
Например, в качестве надуманного примера рассмотрим свойства :is-older-than
, :is-brother-of
и :is-older-brother-of
. Очевидно, что если первые два имеют место между двумя объектами, то третий будет удерживаться, но я хочу сказать, что разумный субъект применил это свойство автоматически, без необходимости указывать его.
Это похоже на owl:propertyChainAxiom
тем, что оно задает неявное свойство. В этом случае правила для неявного свойства различны.
В качестве альтернативы, если свойство может подразумеваться в зависимости от типа объекта объекта, я думаю, что я также могу получить то, что хочу. Например, если у меня есть свойство :performs-with
и подкатегория свойство :rocks-out-with
, и у меня есть класс :Band
и суб-класс :RockBand
, я хотел бы сказать, что если объект :performs-with
собственности является :RockBand
, то :rocks-out-with
собственность также должна применяться.