owl:allValuesFrom和rdfs:范围差异

kra*_*jol 9 owl rdfs semantics

我正在研究语义网,我想知道:写一个限制的语义是否有任何区别:

:Person
  a owl:Class ;
  rdfs:subClassOf
    [ a owl:Restriction ;
      owl:onProperty :hasParent ;
      owl:allValuesFrom :Person
   ] .
Run Code Online (Sandbox Code Playgroud)

并编写范围限制,如:

:hasParent rdfs:range :Person.
Run Code Online (Sandbox Code Playgroud)

在我看来,它意味着相同:父母必须有一种人.没有任何区别吗?

Ant*_*ann 9

第一个片段表示:Person拥有父母的人必须拥有:Person-parent.但是,例如,a :Dog可能有父母不是a :Person.第二个片段说任何有父母的东西都必须有一个:Person父母,不管这是什么东西.

在krajol的评论之后编辑:

allValuesFrom一个代码段的限制不等同于:

:hasParent  rdfs:domain  :Person;
            rdfs:range   :Person .
Run Code Online (Sandbox Code Playgroud)

allValuesFrom限制的情况下,仍然可能有父母不是人.在rdfs:domain/ rdfs:range组合的情况下,这是不可能的.有allValuesFrom限制,可以说人有父母,狗有狗父母等.有域/范围,你不能.