OWL 双关语可以帮助定义对象属性的数据属性吗?

Posted

技术标签:

【中文标题】OWL 双关语可以帮助定义对象属性的数据属性吗?【英文标题】:Can OWL punning help in defining data properties on object property? 【发布时间】:2016-11-07 16:13:19 【问题描述】:

双关语 (which was introduced in OWL 2 DL) 允许为类和对象属性赋予相同的名称 (IRI)(请参阅 Association Example)。

我可以使用这种元建模方式在关系上附加属性吗?

例如,关系drives 连接PersonVehicle。我想指定驱动Vehiclevelocity,并且该属性属于drives。双关语允许我通过指定名为drives 的类和对象属性将drives 建模为关联类。我猜这将允许我拥有以某种方式与它们关联的数据属性的对象属性。

我想知道这是否是正确的做法。我错过了什么吗?

【问题讨论】:

properties 上的属性仅限于注解属性,不能引用断言。您可以使用此信息对断言公理进行注释,但您仍然仅限于注释,而不是数据类型断言。 【参考方案1】:

双关语(在 OWL 2 DL 中引入)允许人们给出相同的 名称 (IRI) 到类和对象属性(请参阅关联 示例)。

我可以使用这种元建模方式将属性附加到 关系?

据我所知,您可以对类和属性使用相同的 IRI,但我认为它不会真正帮助您实现所需的元建模。

例如,关系驱动连接人和车辆。我想要 指定车辆行驶的速度,并且此 财产属于驱动器。 Punning 允许我将驱动器建模为 通过指定类和对象属性来关联类 命名驱动器。我猜这会让我有对象 以某种方式与它们关联的数据属性的属性。

具有相同的 IRI 表示一个类和一个属性在这里并没有真正的帮助。听起来你想要的是一种物化的关系。您可能希望以如下方式表示:

person42 drives driving74  
driving74 hasVehicle vehicle89  
driving74 hasVelocity 88.8

这确实是最典型的方法。如果你真的想要,你可以使用 drives 来命名一个类,并且你可以将 driving74 作为该类的一个实例,这可能会向用户暗示它们之间存在某种联系他们。也就是说,您可以将架构设置为:

drives a owl:Class  
hasVehicle rdfs:domain drives 
hasVehicle rdfs:range Vehicle   
hasVelocity rdfs:domain drives  
hasVelocity rdfs:range Velocity

drives a owl:ObjectProperty  
drives rdfs:domain Person  
drives rdfs:range drives

您可以这样做,也许这会使某些用户更清楚地看到这种联系,但在我的意见中,这并不是真的很有帮助,而且可能只会让事情变得更加混乱。 p>

【讨论】:

以上是关于OWL 双关语可以帮助定义对象属性的数据属性吗?的主要内容,如果未能解决你的问题,请参考以下文章

OWL 对象属性双向

OWL 对象属性域/范围限制到同级类

OWL 不同类的相同对象属性

jQuery Owl Carousel:无法读取未定义的属性“克隆”

OWL:如何从超类继承两个类之间的属性关系?

memcpy 可以用于类型双关语吗?