正确使用owl:someValue?

时间:2014-01-31 15:22:54

标签: rdf semantic-web owl ontology

如果我们想说每本有书的东西都是读写能力,这是否是OWL本体中的正确表示?

<owl:Class rdf:about="#literacy">
  <owl:equivalentClass>
      <owl:restriction>
        <owl:onProperty rdf:recource="#has"/>
        <owl:someValue rdf:recource="#book"/>
      </owl:restriction>
  </owl:equivalentClass>
</owl:Class>

1 个答案:

答案 0 :(得分:1)

这似乎与您之前的问题Meaning of owl:hasValue?有关。没有属性owl:someValue,因此,您显示的代码不是合法的OWL类表达式。我假设你试图编写这个公理的OWL版本:

  

识字≡∃has.Book(或者,在曼彻斯特句法中:识字 equivalentTo some Book))

这对我来说没有意义,我认为这可能是英语的一个问题; “识字”是“能够阅读”的状态。能够阅读的人识字;他们拥有读写能力的品质。谈论LiterateThing这个概念,即识别的东西,会更有意义。如果这就是你的意思,那么你可以写出公理

  

Literate≡∃has.Book(或者,在曼彻斯特句法:Literate equivalentTo some Book))

这是你可以写的公理,但看起来有点令人惊讶,因为它不是真的 true ;有很多有文化的东西没有书,而且有很多东西都有书不懂。您可能对子类公理更感兴趣,例如

  

人⊑⊑has.Nose

说每个人都有鼻子。但是,不正确表示

  

人≡∃has.Nose

因为有些东西的鼻子不是人(例如狗)。