2016-11-30 68 views
0

如果我的問題太基本了,但是在一段時間尋找答案之後,我無處可去,但是在這裏,我很抱歉。如何在OWL2中聲明一個自定義類關係

假設本體中的(在OWL 2文件表示)以下類別:

<owl:Class rdf:ID="ClasseOne"> 
</owl:Class> 

<owl:Class rdf:ID="ClasseTwo"> 
</owl:Class> 

什麼我是ClassOne 1000個實例和ClassTwo 5000個實例。在我的現實所有ClassOne實例是以相同的方式相關(假設關係被命名爲「isRelatedTo」)到所有ClassTwo的實例。

我的想法是聲明一個類關係,並在聲明ClassOne中使用它,而不是在每個ClassOne實例中聲明一個ObjectProperty。

如何做到這一點?

在此先感謝!

+0

本體中的關係應該用對象屬性表示。 –

+0

本體論中的關係描述了個體彼此相關的方式。關係通常可以直接在個人之間表達(本文有作者菲利普•洛德)或概念之間(一篇文章有​​作者一個人);在後一種情況下,這描述了概念的所有個體之間的關係。 –

+0

@ M.Sarmini:謝謝你的回覆。是的,這也是我的理解,但你能想象有1000個人擁有5000個ObjectProperties嗎?如果我必須將'ClassOne'的每個實例與'ClassTwo'的其他5000個實例關聯起來,那將會發生什麼。我正在尋找的是一種關聯類的方法,因此所有的個人都會隱式地分享這些關係,就像發生在例如'rdfs:subClassOf'中一樣。所以,你說的是:沒有辦法完成我想要的。是這樣嗎? – AlexSC

回答

2

類與OWL中的屬性無關,除了包含/等價。通常,A類別的個人與類別的個人有關,其性質爲p,例如, A(a1), B(b1), p(a1, b1)陳述個人的個人a1p有關聯到類別B的個人b1

通過使用OWL類表達式作爲超類的子類公理,您可以表達與A的任何個人關係爲p的關係。

Class: A SubClassOf: p some B

(曼徹斯特OWL語法在這裏)

注意,這並不一定意味着周圍的其他方式,即方向問題。

+0

感謝您的回答。如果我理解正確,那麼上面描述的是'A'(a1,a2,a3,...)的所有實例都與'B'(b1,b2,b3,...)的所有實例隱式相關。是嗎?是'ObjectProperty'嗎? – AlexSC

+0

因此,'p一些B'作爲一個匿名類在這裏工作。是對的嗎?如果我需要其他類的相同行爲會怎麼樣?像「A」的所有個體都與「B」,「C」和「D」的所有個體隱含相關?我可以在這裏有多重繼承嗎? – AlexSC

+0

@AlexSC是的,p是我例子中的一個對象屬性。是的,這是一個匿名課程。是的,您可以添加多個子類語句或使用交叉點'(p some B)和(s some some C)and ...' – AKSW

相關問題