Recursive object property in owl

☆樱花仙子☆ 提交于 2019-12-12 00:13:59

问题


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

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.


回答1:


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

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

then from:

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

you can infer that:

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

Now, if you make hasSubTask be transitive, then from

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

you can infer that:

hasSubTask(a,d).



来源:https://stackoverflow.com/questions/32563402/recursive-object-property-in-owl

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!