封闭实例公理,以便推理机可以正确地将实例分类为本体 [英] Closure axiom for instances so that reasoner can correctly classify instances in ontology

查看:120
本文介绍了封闭实例公理,以便推理机可以正确地将实例分类为本体的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我是本体论领域的地理学家和新来者,试图从这两者中讲出道理.因此,我创建了一个简单的本体,如下所示:

I am a geographer and a new comer in the field of ontology trying to make sense out of these two. Therefore, I have created a simple ontology, as follows:

Thing
    Feature
        Lane
        Segment(equivalent to Arc)
    Geometry
        Arc (equivalent to Segment)
        Node
            Dangling_Node
            Intersection_node

您可以找到.owl file

you can find the .owl file here instantiated with a very simple spatial road dataset (fig1).

在没有实例的情况下,本体是一致的,但是当我运行推理程序时,Dangling_node实例(连接到一个链接或弧的节点)未正确分配给相关子类,而仅分配给Node超类.正确分配了交集节点(连接到多个链接的节点)实例.

the ontology is consistent without and with instances, but when I run the reasoner, the Dangling_node instances (nodes that are connected to one link or arc) are not correctly assigned to the relevant subclass and only assigned to the Node superclass. The intersection_node (the node which is connected to more than one link) instances are correctly assigned.

我想根据开放世界的假设,推理者认为该节点可能是另一个弧的"is_extent_of",但此处未提及.

I guess according to the open world assumption, the reasoner considers that the node might be 'is_extent_of' another Arc but just not mentioned here.

我是否需要或有一个实例的闭合公理? 我的本体实现的哪一部分是错误的?

Do I need, or how could I have, a closure axiom for the instance? Which part of my ontology implementation is wrong?

Equivalent to:
    Node and (is_extent_of max 1 Arc)
Subclass of (Anonymous Ancester):
    (is_extent_of only Arc) and (is_extent_of min 1 Arc)

Dangling_node的通用类公理如下:

the General Class Axiom for the Dangling_node is as follows:

Node and (is_extent_of max 1 Arc) SubClassOf Dangling_node

推荐答案

Dangling_node实例(连接到一个链接或 弧)分配不正确

the Dangling_node instances (nodes that are connected to one link or arc) are not correctly assigned

您需要断言是对的,然后是不对的.例如,由于Node_005仅连接到Arc_004,因此您需要这样说:

You'd need to assert what's true, and then what's not true. For instance, since Node_005 is connected to just Arc_004, you'd need to say something like this:

(1)        connectedTo(Node_005,Arc_004)

(1)        connectedTo(Node_005,Arc_004)

(2)       {Node_005}⊑ ∀ connectedTo.{Arc_004}

(2)        {Node_005} ⊑ ∀connectedTo.{Arc_004}

(1)表示该节点实际上已连接到弧. (2)说节点连接到的所有东西都是类{Arc_004}的一个元素,也就是说,它连接到的 only 东西就是那个弧.然后,您会得到一个公理,说如果某事物最多连接到一个弧,则它是一个悬空节点:

(1) says that the node is actually connected to the arc. (2) says that everything that the node is connected to is an element of the class {Arc_004}, that is, that the only things it's connected to is that arc. Then, you'd an axiom that says that if something is connected to at most one arc, then it's a dangling node:

(3)      (≤ thinsp; connectedTo.1)⊑ DanglingNode

(3)        (≤ connectedTo.1) ⊑ DanglingNode

(3)是一般类公理.您可以在Protege中输入这些内容,但是UI并不明显.请参阅此答案以了解有关如何创建这些答案的更多信息.

(3) is a general class axiom. You can enter those in Protege, but the UI doesn't make it obvious. See this answer for more about how to create those.

这是Protege中的外观(除了代替普通类公理(3)之外,我只是将 Dangling 等效设置为 connectedTo精确为1 ):

Here's what this looks like in Protege (except that instead of the general class axiom (3), I just made Dangling equivalent to connectedTo exactly 1):

这篇关于封闭实例公理,以便推理机可以正确地将实例分类为本体的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆