Search code examples
umlowlontologyprotege

Represent UML diagram in OWL


I have two classes Person and Vehicle having owns as relation between them.

enter image description here

There is 1 to many relation between them like one person can own many vehicles. Person has attribute 'name' (person name) and vehicle also has attribute 'name' (brand name). Question is how to model this in OWL using protege editor? If there is an attribute on 'owns' relation saying 'DateOfPurchase' how to represents this in OWL ?


Solution

  • Object properties in OWL describe relation between individuals, not between classes. It is a "borrowed" URI, nothing else. So, what you need is to reify each statement such as :PersonA :owns :VehicleB. RDF allows that, however Protégé does not. So, here's a workaround:

    You create two object properties :hasSubjectOfOwns and :hasObjectOfOwns, and for each case you need to describe dateOfPurchase, you define an individual representing the statement, and assert :

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

    Initially you'd need to create a property chain, which in Protégé would look like that: inverse (hasSubjectOfOwns) o hasObjectOfOwns SubPropertyOf owns