我希望這個問題不是微不足道的,我花了相當多的時間尋找答案。 我在OWL中創建一個本體,我一直試圖強制一個特定的約束到一個類的描述中,但是不能用OWL提供的工具來實現,並且在類的描述中使用了空節點作爲存在變量。 Protege5不喜歡它。 我想模擬空間和運動從一個空間到另一個空間的類,特別是我想模擬一個運動,其中的目標與起始空間具有相同的空間。 在邏輯我形容我InternalMovement類爲:強化身份的類定義中的空白節點
InternalMovement = forall ?x exist ?y (Movement(?x)^space(?x,?y)^direction(?x,?y))
在OWL變量不存在和執行整個類的描述空白節點的身份似乎並不可能。我訴諸空白節點,因爲它們應該被視爲存在變量,我希望使用空白節點ID會做到這一點。我錯了,我不知道如何建模這個簡單的類。 海龜片段是這樣的:
我會想到的是,以下的個人將被列爲InternalMovement,但顯然事實並非如此。
:internalmovement rdf:type :Movement ,
:space :room1 ;
:direction :room1 .
:room1 rdf:type :Space.
任何人都可以幫助我嗎? 謝謝
我不太明白你的僞定義:??????'InternalMovement = FORALL X存在Y(運動(X)^空間(X,Y)^方向(x,? Y))'。類表達式應該基本上是一個一元謂詞。例如,「Man(?x)= Male(?x)&Person(?x)'。你的意思是'InternalMovement(?x)= Movement(?x)&exists?y(space(?x,?y)^ direction(?x,?y))'其中Movement是一個類,空間和方向是屬性?不幸的是,OWL沒有屬性交集;如果是這樣,你可以說'存在?(空間&方向)(?x,?y)'。 – 2014-10-30 19:20:10
Hi @JoshuaTaylor,是的,我想用fol公式來表達OWL類的定義。不幸的是我都生鏽了。但那正是我想描述的。 – GCorrendo 2014-10-31 10:24:17