Ontology来源于哲学词汇:存在论(也有翻译成本体论)。RDF是一种不错的本体描述方式,我们可以定义根据对现实世界的理解针对某个领域定义词汇来描述这个领域的知识。但RDF与RDF不能定义同义词、反义词以及描述词与词间的关系(类与类之间的关系),比如说等价性、互补排斥性、限制个数、属性的对称性等。OWL弥补了RDF的不足,运用AI中的逻辑论(逻辑论中,把人们的思维用式子来表述,并且证明这些式子的正确性)来赋予网给以语义,形成SW。在SW的定义中,吸收了很多知识的优点,如OO,逻辑论、树结构等。[@more@]

从HTML到XML

HTML是我们最常用的文档标记语言,并且已广泛应用于WEB上。HTML可用来描述资源,但其的特点限制了其生成的文档只有人可以看得懂。HTML有两大不足限制其发展:一是其结构不明显,很难被应用程序解析;二是描述的局限性,如无法描述某些科学符号。
为了让应用程序能够理解文档,就需要良好的结构,于是最简单但功能强大的树状结构就被采用了。用树状结构来描述数据就生成了XML。XML为在各种应用程序间以及meta数据的交换提供了一致的体系和解析器。但XML本身没有进行任何语义的定义(或说弱语义定义),即其描述的数据的语义机器无法理解。
理解数据的首要条件是更准备地记录数据结构与类型。预定义的最基本的数据类型不能很好地满足大多数现实生活中数据要求。我们需要更清楚地描述数据类型,即更给出数据更严格的限制。XML Schema提供了在预定义的类型上自定义数据类型,而且这种数据类型可以被解析器解析。

XML Schema

XML Schema(XML的定义机制)提供了在XML中可以利用的基本的数据类型(如date,string等,DTD中只提供了string),通过对已有的类型进行扩张或者进行制约,从而定义新的类型。和DTD文档类型不同,XML Schema不需要另外的解析器和编辑器。
但XML Schema只是对文档的结构进行了定义,仍然不能让应用程序理解数据的语义。为了实现让应用程序理解数据,就出现了RDF。

从XML到RDF

RDF(Resource Description Framework)并不是一种语言,只是一种书写规范。RDF的基本构造为陈述(或声明,Statement),表述了一个(资源,资源所具有的属性,属性值)(即主体—属性—客体)的三元组。RDF表现的是一个数据模型,简言之就是一个陈述就是一个什么事物(资源),这个事物具有什么属性,这些属性应该有什么样的属性值。XML用来做为描述这种抽象的数据模型的具体书写方式(不用XML,也可以用其他的构成来表现RDF)。同样因为现实世界的超级复杂性,预定义的词汇根本不够用,我们就使用RDF Schema来自定义词汇。
RDF描述资源的特性是:以属性为中心的思考方法。不是重在定义属性的值,而是通过定义拥有这个属性的主体(资源)的范围(定义域),以及这个属性的取值范围(值域)。这样我们就可以比较精确地定义词汇,不是精确是因为我们不可能也没必要精确定义词汇,我们更关心的是词汇者的相互关系,即我们不能想让机器理解某个词汇,还是要让其理解词汇之间的相互关系,从而能为我们提供智能的服务。

RDF Schema

RDFS翻译为资源描述框架的定义机制。其与RDF的关系不同于XML与XMLS间的关系。XMLS是用来对XML的结构(构造)进行定义,而RDFS是用来对RDF数据模型用到的词汇进行定义。

RDF+RDFS不能为我们提供描述词汇间的关系,导致OWL的出现。

OWL

是由DAML(DARPA Agent Markup Language)+OIL(Ontology Inference Layer)演变而来。
OWL是RDF的扩张,为我们提供了更广泛的定义RDFS词汇的功能,更广泛意指可以定义词汇之间的关系,类与类间的关系,属性与属性之间的关系等。

 
 

OWL,以及XML,RDF的更多相关文章

  1. 知识图谱基础之RDF,RDFS与OWL

    https://blog.csdn.net/u011801161/article/details/78833958 https://blog.csdn.net/baidu_15113429/artic ...

  2. 知识图谱基础之RDF,RDFS与OWL 2

    https://zhuanlan.zhihu.com/p/32122644 看过之前两篇文章([1](为什么需要知识图谱?什么是知识图谱?——KG的前世今生), [2](语义网络,语义网,链接数据和知 ...

  3. RDF/RDFS/OWL

    RDF(Resource Description Framework 资源描述框架) 知识总是以三元组形式出现: (subject, predicate, object) 即 (主,谓,宾) 资源和属 ...

  4. Jena将owl文件持久化到数据库中

    package cn.edu.shu.db; import java.io.File; import java.io.FileInputStream; import java.io.IOExcepti ...

  5. virtuoso装载大的rdf文件的方法

    本文详细介绍了将一个比较大的rdf文件装载到virtuoso数据库的过程.参考virtuoso网站的文档说明,通过实践,将一个大约4.6G左右的nt文件装载到virtuoso数据库中,用了大概6个多小 ...

  6. Python: xml转json

    1,引言 GooSeeker早在9年前就开始了Semantic Web领域的产品化,MS谋数台和DS打数机是其中两个产品.对web内容做结构化转换和语义处理的主要路线是 XML -> RDF - ...

  7. 【odoo14】第十六章、odoo web库(OWL)

    odoo14引入了名为OWL(Odoo Web Library)的JavaScript框架.OWL是以组件为基础的UI框架,通过QWeb模板作为架构.OWL与传统的组件系统相比更快,并引入了一些新的特 ...

  8. odoo14--odoo前端框架owl【odoo web library】

    原文链接:https://www.alanhou.org/odoo-14-owl-todolist/ 1.组件树 Root         /   \        A     B       / \ ...

  9. Jena语义Web开发101

    2015/05/28更新 代码在 https://github.com/zhoujiagen/semanticWebTutorialUsingJena 前言 该手册参考和扩展“Hebeler J, F ...

随机推荐

  1. 【转】MarshalAs属性和使用

    转载地址:http://blog.sina.com.cn/s/blog_4e4ee8ed0100elou.html [MarshalAs(UnmanagedType.ByValArray, SizeC ...

  2. NSDate获取当前时区的时间

    [NSDate date]获取的是GMT时间,要想获得某个时区的时间,以下代码可以解决这个问题 NSDate *date = [NSDate date]; NSTimeZone *zone = [NS ...

  3. nginx 配置文件备份

    1. /etc/nginx/sites-enabled/default 的原始文件 # You may add here your # server { # ... # } # statements ...

  4. jquery总结05-常用事件04-委托事件

    委托事件on 多个事件绑定同一个函数 $("#elem").on("mouseover mouseout",function(){ });通过空格分离,传递不同 ...

  5. (原创)IP协议Header部分的Checksum计算方法

  6. hdu2825Wireless Password(ac+dp)

    链接 状压dp+ac dp[i+1][next[j]][st|tt]表示第i+1长度结点为next[j]状态为st|tt的时候的ans; dp[i+1][next[j]][st|tt]+=dp[i][ ...

  7. java高薪之路__007_反射

    参考地址: 1. http://www.cnblogs.com/rollenholt/archive/2011/09/02/2163758.html2. http://www.cnblogs.com/ ...

  8. 转!!URL 传+号到后台变空格问题解决方案

    网上很多解决方法,但是前提是get请求(或者是post请求后面追加的参数),让我试了很久(我是post),没成功!引以为戒!! 今天在调试客户端向服务器传递参数时,参数中的“+”全部变成了空格,原因是 ...

  9. Head First 设计模式 --9 迭代器模式 组合模式

    迭代器模式:提供一种方法书序访问一个聚合对象中的各个元素,而又不暴露其内部的表示. 用到的设计原则:1.封装变化2.多用组合,少用继承|3.针对接口编程,不针对实现编程4.松耦合5.对扩展开放,对修改 ...

  10. Head First 设计模式 --8 模板方法模式 别找我,我会找你

    模板方法模式:在一个方法中定义一个算法的骨架,而将一些步骤延迟到子类中.模板方法使得子类可以在不改变算法结构的情况下,重新定义算法中的某些步骤.设计原则:1.封装变化2.多用组合少用集成3.针对接口变 ...