OWL双关语是否在语义上对待与SAME同名的班级和个人?

时间:2016-07-05 16:19:31

标签: semantics owl ontology protege owl-api

根据the original OWL definition of OWL DL,我们不能给一个类和一个人赋予相同的名称(这是OWL DL和OWL Full之间的明显区别)。 "Punning" is introduced in OWL 2并删除此限制。所以我可以给一个类和一个人(以及一个属性)同名。

OWL是否在语义上将它们视为相同或不同? (两者都有相同的名称,因此它们在语法上是相同的。)这些实体(具有相同的IRI)是同一个吗? [与OWL一样,一切只与IRI有关]

1 个答案:

答案 0 :(得分:6)

  

OWL是否将它们视为语义相同或不同? (两者都是   具有相同的IRI,语法相同)。简单来说,做这些实体   (具有相同的IRI)同一个? [与OWL一样,一切都是相关的   仅限IRI]

从您链接的文档(重点添加):

  

2.4.1 F12: Punning

     

OWL 1 DL要求严格区分,例如,   班级和个人。 OWL 2 DL略微放松了这种分离   允许使用相同术语的不同用途,例如Eagle   无论是阶级,所有老鹰的阶级,还是个人,都是   个体代表鹰属于(meta)类   所有植物和动物物种。但是,OWL 2 DL仍然存在   某些限制:它要求两个名称都不能使用   类和数据类型,名称只能用于一种类型   财产。 OWL 2 Direct Semantics处理的不同用途   与DL reasoners中所需的完全独立的 同名。

当讨价还价时,你可以使用相同的名称来指代不止一件事; IRI是一样的,但就是这样;事情仍然不同。如果你使用相同的IRI作为一个类的标识符,对于个人来说,那就是你所做的一切。有一个由IRI命名的类,并且有一个由IRI命名的个体;它们不是同一个东西,也不可能是同一个东西,因为阶级和个体是不同的东西。

例如,如果您有一个名为 x 的班级和一个名为 x 的个人,那么您可以说

之类的内容

(个人) x 与对象属性 p 的个人 y 相关

个人 y 是( x

>的元素

但你不能说,

个人 y 是(个人) x 的元素[因为个人没有元素,类会这样做]

(类) x 与对象属性 p 的个别 y 相关[因为对象属性不会将类与个体相关联,他们将个人与个人联系起来]

IRI实际上只是OWL中的名称,它们本身并不是实体。在OWL中使用Punning可以让你在混淆这些东西时混淆使用相同的名称。对于类和个体,它们是不同类型的东西,因此您可以重用名称,因为上下文将始终清楚地表明您的意思。