2016-07-06 22 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?所述相同的方法。沒有辦法「偷偷摸摸」關於關係的元數據;你必須明確。