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