因此,当有人在 Protegé 中创建某事物的子类时,它会产生以下结果:
:Wedding rdf:type owl:Class
rdfs:subClassOf bruh:Event
鉴于“ bruh ”是我已经实例化的前缀,因为我正在重用一个本体。我怎样才能做更多这样的事情:
:Wedding rdf:type bruh:Ocurrence
rdfs:subClassOf bruh:Event
由于“发生”是我正在重用的类?这与创建实例不同,对吧?
: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 元素上,它会出现在类上)。
请注意,双关语的个人和类在逻辑上不相关,它们只是碰巧具有相同的名称。因此,重要的是要知道为什么要对它们进行双关语-您没有在问题中提到这一点,所以我想知道您是在尝试对实体进行双关还是试图描述两者之一-班级或个人.