1

次のインスタンス データとプロパティ公理があるとします。

メアリーの子供ジョン・
ベンの子供トム・
メアリーの夫ベン

hasHusbandChild: hasHusband • hasChild

次のようなプロパティhasChildsを作成するにはどうすればよいですか。

hasChilds: hasChild ⊔ hasHusbandChild

本当ですか?

4

1 に答える 1

3

OWLは、次のようなことができる共用体プロパティをサポートしていません

  1. p ≡ q ⊔ r

ただし、次の効果を得ることができます。

  1. q ⊔ r ⊑ p

2つの公理を行うことによって:

  1. q ⊑ p
  2.  r ⊑ p

ここで、2 は 1 と同じではありません。1 の場合、p(x,y) の場合、q(x,y) または r(x,y) のいずれかであることがわかりますが、2 の場合、p(x,y) ) は、q(x,y) または r(x,y) が true でなくても true にすることができます。

同様に、次のようにOWLでプロパティチェーンを定義することはできません:

  1. q • r ≡ p

ただし、サブプロパティ公理の左側でプロパティ チェーンを使用します。

  1. q • r ⊑ p

もちろん、この 2 つの違いは、6 の場合、x と y が aq • r チェーンで接続されていなくても、p(x,y) を持つことができることです。

何を求めているのかよくわかりませんが、x の配偶者の子供が x の子供でもあると言う方法があるかどうかを尋ねようとしていると思います。プロパティチェーンを使用してOWL2でそれを行うことができます。具体的には

hasSpouse • hasChild ⊑ hasChild

これは、次の 1 次公理と同等です。

∀ x,y,z : (hasSpouse(x,y) ∧ hasChild(y,z)) → hasChild(x,z)

スタック オーバーフローに関する他の多くの質問がここに関連しており、この種の公理を OWL オントロジーに追加する方法について、より多くのガイダンスを提供します。

別の方法として、1 次公理を SWRL ルールとしてエンコードすることもできます。

于 2014-10-01T14:07:27.793 に答える