1. RDF概述
RDF的全称是(Resource Description Framework),顾名思义,他就是用来对资源进行描述的。RDF提供了用于描述二元关系的语法。而解释器通过读取RDF文件,就可以构建出各资源之间的关系,并在此基础上进行推演,得出隐藏在资源之间的关系。
2. RDF组成
RDF主要由以下几部分组成。RDF Concepts,这相当于是一个概述,用来说明RDF是干什么的,她的表示方法等。RDF/XML语法规范,这是讲如何用XML的形式来表述RDF图。RDF Schema,由于RDF自身并不定义数据类型,所以,RDF引入了XML的Schema作为类型定义语言,开发人员可以根据RDF Schema规范的要求,定义可以在RDF中使用的数据类型。RDF Semantics,这是语义方面的讨论。RDF Test Cases,这是。
总的来说,这几部分之间的关系和作用可以类比到一般的编程语言中进行理解。RDF Concepts就是讲这个语言都是干什么用的。RDF/XML就是,这个语言应该怎么书写,也就是类似于编程中的词法规则和语法规则。RDF Schema就是说我们能够使用哪些变量类型。而RDF Semantics就是语义规则,就是说,这样的一个RDF表示什么样的意思。
3. RDF Concepts
a) RDF的设计目标
i. 拥有一个简单的数据模型。
ii. 拥有一个标准的语义,而一个可证的推导模型。(最主要作用)
iii. 使用基于URI的词汇表。(唯一性)
iv. 使用基于XML的语法。(语法)
v. 使用基于XML Schema的数据类型。(数据类型)
vi. 允许任何人对任意的资源进行表述。
b) 基于图的数据模型
RDF使用图来表述资源之间的关系。上图就是一个最基本的陈述。该图表示主语和宾语之间具有由谓词指定的关系。例如“这篇文章的作者是我”,在这里主语是文章,宾语是我,谓语就是作者,所以这句话就做了这样的一个陈述,即文章和我之间存在着一个作者关系。
c) 基于URI的词汇表
由于在陈述时,会出现同名但不同一的事物,所以,我们需要有一种方法来区分此事务与彼事务。为此,RDF引入URI作为标识。例如上述的文章,我怎么表示这篇文章了,我可以使用他的URL作为标识,通过该URL我就可以唯一指定这篇文章。
d) 数据类型
一种数据类型她需要由三部分构成,就是他的词法域,值域和映射规则。词法域指明了什么样的格式是属于这种类型的表述。例如布尔类型。我们可以规定只有形如“true,false”的表达式才属于布尔类型。词法域主要用于词法解释,用于告诉解释器怎么去识别一种类型。值域就是该数据类型的取值范围。而映射规则,则定义了如何从他的词法表示,得出他的值。这三者构成了一个满射,即词法域中的任一值都能在值域中找到唯一对应的值。
RDF自身只定义了一种数据类型,“XMLLiteral”,用于在RDF当中嵌入XML文件。其他的数据类型,则需要使用Schema进行定义。
e) 文本
在RDF当中出现的都可以称之为文本,文本又细分为两种类型,有类型的文本和普通的文本。有类型的文本,需要使用上述的数据类型规则,通过映射得到文本所对应的值。普通文本就是他的字面意思。
f) 蕴涵(Entailment)
蕴涵是指,在任何条件下,如果A成立都有B成立,那么当假设A成立时,B也必定成立。RDF不仅能对大家看到的资源进行描述,而且他还支持蕴涵关系。