簡體   English   中英

通過owl max限制保護意外行為

[英]Protege unexpected behavior with owl max restriction

我正在Protégé建模甜點中創建本體。 有兩個主要的基本類,甜點和成分,以及一個hasIngredient屬性來連接它們。 一個甜點的例子如下:

NeapolitanIceCream subclass of Dessert
    hasIngredient exactly 1 IceCream
    hasIngredient exactly 1 wafers
    hasIngredient only (IceCream or Wafers)

我有2個原始類SimpleDessert和ComplexDessert

SimpleDessert subclass of Dessert and (hasIngredient max 3 Ingredient)

ComplexDessert subclass of Dessert and (hasIngredient min 5 Ingredient)

當我運行推理程序時,SimpleDessert(min)的性能符合預期,但是ComplexDessert(max)沒有子類。 我對開放世界原則的理解認為,恰好1子句和only子句清楚地表明只有這兩種可能的成分,數量也很明確。 我可能缺少明顯的東西,但希望在此提供任何幫助。

該公理可能並不意味着您想要的意思:

甜點和(具有最多3種成分的成分)的SimpleDessert子類

這表示“如果 某物是一個SimpleDessert, 那么它是一個甜點,並且最多具有三個成分。 不是”如果 某物是一個Dessert,並且它最多具有三個成分, 那么它就是一個SimpleDessert。”

我想說后者,那么您就需要另一個方向的子類公理:

甜品⊓≤3 hasIngredent.Ingredient⊑SimpleDessert

在Protege中,您可以使用General Axioms選項卡進行此操作。 (有關示例和屏幕截圖,請參見owl protege的 回答如何描述一個僅具有某些屬性的類?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM