【问题标题】:Represent UML diagram in OWL在 OWL 中表示 UML 图
【发布时间】:2016-11-08 12:42:45
【问题描述】:

我有两个类 PersonVehicleowns 作为它们之间的关系。

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

【问题讨论】:

    标签: uml owl ontology protege


    【解决方案1】:

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

    如果那是域模型,那么 UML 不会捕获它。您所描述的是有一个带有一些附加属性的购买或所有权实体,更像

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

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

    【讨论】:

      【解决方案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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-05-29
        相关资源
        最近更新 更多