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

时间:2016-07-05 18:11:57

标签: rdf semantics owl ontology reification

Punning(which was introduced in OWL 2 DL)允许一个人给一个Class和一个Object Property赋予相同的名字(IRI)(见Association Example)。

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

例如,关系drives连接PersonVehicle。我想指定驱动velocity的{​​{1}},此属性属于Vehicle。 Punning允许我通过指定类和名为drives的对象属性来将drives建模为关联类。我猜这将允许我以某种方式拥有与它们相关的数据属性的对象属性。

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

1 个答案:

答案 0 :(得分:3)

  Punning(在OWL 2 DL中引入)允许人们提供相同的内容   名称(IRI)到类和对象属性(请参阅关联   实施例)。

     

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

据我所知,你可以为类和属性使用相同的IRI,但我认为它不会真正帮助你进行那种你正在寻找的元建模。

  

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

具有相同的IRI表示一个类和一个属性在这里没有真正的帮助。听起来你想要的是一种具体的关系。你想用以下的方式表示:

person42 drives driving74  
driving74 hasVehicle vehicle89  
driving74 hasVelocity 88.8

这是最典型的做法。如果您真的想要,可以使用驱动器来命名一个类,并且可以使 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

你可以做到这一点,也许这会让连接对某些用户更加明显,不过在我的意见中,它并没有真正有用,而且可能会让事情变得更加混乱。