2016-05-14 28 views
2

我有一些個人A,B,C,D,E和兩​​個屬性P1,P2。排除與某些特定反向屬性相關的個人

A P1 B 
C P1 D 
E P2 C 

我想建立一個類只有捕獲A但不是C.所以設置一類等,

  1. MyClass的EquivalentTo:(P1一些貓頭鷹:東西)和(P1僅貓頭鷹:事)
  2. myClass的EquivalentTo:(P1一些貓頭鷹:事)和(非逆P2有些貓頭鷹:事)

但所有這些嘗試都失敗了。我如何區分個人A和C?

回答

1

MyClass的EquivalentTo:(P1一些貓頭鷹:東西)和(P1僅貓頭鷹:東西),因爲該類表達確實相當於P1一些事情

失敗。由於個人是東西的一個實例,交點的右側真的不會添加任何東西。

myClass的EquivalentTo:(P1一些貓頭鷹:事)和(非逆P2有些貓頭鷹:事)

這是你給的描述實際上是正確的。你想要一些具有一定價值的個人P1(好),並且這是而不是其他個人的P2值。這是描述這一點的方式。

我認爲你所遇到的問題是,當你的數據集不同時包含形式的任何三元

        X P2之後

沒有什麼在本體論中說這樣的事情是不可能的。所以你不能確定A實際上有類型(不倒P2某些事)。這種現象被稱爲開放世界假設(OWA)。如果你搜索了這個,你會發現關於OWL中有關OWA的堆棧溢出的其他一些問題。見,例如:

在這種情況下,如果你想說,一個是不是有些其他人的P2值,你可能必須手動執行它,通過添加類型像:

        逆P2只貓頭鷹:沒有

一旦你這樣做,你會得到的結果你想要的:

the extra axiom

protege screenshot

相關問題