在OWL中表示UML图

时间:2016-07-06 12:48:11

标签: uml owl ontology protege

我有两个类车辆拥有作为他们之间的关系。

enter image description here

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

2 个答案:

答案 0 :(得分:4)

  

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

如果这是域模型,则UML不会捕获它。您所描述的是购买或所有权实体具有一些额外属性,更像是

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

这与我之前的问题Can OWL punning help in defining data properties on object property?中描述的方法基本相同。没有办法潜入"潜入"关于关系的元数据;你必须明确表达。

答案 1 :(得分:3)

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