猫头鹰中的递归对象属性 [英] Recursive object property in owl

查看:102
本文介绍了猫头鹰中的递归对象属性的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我们可以将对象属性建模为在owl中是递归的吗?如果没有,可以解决吗?

Can we model an object property to be recursive in owl? If not is there any work around?

例如我想将工作流定义为owl中的一个类. Task和getSubTasks分别是本体中的类和对象属性.我想将工作流建模为递归获取的task和getSubTasks的组合.

E.g. I want to define workflow as a class in owl. Task and getSubTasks are class and object property in my ontology respectively. I want to model workflow as combination of task and getSubTasks fetched recursively.

推荐答案

听起来您想声明 getSubTasks 或它的某些超级属性是 transitive 属性,您可以在OWL中执行此操作.

It sounds like you want to declare that getSubTasks, or some superproperty of it, is a transitive property, which you can do in OWL.

例如,如果您有一个类 Task ,一个属性 hasImmediateSubTask 和一个属性 hasSubTask ,例如, hasImmediateSubTask hasSubTask

E.g., if you have a class Task, a property hasImmediateSubTask, and a property hasSubTask such that hasImmediateSubTask is a sub-property of hasSubTask

hasImmediateSubTask⊑ hasSubTask

hasImmediateSubTask ⊑ hasSubTask

然后来自:

hasImmediateSubTask(a,b)
hasImmediateSubTask(a,c)

hasImmediateSubTask(a,b)
hasImmediateSubTask(a,c)

您可以推断:

hasSubTask(a,b)
hasSubTask(a,c)

hasSubTask(a,b)
hasSubTask(a,c)

现在,如果您使 hasSubTask 具有传递性,则从

Now, if you make hasSubTask be transitive, then from

hasSubTask(a,b)
hasSubTask(b,d)

hasSubTask(a,b)
hasSubTask(b,d)

您可以推断:

hasSubTask(a,d).

hasSubTask(a,d).

这篇关于猫头鹰中的递归对象属性的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆