2016-07-06 63 views
0

UML图我有两个类车辆拥有它们之间的关系。代表OWL

enter image description here

他们之间1 to many关系就像一个人可以拥有许多车辆。人具有属性“名称”(人名),车辆也具有属性“名称”(品牌名称)。 问题是如何使用protege编辑器在OWL中对此进行建模? 如果在'拥有'关系上有'DateOfPurchase'的属性如何在OWL中表示这个?

回答

2

OWL中的对象属性描述个体之间的关系,而不是类之间的关系。这是一个“借来的”URI,没有别的。所以,你需要的是将每个陈述如:PersonA :owns :VehicleB。 RDF允许,但是Protégé没有。所以,这里有一个解决方法:

创建两个对象属性:hasSubjectOfOwns:hasObjectOfOwns,并为你需要描述dateOfPurchase每一种情况下,您可以定义代表的发言是个人,并断言:

:AownsB :hasSubjectOfOwns :PersonA; :hasObjectOfOwns :VehicleB; :dateOfPurchase "2014-10-01"^^xsd:date

开始你需要创建一个属性链,在Protégé看起来像这样: inverse (hasSubjectOfOwns) o hasObjectOfOwns SubPropertyOf owns

+0

谢谢你的详细阐述。它工作正常 – SuhasD

4

如果在'拥有'关系中有一个属性说'DateOfPurchase' 如何在OWL中表示这个?

如果这是领域模型,那么UML不会捕获它。什么你所描述的是,有一个购买或拥有实体与一些额外的属性,更像

+--------+  +-----------+ +---------+ 
| Person | → * | Ownership | → | Vehicle | 
+--------+  +-----------+ +---------+ 
       | date  | 
       +-----------+ 

这基本上是我在你刚才的问题,Can OWL punning help in defining data properties on object property?所述相同的方法。没有办法“偷偷摸摸”关于关系的元数据;你必须明确。