OWL 双关是否有助于定义对象 属性 的数据属性?

Can OWL punning help in defining data properties on object property?

双关语 (which was introduced in OWL 2 DL) allows one to give the same name (IRI) to a Class and an Object Property (see Association Example).

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

例如,关系 drives 连接 PersonVehicle。我想指定驱动Vehiclevelocity,而这个属性属于drives。双关允许我通过指定 class 和名为 drives 的对象 属性 将 drives 建模为关联 class。我猜这会让我拥有以某种方式与数据属性相关联的对象属性。

我想知道这是否是正确的处理方式。我错过了什么吗?

Punning (which was introduced in OWL 2 DL) allows one to give the same name (IRI) to a Class and an Object Property (see Association Example).

Can I use this way of meta-modelling to attach attributes on a relation?

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

For instance, the relation drives connects Person and Vehicle. I want to specify the velocity with which the Vehicle is driven, and this property belongs on drives. Punning allows me to model drives as an association class by specifying both a class and an object property named drives. I'm guessing this would allow me to have object properties that have data properties associated with them somehow.

用相同的 IRI 表示 class 和 属性 在这里并没有多大帮助。听起来您想要的是一种具体化的关系。你想用这样的方式表示它:

person42 drives driving74  
driving74 hasVehicle vehicle89  
driving74 hasVelocity 88.8

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

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

你可以这样做,也许它会让某些用户更容易理解这种联系,但在我的 意见 中,它并没有那么有用,而且可能只会让事情变得更糟更混乱。