首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OWLReasonerRuntimeException在Protégé中使用Geonames本体

OWLReasonerRuntimeException在Protégé中使用Geonames本体
EN

Stack Overflow用户
提问于 2014-01-15 10:39:30
回答 1查看 565关注 0票数 1

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

  1. 导入地名本体
  2. 添加具有geonames full iri的新个体
  3. 在我的位置和第2点的新个体之间添加属性。

但是,导入Geonames本体会使推理者因以下错误消息而死亡:

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

我怎么解决这个问题?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-01-15 14:08:16

使用其他本体中的个人而不导入它们

一般来说,导入声明您感兴趣使用的个人的本体可能是个好主意。然而,在某些情况下,这可能不是最好的选择。如下面几节所述,Geonames本体实际上并不是一个合法的OWL 2 DL本体,因此,如果您试图将它导入到您的本体中,那么您在进行任何推理时都会遇到问题。因此,您不应该将Geonames本体导入到您的本体中,您应该在您自己的本体中重新声明您想要的个人。这在Protégé很容易做到。根据GeoNames本体页面的说法,IRI http://sws.geonames.org/3020251/指的是法国称为Embrun的城镇。您只需按照通常使用Protégé的方式创建一个个人,但请检查“忽略实体创建首选项”按钮,以便您可以为该个人输入完整的IRI:

关于简单性质

对于如何使用某些OWL属性有限制。如果你犯了错误

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

那么您将正确引用该属性。在OWL2Web本体语言结构规范和功能类型语法(第二版)中有一个简单属性的描述(但我这里只包括一个节选):

11.1属性层次结构和简单对象属性表达式 粗略地说,一个简单的对象属性表达式没有可传递的或由属性链定义的直接或间接的子属性,其中间接子属性的概念被属性层次结构捕获。

关于如何使用简单的和非简单的属性有一些讨论:

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

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

为了保证OWL2DL的基本推理问题的可判定性,这种限制是必要的。

Geonames不是OWL2DL本体。

现在,您的本体可能有一些有问题的公理,但是看起来在GeoNames本体本身中也有一些。我下载了3.1版并在Protégé打开了它。没有那么多的对象属性,但是有一个特性类,它有一个子属性链公理,它用于类表达式。

因此,feature是一个非简单的属性,因为它有一个属性链作为子属性,而且在ObjectExactCardinality类表达式中使用了feature,即,

特性类正是1的事情

这意味着GeoNames本体不是一个合法的OWL2DL本体。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21135179

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档