不同类型的限制类别
考虑一个个体 x、一个类 C、一个属性 P 和另一个个体 y。然后有一些听起来您关心的类表达式:
一些值来自
单个 x 是类 ∃P.C 的元素,如果some个体 y 使得 P(x,y) 是 C 的一个元素。在曼彻斯特语法中,∃P.C 被写为“P some C”。
所有值来自
单个 x 是类 ∀P.C 的元素,如果every每个单独的 y 使得 P(x,y) 是 C 的元素。在曼彻斯特语法中 ∀P.C 被写为“P only C”。
hasValue
如果是 P(x,y),则单个 x 是类 =P.y 的元素。在曼彻斯特语法中 =P.y 写为“P 值 y”。
数据类型属性和对象属性的版本
在 OWL 中,存在将个体与个体相关联的对象属性,以及将个体与文字相关联的数据类型属性。因此,OWL 实际上对上面列出的每种构造都有两种类型的限制:一种针对对象属性,另一种针对数据属性。其中每一个的含义都在中正式列出2.2.3 类表达式 http://www.w3.org/TR/2012/REC-owl2-direct-semantics-20121211/#Class_Expressions of the OWL 2 Web本体语言直接语义(第二版) http://www.w3.org/TR/owl2-direct-semantics/推荐。
文凭公理
要编写一个 OWL 公理来表达“每个拥有文凭的人都是有文化的”,您需要:
- 课程识字之物, Person, Diploma
- 财产有文凭
公理是
(人⊓ ∃hasDiploma.Diploma)⊑识字之物
这表明,如果一个人是一个人,并且拥有一定的文凭,那么他就是有文化的。在 OWL 的 RDF 序列化中(您将开始看到您提到的限制类),这在 Protégé OWL 编辑器和 RDF/XML 中看起来像这样:
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns="http://example.org/literacy#"
xmlns:owl="http://www.w3.org/2002/07/owl#"
xmlns:xsd="http://www.w3.org/2001/XMLSchema#"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#">
<owl:Ontology rdf:about="http://example.org/literacy"/>
<owl:Class>
<rdfs:subClassOf>
<owl:Class rdf:about="http://example.org/literacy#LiterateThing"/>
</rdfs:subClassOf>
<owl:intersectionOf rdf:parseType="Collection">
<owl:Class rdf:about="http://example.org/literacy#Person"/>
<owl:Restriction>
<owl:onProperty>
<owl:ObjectProperty rdf:about="http://example.org/literacy#hasDiploma"/>
</owl:onProperty>
<owl:someValuesFrom>
<owl:Class rdf:about="http://example.org/literacy#Diploma"/>
</owl:someValuesFrom>
</owl:Restriction>
</owl:intersectionOf>
</owl:Class>
</rdf:RDF>