2012-08-13 53 views
1

我實際上正在嘗試創建一個RDFS模型,並想知道是否有辦法聲明一個類來擁有一個實例。這可能在RDFS中設計一個單例嗎?

設計的方案是針對一種圖形,我想將單個節點設計爲「root」。我應該使用子類還是屬性?我知道OWL提供了更多的語義詞彙,但我打算保持「基本」。

回答

4

不,你不能在RDFS中這樣做。我也不確定這是否有用。只需定義你的類並聲明單一資源具有該類作爲它的類型。聲稱沒有其他類型的資源有什麼好處?

+0

我確實沒有看到任何好處,但我很好奇...... – Vinze 2012-08-15 21:34:10

3

我的印象是,閱讀你的「用例」,你寧願喜歡功能性的屬性:hasRoot,這樣一個東西只能有一個根。作爲cygri說,這不能在純RDFS完成,但OWL的一個簡單的片段是足夠了:

:hasRoot a owl:FunctionalProperty . 

然後,對於給定的實體x,只能有一個單一的實體y使得關係x :hasRoot y成立。然後,如果你有以下數據:

:x :hasRoot :y . 
:x :hasRoot :z . 

可以得出這樣的結論:

:y owl:sameAs :z . 

然而,在大多數情況下,不需要這種推理,什麼cygri建議​​是充分的,更簡單,只要您的應用程序確保定義了單個根即可。