2017-04-07 93 views
0

我正在尋找一種方法來將對象屬性添加到給定類的所有實例。OWL,將屬性添加到類的所有實例

示例問題:

假設我定義了三個類。 Religious_Person Supreme_Being 基督教是Religious_Person的一個子類。

現在我想要一個Object屬性「致力」,它有一個Religous_Person域和一個Supreme_Being範圍。

我有三個基督徒的例子:馬克,鮑勃和凱茜。 我有一個Supreme_Being的實例:上帝。

現在我想說明馬克致力於神,鮑勃致力於神,凱茜致力於神。對於每個實例來說,這似乎很乏味,所以我想表達一下,基督徒班的每個實例默認都會奉獻上帝。現在,這可能有點令人困惑,因爲從這個例子來看,我似乎希望每個宗教人士只會致力於一個Supreme_Being,事實並非如此。

例子:

假設JackAndJillian是致力於既傑克和吉爾一個Religious_Person。所以我希望JackAndJillian的每個實例都能夠投入Jack和Jill(他們都是Supreme_Being的實例)。

感覺我覺得「致力於」應該是基督徒班的對象屬性,但是這是不可能的,因爲班級沒有屬性。

我使用protege來幫助自己構建一個本體,所以如果有一種方法,我可以用很好的方式表達這種情況。

回答

1
  1. 您可以在SubClassOf公理使用owl:hasValue(曼徹斯特OWL語法):

    Class: Christian 
        SubClassOf: Religious_Person and devotes value God 
    
  2. 沒有在OWL 默認值概念。 OWL中的推理是單調的,因此,您不能通過添加其他語句來刪除任何語句。

+0

感謝您的回答,我已經找到了類似的方法在這裏:http://stackoverflow.com/questions/29075078/is-it-possible-to-make-property-assertions-on-class-貓頭鷹級別2可能會被標記爲重複。 – Actaeonis

相關問題