如何通过两个属性建模特殊传递性关联?OWL建模及术语咨询
问题描述
我遇到的场景和某类似问题存在差异,具有独特性,故单独提问。
常见的传递属性关联形式为:
P(x,y) ∧ P(y,z) ⇒ P(x,z)
示例:MomhasAncestorGrandma 且 MagdahasAncestorMom ⇒ MagdahasAncestorGrandma
而我的模型中大量存在如下形式的关联:
P1(x,y) ∧ P2(y,z) ⇒ P2(x,z)
示例:MagdahasWorkRoleProgram Manager 且 Program ManagerhasTaskT0220 ⇒ MagdahasTaskT0220
请问:
- 这类关联是否已有公认术语?(该场景似乎十分常见)
- 能否在OWL中对其进行建模?
解答
一、公认术语
这种模式属于**属性链推理(Property Chain Reasoning)**的一种特殊情况,也常被称为属性的“继承传递”。在OWL推理语境里,它本质是通过跨属性的链式推导,让某个属性值域对象所关联的属性,传递到该属性的定义域对象上。如果是角色-任务这类特定场景,也会被俗称为“角色任务继承关联”,但通用的公认术语还是属性链推理的特殊形式。
二、OWL中的建模方法
完全可以在OWL中实现这种推理,核心是使用属性链公理(Property Chain Axiom),具体操作如下:
- 定义基础对象属性:
- 声明
hasWorkRole为对象属性,定义域设为Person,值域设为WorkRole - 声明
hasTask为对象属性,定义域设为WorkRole,值域设为Task
- 声明
- 添加属性链公理:
在Protégé工具中,进入「Object Properties」标签页,找到hasTask属性:- 在「Super Properties」区域选择「Add property chain」
- 输入属性链:
hasWorkRole o hasTask(其中o是OWL中属性链的组合操作符)
这个公理的含义就是:若x通过hasWorkRole关联到y,且y通过hasTask关联到z,那么x通过hasTask关联到z,正好对应你提出的推导规则。
- 触发推理验证:
开启OWL推理机(如Hermit、Pellet)后,推理机就会自动完成推导。比如当你添加了Magda hasWorkRole Program Manager和Program Manager hasTask T0220这两条断言后,推理机将自动推出Magda hasTask T0220的结论。
补充:这种建模方式通用性很强,任何符合P1(x,y) ∧ P2(y,z) ⇒ P2(x,z)结构的关联,都可以通过替换属性链中的P1和P2来实现。
内容的提问来源于stack exchange,提问作者Anderson Wiese
相关产品推荐
相关产品推荐

