首页 > 解决方案 > 创建类时如何更改标签

问题描述

因此,当有人在 Protegé 中创建某事物的子类时,它会产生以下结果:

:Wedding rdf:type owl:Class
     rdfs:subClassOf bruh:Event

鉴于“ bruh ”是我已经实例化的前缀,因为我正在重用一个本体。我怎样才能做更多这样的事情:

:Wedding rdf:type bruh:Ocurrence
     rdfs:subClassOf bruh:Event

由于“发生”是我正在重用的类?这与创建实例不同,对吧?

标签: rdfowlontologyprotege

解决方案


:Wedding rdf:type bruh:Ocurrence

这是一个实例的声明,带有 IRI :Wedding

:Wedding rdf:type owl:Class

这是一个类的声明,带有 IRI :Wedding

这称为双关语(即,对不同类别的实体使用相同的 IRI。正如 @ssz 在评论中提到的,这在 OWL 2 DL 中是允许的(类和个人可以共享 IRI,但不能共享属性 - 数据属性和对象属性不能共享 IRI,这将使本体 OWL 2 Full)。

但是,您应该期望这些作为单独的公理出现(subclassof 属性不会出现在描述实例的 XML 元素上,它会出现在类上)。

请注意,双关语的个人和类在逻辑上不相关,它们只是碰巧具有相同的名称。因此,重要的是要知道为什么要对它们进行双关语-您没有在问题中提到这一点,所以我想知道您是在尝试对实体进行双关还是试图描述两者之一-班级或个人.


推荐阅读