[英]OWL restrictions for must
我對OWL很新,還在學習限制。 我試圖模擬這些陳述:
到目前為止,我已將其建模為:
P -> canBe -> M
P -> canBe -> F
M <- disjoint -> F
F -> has (>= 1) -> D
我很困惑如何添加一個人必須是男性或女性的限制以及如何表明男性沒有衣服。 我也不確定我的模型,並會感謝任何反饋。
通常,可以有不同的方式來實現相同的目標。 這意味着以下答案不一定是唯一的可能性,但它們是我想到的第一個。
1.人(P)可以是男性(M)或女性(F),但不是兩者。
2.一個人必須是男性或女性。
對於這兩個陳述,需要做出重要的建模決策。 男性和女性是Person類的每個子類,或者您是否使用某些屬性,例如hasSex將人與性別聯系起來? 如果您正在使用子類方法,那么您可以通過聲明它來實現
人是男性和女性的脫節聯盟。
這意味着Person的每個實例都是Male的實例或Female的實例,並且Male和Female類是不相交的,因此沒有什么是兩者的實例。 (當然,如果你能談論男性和女性的非人事,那么你就不會想要完全使用這種方法。)
如果您正在使用像hasSex這樣的屬性,那么它可以是對象屬性或數據屬性。 在第一種情況下,你需要一個男性和女性兩個人的性別 ,並且你聲明他們彼此不同,你可以使hasSex成為一個功能屬性,並聲明它的范圍是類性別 。 當然,其中一些取決於您的類和屬性的一般程度。 如果您沒有聲明屬性的范圍,那么您仍然希望使用某種限制類作為Person的超類。 例如,
人⊑= 1 hasSex。{男,女}
人⊑⊑hasSex。{男,女}
這些公理說每個人只有一個來自{male,female}的值作為* hasSex *屬性的值,並且一個人對hasSex的每個值都必須來自{male,female}。
男性沒穿連衣裙
女性至少有一件衣服(D)
如果你正在使用一般的具有不僅僅適用於連衣裙的屬性(例如,僅適用於連衣裙的hasDress屬性),並且你有一個連衣裙類,這些只是:
男⊑= 0 has.Dress
女⊑≥1has.Dress
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.