实例的闭包公理,以便推理器可以正确地对本体中的实例进行分类

时间:2015-05-21 12:44:59

标签: instance classification owl ontology reasoning

我是一名地理学家,也是本体领域的新成员,试图理解这两者。因此,我创建了一个简单的本体,如下:

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

您可以找到使用非常简单的空间道路数据集实例化的.owl file here(图1)。 enter image description here

本体在没有实例的情况下是一致的,但是当我运行推理器时,Dangling_node实例(连接到一个链接或弧的节点)没有正确地分配给相关的子类,只被分配给Node超类。正确分配了intersection_node(连接到多个链接的节点)实例。

我想根据开放世界的假设,推理者认为节点可能是'is_extent_of'另一个弧,但这里没有提到。

我是否需要,或者我怎么能拥有该实例的闭包公理? 我的本体实现的哪一部分是错误的?

已编辑:

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的通用类公理如下:

Node and (is_extent_of max 1 Arc) SubClassOf Dangling_node

1 个答案:

答案 0 :(得分:2)

  

Dangling_node实例(连接到一个链接或节点的节点)   arc)未正确分配

你需要断言什么是真的,然后才是真的。例如,由于Node_005只连接到Arc_004,你需要说出这样的话:

(1)connectedTo(Node_005,Arc_004)

(2){Node_005}⊑⊑connectedTo。{Arc_004}

(1)表示节点实际连接到弧。 (2)表示节点所连接的所有内容都是类{Arc_004}的一个元素,也就是说,它所连接的唯一事物就是那个弧。然后,你有一个公理,说如果某个东西最多连接到一个弧,那么它就是一个悬空节点:

(3)(≤connectionTo.1)⊑DanglingNode

(3)是一般类公理。您可以在Protege中输入这些内容,但UI不会显而易见。有关如何创建这些内容的详情,请参阅this answer

以下是Protege中的内容(除了通用类公理(3)之外,我只是将悬空 等效改为 connectedTo正好1 < /强>):

Dangling的类定义

class definition for Dangling

关于Node的公理

individual axioms for Node

推理器的结果(节点悬空)

Dangling inferred by reasoner