次のインスタンス データとプロパティ公理があるとします。
メアリーの子供ジョン・
ベンの子供トム・
メアリーの夫ベンhasHusbandChild: hasHusband • hasChild
次のようなプロパティhasChildsを作成するにはどうすればよいですか。
hasChilds: hasChild ⊔ hasHusbandChild
本当ですか?
次のインスタンス データとプロパティ公理があるとします。
メアリーの子供ジョン・
ベンの子供トム・
メアリーの夫ベンhasHusbandChild: hasHusband • hasChild
次のようなプロパティhasChildsを作成するにはどうすればよいですか。
hasChilds: hasChild ⊔ hasHusbandChild
本当ですか?
OWLは、次のようなことができる共用体プロパティをサポートしていません
- p ≡ q ⊔ r
ただし、次の効果を得ることができます。
- q ⊔ r ⊑ p
2つの公理を行うことによって:
- q ⊑ p
- 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でプロパティチェーンを定義することはできません:
- q • r ≡ p
ただし、サブプロパティ公理の左側でプロパティ チェーンを使用します。
- 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 ルールとしてエンコードすることもできます。