2014-06-12 96 views
1

在OWL2中,是否有一種方法可以指定如果某些屬性組合適用於實體之間,那麼隱式應用附加屬性也是如此?即,如果R(S,O)成立且P(S,O)成立,則Q(S,O)也成立。如何指定一組屬性意味着另一個屬性

我知道這是可能的類,但我無法找到一種方法來做到這一點與屬性。

例如,作爲一個有點人爲的例子,考慮屬性:is-older-than,:is-brother-of:is-older-brother-of。很顯然,如果前兩個持有兩個實體之間,第三個也持有,但我想告訴推理者自動應用該屬性,而不必指定它。

這與owl:propertyChainAxiom類似,因爲它指定了隱式屬性。在這種情況下,隱式屬性的規則是不同的。另外,如果一個屬性可以隱含基於對象的主體類型,我想我也可以得到我想要的。舉例來說,如果我有一個屬性:performs-with和子屬性:rocks-out-with,和我有一個類:Band和子類:RockBand,我想說,如果一個:performs-with財產的對象是:RockBand,那麼:rocks-out-with財產也應該適用。

回答

1

這被稱爲屬性交集。如果

R(s,o)∧ S(s,o)→ P(S,O)

,那麼你的意思是說

[R ⊓ S⊑ P

你絕對是對的,支持類。雖然它在屬性OWL2中不受支持。一些描述邏輯具有相交(和其他)角色構造函數,但不是OWL2所基於的構造函數。不過,還有一些工作可以支持。例如,參見Cheap Boolean Role Constructors for Description LogicsAppendix 1: Description Logic Terminology描述邏輯手冊還提供了可能被描述邏輯(p.499)支撐作用的構造的列表:

role constructors

OWL2支持其中的一些。頂部和底部屬性是通用角色(及其補充)。它也支持反向。你通過產業鏈得到了一些的成分。

相關問題