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
连接 Person
和 Vehicle
。我想指定驱动Vehicle
的velocity
,而这个属性属于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
你可以这样做,也许它会让某些用户更容易理解这种联系,但在我的 意见 中,它并没有那么有用,而且可能只会让事情变得更糟更混乱。
双关语 (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
连接 Person
和 Vehicle
。我想指定驱动Vehicle
的velocity
,而这个属性属于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
你可以这样做,也许它会让某些用户更容易理解这种联系,但在我的 意见 中,它并没有那么有用,而且可能只会让事情变得更糟更混乱。