owl:hasValue
限制的含义是什么,它与owl:allValuesFrom
和owl:someValuesFrom
有什么区别?
在本体中,我想写一个公理说:“每个拥有文凭的机构都是有文化的。”
我该怎么写?
最佳答案
不同类型的限制类别
考虑一个个体x,一个类C,一个属性P和另一个个体y。然后,您可能会担心一些类表达式:
someValuesFrom
如果某个个体y使得P(x,y)是C的元素,则个体x是∃P.C类的元素。在曼彻斯特语法中,∃P.C被写为“ P some C”。
allValuesFrom
如果每个单独的y使得P(x,y)是C的元素,则x是∀P.C类的元素。在曼彻斯特语法中,∀P.C被写为“仅P C”。
hasValue
如果是P(x,y),则单个x是= P.y类的元素。在曼彻斯特语法中,= P.y被写为“ P值y”。
数据类型属性和对象属性的版本
在OWL中,存在将个人与个人相关联的对象属性,以及将个人与文字相关联的数据类型属性。结果,OWL实际上对于上面列出的每种构造都有两种类型的限制:一种是对象属性,另一种是数据属性。在2.2.3 Class Expressions建议的OWL 2 Web Ontology Language Direct Semantics (Second Edition)中正式列出了每一个的含义。
文凭公理
要编写表示“每个拥有文凭的人都是有文化的人”的OWL公理,您需要:
类LiterateThing,Person,Diploma
房产有文凭
公理将是
(Person⊓∃hasDiploma.Diploma)⊑LiterateThing
这就是说,如果一个人是一个人,并且拥有一定的文凭,那么他们就是有文化的。在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>