OWL: 通过另一个关系定义关系
OWL: define relation via another relation
我目前正在学习如何使用链接数据,特别是如何处理本体和语义数据。
为此,我正在深入研究 OWL 并试图模拟一个简单的工作环境。对于这个问题,我有以下部分感兴趣
- 员工class
- 项目class
- :worksOn Employee 和 Project
之间的关系
如果我现在有
Employee1 :worksOn Project1
Employee2 :worksOn Project1
是否有任何方法可以对 属性 :worksWith 进行建模,以便在本例中可以导出 Employee1 :worksWith Employee2
而无需明确说明?所以基本上我想知道是否可以通过另一个关系来定义一个关系?
约书亚·泰勒的命题是正确的。我已经在 Protégé 5.0.0 beta 17.
下测试过了
您必须使用 Machester OWL Syntax 来定义 worksWith
对象 属性:
worksOn o inverse (worksOn) subPropertyOf worksWith
然后使用任何推理器 (HertmiT, Fact++ or Pellet) 获得所需的推理(黄色)。
我目前正在学习如何使用链接数据,特别是如何处理本体和语义数据。 为此,我正在深入研究 OWL 并试图模拟一个简单的工作环境。对于这个问题,我有以下部分感兴趣
- 员工class
- 项目class
- :worksOn Employee 和 Project 之间的关系
如果我现在有
Employee1 :worksOn Project1
Employee2 :worksOn Project1
是否有任何方法可以对 属性 :worksWith 进行建模,以便在本例中可以导出 Employee1 :worksWith Employee2
而无需明确说明?所以基本上我想知道是否可以通过另一个关系来定义一个关系?
约书亚·泰勒的命题是正确的。我已经在 Protégé 5.0.0 beta 17.
下测试过了您必须使用 Machester OWL Syntax 来定义 worksWith
对象 属性:
worksOn o inverse (worksOn) subPropertyOf worksWith
然后使用任何推理器 (HertmiT, Fact++ or Pellet) 获得所需的推理(黄色)。