OWL学习笔记
来源:互联网 发布:linux脚本判断语句 编辑:程序博客网 时间:2024/06/18 13:33
<owl:Ontology rdf:about=""> //关于owl本体的声明,为空表示使用owl:Ontology的基准URI
<rdfs:comment>An example OWL ontology</rdfs:comment> //注释
<owl:priorVersion //版本控制
rdf:resource="http://www.w3.org/TR/2003/PR-owl-guide-20031215/wine"/>
<owl:imports //其他本体的嵌入,接受rdf:resource的参数
rdf:resource="http://www.w3.org/TR/2004/REC-owl-guide-20040210/food"/>
<rdfs:label>Wine Ontology</rdfs:label> //对自然语言进行标注
...
</owl:Ontology>
<owl:Class rdf:ID="Winery"/>
<owl:Class rdf:ID="Region"/>
<owl:Class rdf:ID="ConsumableThing"/>
注意:我们只是说这里有三个具有指定名称(通过语法“rdf:ID=”)的类。形式上,即使我们使用了熟悉的英语单词作为标签,但我们除了知道这些类的存在以外,仍不了解任何其他关于它们的信息。而这些类尽管存在,但它们可能没有成员。就所有目前我们所知道的信息而言,将这些类分别命名为Thing1、Thing2和Thing3与命名为上述名称没有什么区别
<owl:Class rdf:ID="PotableLiquid">
<rdfs:subClassOf rdf:resource="#ConsumableThing" />
...
</owl:Class>
如果一个属性 P 被声明为传递属性,那么对于任意的 x,y 和 z: P(x,y) 与 P(y,z) 蕴含 P(x,z)
<owl:ObjectProperty rdf:ID="locatedIn">
<rdf:type rdf:resource="&owl;TransitiveProperty" />
<rdfs:domain rdf:resource="&owl;Thing" />
<rdfs:range rdf:resource="#Region" />
</owl:ObjectProperty>
<Region rdf:ID="SantaCruzMountainsRegion">
<locatedIn rdf:resource="#CaliforniaRegion" />
</Region>
<Region rdf:ID="CaliforniaRegion">
<locatedIn rdf:resource="#USRegion" />
</Region>
如果一个属性 P 被声明为对称属性,那么对于任意的 x 和 y:P(x,y)当且仅当 P(y,x)
如果一个属性 P 被标记为函数型属性,那么对于所有的 x, y, 和 z: P(x,y) 与 P(x,z) 蕴含 y = z
<owl:Class rdf:ID="VintageYear" />
<owl:ObjectProperty rdf:ID="hasVintageYear">
<rdf:type rdf:resource="&owl;FunctionalProperty" />
<rdfs:domain rdf:resource="#Vintage" />
<rdfs:range rdf:resource="#VintageYear" />
</owl:ObjectProperty>
如果一个属性 P1 被标记为属性 P2 的逆(owl:inverseOf), 那么对于所有的 x 和 y: P1(x,y) 当且仅当 P2(y,x)
请注意 owl:inverseOf 的语法,它仅仅使用一个属性名作为参数。A 当且仅 当 B 意思是 (A 蕴含 B)并且(B 蕴含 A).
<owl:ObjectProperty rdf:ID="hasMaker">
<rdf:type rdf:resource="&owl;FunctionalProperty" />
</owl:ObjectProperty>
<owl:ObjectProperty rdf:ID="producesWine">
<owl:inverseOf rdf:resource="#hasMaker" />
</owl:ObjectProperty>
如果一个属性 P 被标记为反函数型的(InverseFunctional),那么对于所有 的 x, y 和 z: P(y,x) 与 P(z,x) 蕴含 y = z
<owl:ObjectProperty rdf:ID="hasMaker" />
<owl:ObjectProperty rdf:ID="producesWine">
<rdf:type rdf:resource="&owl;InverseFunctionalProperty" />
<owl:inverseOf rdf:resource="#hasMaker" />
</owl:ObjectProperty>
对于每一个有指定属性实例的类实例,该 属性的值必须是由 owl:allValuesFrom 从句指定的类的成员
<owl:Class rdf:ID="Wine">
<rdfs:subClassOf rdf:resource="&food;PotableLiquid" />
...
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasMaker" /> //对"hasMaker"属性进行限制
<owl:allValuesFrom rdf:resource="#Winery" /> //所有的wine类实例的hasMaker属性的值都必须是Winery的实例
</owl:Restriction>
</rdfs:subClassOf>
...
</owl:Class>
这一约束允许对一个关系中的元素数目作出精确的限制
hasValue 使得我们能够根据“特定的”属性值的存在来标识类。因此,一个个体只要至少有“一个”属性值等于hasValue的资源,这一个体就是该类的成员。
<owl:Class rdf:ID="Wine">
<owl:equivalentClass rdf:resource="&vin;Wine"/>
</owl:Class>
<owl:Class rdf:ID="TexasThings">
<owl:equivalentClass>
<owl:Restriction>
<owl:onProperty rdf:resource="#locatedIn" />
<owl:someValuesFrom rdf:resource="#TexasRegion" />
</owl:Restriction>
</owl:equivalentClass>
</owl:Class>
这一机制提供了与sameAs相反的效果
<WineSugar rdf:ID="Dry" />
<WineSugar rdf:ID="Sweet">
<owl:differentFrom rdf:resource="#Dry"/>
</WineSugar>
<WineSugar rdf:ID="OffDry">
<owl:differentFrom rdf:resource="#Dry"/>
<owl:differentFrom rdf:resource="#Sweet"/> </WineSugar>
<owl:AllDifferent>
<owl:distinctMembersrdf:parseType="Collection">
<vin:WineColor rdf:about="#Red" />
<vin:WineColor rdf:about="#White" />
<vin:WineColor rdf:about="#Rose" />
</owl:distinctMembers>
</owl:AllDifferent>
<WineColor rdf:about="#White">
<rdfs:label>White</rdfs:label>
</WineColor>
使用 owl:disjointWith 构造子可以表达一组类是不相交的。它保证了属于某一 个类的个体不能同时又是另一个指定类的实例。
本体和软件一样需要维护,因此它们将随着时间的推移而改变。在一个 owl:Ontology 元素(如上面讨论的 http://www.w3.org/TR/2004/REC-owl-guide-20040210/#OntologyHeaders) 内,链接到一个以前定义的本体版本是可能的。属性 owl:priorVersion 被用来 提供这种链接,并能用它跟踪一个本体的版本历史。
<owl:DeprecatedClass rdf:ID="&vin;JugWine" />
<owl:DeprecatedProperty rdf:ID="&vin;hasSeeds" />
- OWL学习笔记
- OWL学习笔记之--枚举
- 学习owl
- W3C的OWL学习
- OWL语法学习
- OWL本体学习
- OWL
- owl
- OWL
- Jena学习笔记(1)——RDFS,OWL,DAML+OIL等本体操纵
- 学习protege4.3-OWL API进行编程(一)
- owl-s
- OWL-S
- owl jena
- OWL入门
- owl, ontology
- 解析基因的owl文件学习过程,让学习sparql不走弯路。
- owl信息化图书馆--一个为方便人们学习和成长的产品
- SDK控件篇
- C#中调用matlab
- HDU2.2.7 Train Problem II
- 犀牛——第9章类和模块 9.1类和原型
- 电源管理项目学习笔记
- OWL学习笔记
- 一个可大规模悄无声息窃取淘宝/支付宝账号与密码的漏洞 -(埋雷式攻击附带视频演示)
- C语言用二维数组实现开关灯泡游戏
- 无题
- php curl , fsockopen 函数
- 文章标题
- 【cisco实验】05检查设备的网关
- 无题
- android lcd 背光控制流程