2013-11-24 33 views
-2

我正在研究一個本體,並且我正在討論定義一些概念的最佳方法。爲了讓我的問題更容易表達,我會舉一個例子。OWL/Protege - 定義一個涉及計數的概念特徵

假設我對定義足球概念感興趣,並說它需要2支球隊。我有2種方法:

  1. 定義hasTeam對象屬性和Team類並進行Football的子類:

    hasTeam正好2隊

  2. 定義teamCount數據屬性並使Football的一個子類:

    teamCount值2

它們各自的優點和定義的本體時可能是更好的方法嗎?

回答

2

第一個解決方案允許您指定哪些球隊參與足球(我認爲是足球比賽),而第二個解決方案不允許這樣做 - 它只是整數數據範圍的一個限制,你的財產是2.

我會去的第一個解決方案,因爲第二個基本上減少了數據屬性到一個標記 - 因爲只有一個可能的值,它的存在相當於個人它應用於屬於一個類,並允許較少的信息進行建模。 但它確實取決於您的其他要求。

+0

嗯...感謝您的信息。如果我將足球作爲一個概念而不是特定的比賽來談論,那麼一切都保持不變?也許一個更好的例子應該是'Human','hasFoot正好是2英尺','footCount的值2'。 –

+1

我認爲我的觀點對於腳的例子會保持不變,就像在第一種方法中,您可以獨立解決右腳和左腳的問題(可能有一些不適用於另一方的問題,比如醫療條件),而在第二種情況下,你不能。最終的選擇實際上取決於你打算如何使用本體。 – Ignazio