2014-09-30 67 views
0

假設我有以下實例數據和屬性公理:貓頭鷹。對象屬性的聯盟

瑪麗hasChild約翰
本hasChild湯姆
瑪麗hasHusband本

hasHusbandChild:hasHusband及子彈; hasChild

我怎樣才能創建屬性hasChilds這樣的:

hasChilds:hasChild ⊔ hasHusbandChild

是真的嗎?

+0

你能說明你自己遇到了什麼問題嗎? – EWit 2014-09-30 19:25:27

+0

我如何構造推理輸出的這個對象屬性: Mary hasChilds John;
瑪麗有孩子湯姆;
2014-09-30 20:28:05

回答

2

OWL不支持工會的屬性,你可以說這樣的話

  1. p ≡ q ⊔ [R

但你可以得到的效果:

  1. q ⊔ r⊑ p

通過做兩個公理:

  • Q⊑ p
  •   r⊑ p
  • 現在,圖2是不一樣的1,因爲用1,你知道,如果P(X,Y),然後或者Q(X,Y)或R(X,Y),而對於2,在沒有q(x,y)或r(x,y)爲真的情況下,p(x,y)可以爲真。

    同樣,你不能在OWL限定屬性鏈等:

  • Q&子彈; ř≡ p
  • 但你上子屬性公理的左手側使用屬性鏈:

  • Q&子彈; r⊑ p
  • 兩者之間的差別,當然,是與6可以有P(X,Y)沒有x和y由Q&子彈被連接; r鏈。

    你不明白你在問什麼,但我想你試着要問的是,有沒有辦法說x的配偶的孩子也是x的孩子。你可以使用屬性鏈在OWL2中做到這一點,具體來說,

    hasSpouse• hasChild⊑ hasChild

    這等效於一階公理:

    &的forall; x,y,z :(hasSpouse(x,y)∧ hasChild(y,z))→ hasChild(X,Z)

    一些堆棧溢出等問題,都與此有關,並提供有關如何對這種公理添加到您的OWL本體更多的指導:

    作爲替代方法,您還可以將一階公理編碼爲SWRL規則。

    +1

    您可能意思是顛倒了所有子屬性公理。 q⊔r⊑p代替p⊑q⊔r,q⊑p代替p⊑q,r⊑p代替p⊑r,q•r⊑p代替p⊑q•r。 – 2014-11-14 21:26:26

    +0

    @AntoineZimmermann好,我認爲現在事情是固定的。 – 2014-11-14 21:35:57