11

私はセマンティックWebに取り組んでいますが、疑問に思っています。次のような制限を記述するセマンティックに違いはありますか。

:Person
  a owl:Class ;
  rdfs:subClassOf
    [ a owl:Restriction ;
      owl:onProperty :hasParent ;
      owl:allValuesFrom :Person
   ] .

次のような範囲制限を記述します。

:hasParent rdfs:range :Person.

それは同じことを意味しているように私には思えます:親はタイプの人を持っている必要があります。違いはありませんか?

4

3 に答える 3

10

最初のスニペット:Personは、親を持つ人には必ず:Person-parentがあることを意味します。ただし、たとえば、に:Dogではない親がいる場合があります。:Person2番目のスニペットは、:Personこれが何であるかに関係なく、親を持つものには必ず-parentがあることを示しています。

krajolのコメントの後に編集:

最初のスニペットのallValuesFrom制限は、次のものと同等ではありません。

:hasParent  rdfs:domain  :Person;
            rdfs:range   :Person .

制限の場合allValuesFromでも、人ではない親がいる可能性があります。rdfs:domain/のrdfs:range組み合わせの場合はできません。制限付きでallValuesFrom、人には人の親がいて、犬には犬の親がいるなどと言うことができます。ドメイン/範囲ではできません。

于 2012-08-07T08:44:54.053 に答える
1

注目に値する別の違いがあります。クラスに複数のrdfs:range(またはrdfs:domain)トリプルがある場合、範囲またはドメインは、指定された範囲/ドメインの接続詞(交差)です。表現はあいまいですが、RDFS仕様この投稿を参照してください。

オントロジーで推論が実行される場合、指定された範囲/ドメインクラスのすべてのスーパークラスに対してrdfs:range/domainトリプルが推論されることがわかります。意味的には正しいですが、これは混乱を招くか、操作が難しい場合があります。これは、allValuesFromでは発生しません。

于 2014-10-08T18:11:37.927 に答える
0

(受け入れられた回答の本質が不足していることがわかったので、すでに回答された質問に回答を追加します。)

[ a owl:Restriction ;
    owl:onProperty :hasParent ;
    owl:allValuesFrom :Person
]

hasParent「述語の値(場合によってはなし)がタイプであるすべてのもののクラス」と読むことができますPerson

これPersonはこのクラスのサブクラスであると言うことで、このクラスのより特殊なバージョンであると言えます。したがって、 。の値としてPerson他のsのみを持つことができます。PersonhasParent

rdfs:rangeこれは、それ自体の有効なドメイン/範囲についてステートメントを作成しないためとは異なりhasParentます。アントワーヌの例をリサイクルするために、私たちはまだ言うことができます:

:dog1 a :Dog.
:dog2 a :Dog.
:dog1 :hasParent :dog2.
于 2016-12-01T11:07:17.150 に答える