Protégé中使用Geonames本体的OWLReasonerRuntimeException

时间:2014-01-15 10:39:30

标签: resources external protege geonames

我在Protégé4中建立了一个本体论来描述考古发现,我想用Geonames个体作为发现的地方。如何在Protégé中添加外部人员?我是否需要导入我的Geonames本体?我试着:

  1. 导入geonames本体
  2. 使用geonames full iri添加新个人
  3. 在我的地点和第2点的新个人之间添加属性sameAs
  4. 但导入Geonames本体使得推理器死于此错误消息:

      

    OWLReasonerRuntimeException:非简单对象属性“http://www.geonames.org/ontology#featureClass”用作简单对象

    我该如何解决这个问题?

1 个答案:

答案 0 :(得分:2)

使用来自其他本体的个人而不导入

通常,导入声明您感兴趣的个人的本体可能是个好主意。但是,在某些情况下,这可能不是最佳选择。如以下部分所述,Geonames本体实际上并不是合法的OWL 2 DL本体,因此如果您尝试将其导入本体,则在尝试进行任何推理时都会遇到问题。因此,您应该将Geonames本体导入到您的内容中,并且重新声明您在自己的本体中所需的个人。这在Protégé很容易。根据{{​​3}},IRI http://sws.geonames.org/3020251/指的是法国的Embrun镇。您只需按照惯例使用Protégé创建个人,但请检查“忽略实体创建首选项”按钮,以便为个人输入完整的IRI:

enter image description here

enter image description here

关于简单属性

对某些OWL属性的使用方式存在限制。如果您收到有关

的错误消息
  

OWLReasonerRuntimeException:非简单对象属性   'GeoNames ontology page'用作简单的   一个

然后你正确地引用了这个属性。在http://www.geonames.org/ontology#featureClass中有一个简单属性的描述(但我在这里只包括一个摘录):

  

OWL 2 Web Ontology Language Structural Specification and Functional-Style Syntax (Second Edition)

     

粗略地说,一个简单的对象属性表达式没有直接或   间接子属性,是传递的或由其定义的   物业链的手段,即间接子属性的概念   由属性层次结构捕获。

有关如何使用简单和非简单属性的注意事项:

  

11.1 Property Hierarchy and Simple Object Property Expressions

     

对简单角色的限制。每个类的表达式和每个公理   以下两个列表中的类型Ax仅包含简单对象   属性。

     
      
  • ObjectMinCardinality,ObjectMaxCardinality,ObjectExactCardinality和ObjectHasSelf。
  •   
  • FunctionalObjectProperty,InverseFunctionalObjectProperty,IrreflexiveObjectProperty,AsymmetricObjectProperty和   DisjointObjectProperties。
  •   
     

这种限制是必要的,以保证可赎回性   OWL 2 DL的基本推理问题。

Geonames不是OWL 2 DL本体

现在,可能是你的本体存在一些有问题的公理,但看起来GeoNames本体中有一些本身。我下载了11.2 The Restrictions on the Axiom Closure并在Protégé中打开了它。没有那么多的对象属性,但是有一个要素类,它有一个子属性链公理,并且它在类表达式中使用。

enter image description here

因此,要素类是一个非简单属性,因为它有一个属性链作为子属性,要素类用于ObjectExactCardinality类表达式,即

  

要素类 完全 1 事情

这意味着GeoNames本体不是合法的OWL 2 DL本体。