owl中的递归对象属性
Posted
技术标签:
【中文标题】owl中的递归对象属性【英文标题】:Recursive object property in owl 【发布时间】:2015-12-10 08:55:58 【问题描述】:我们可以在 owl 中将对象属性建模为递归吗?如果没有,有什么解决办法吗?
例如我想将工作流定义为 owl 中的一个类。 Task 和 getSubTasks 分别是我本体中的类和对象属性。我想将工作流建模为任务和递归获取的 getSubTasks 的组合。
【问题讨论】:
请提供您的数据示例。答案很可能是“是”,但很难确切地说出您在问什么。 【参考方案1】:听起来您想声明 getSubTasks 或它的某些超属性是 transitive 属性,您可以在 OWL 中做到这一点。
例如,如果您有一个类 Task、一个属性 hasImmediateSubTask 和一个属性 hasSubTask,这样 hasImmediateSubTask 是 hasSubTask
的子属性有ImmediateSubTask ⊑有子任务
然后从:
hasImmediateSubTask(a,b) hasImmediateSubTask(a,c)
你可以推断:
hasSubTask(a,b) hasSubTask(a,c)
现在,如果您使 hasSubTask 具有传递性,那么从
hasSubTask(a,b) hasSubTask(b,d)
你可以推断:
hasSubTask(a,d)。
【讨论】:
以上是关于owl中的递归对象属性的主要内容,如果未能解决你的问题,请参考以下文章