在本体中使用域和范围的替代方法是什么?

时间:2015-01-28 23:24:20

标签: owl ontology protege

我正在玩Protégé5来构建本体。在搜索域和范围的主题之后,我发现域和范围不一定是关联两件事的正确方法。

[protege-owl] Specifying domain and range in object properties

  

要记住的重要一点是OWL限制能够实现   推理。那么这意味着如果你提供域和范围   对象属性的信息,然后可以推断出这些类   基于财产的使用。特别是域和范围
  不是传统编程意义上的类型检查   语言。如果你有足够的话,他们只能(有时)采取这种行动   不相交信息能够产生逻辑不一致。

     

因此,举例来说,我们假设我们有以下本体

     

班级:人员   分类:车辆
  类别:发动机
  属性:hasEngine:domain Vehicle:range Engine

     

约翰是一个人   约翰有引擎引擎-1

     

此时,将进行推断并得出结论约翰是一个   车辆。这不是类型违规,因为域和范围为   信息用于推断。 (如果人和车辆是   宣称是不相交的类,然后是一个不一致的本体论   结果,更接近经典的类型检查结果,但它是   仅适用于班级真正不相交的情况。)

因此,如果域和范围不好,那么我应该使用什么来建模事物类之间的关系呢?

编辑:我最初声明新版本中没有域/范围字段。几乎在发布之后,我意识到这些领域实际上仍然可用。

1 个答案:

答案 0 :(得分:6)

你仍然可以在Protege 5中声明对象属性的域和范围。这里是Protege 5 beta的截图,对象属性为 hasParent 它有一个域

object property with domain in Protege 5 Beta

您也可以在Web Protege中执行相同操作:

object property with domain in Web Protege

那就是说,如果由于某种原因你无法使用 rdfs:domain rdfs:range 公理,那么可以获取使用限制和子类公理的相同效果。公理:

  

p rdfs:范围R
  p rdfs:domain D

相当于

  

⊤⊑∀p.R
  ⊤⊤⊑p -1 .D

或曼彻斯特语法

  

猫头鹰:事情 subClassOf p R
  owl:东西 subClassOf 反向 p) D

我认为列表中的消息只是指出了用户从类型化编程语言进入OWL时常见的陷阱之一;他们希望" car72拥有社会安全号xxx"将是一个不一致,因为hasSocialNumber的域是Person,car72有类型Car。相反,car72将被推断为具有Car和Person类型,除非存在使其不一致的其他公理,否则它们不会相互矛盾。