更新时间:2024-09-12 20:21
资源描述框架(Resource Description Framework,RDF)是一个使用XML语法来表示的资料模型(Datamodel),用来描述Web资源的特性,及资源与资源之间的关系。
RDF用于信息需要被应用程序处理而不是仅仅显示给人观看的场合。RDF提供了一种用于表达这一信息、并使其能在应用程序间交换而不丧失语义的通用框架。既然是通用框架,应用程序设计者可以利用现成的通用RDF解析器。
资源描述框架(Resource Description Framework,RDF)是一个使用XML语法来表示的资料模型(Data model),用来描述Web资源的特性,及资源与资源之间的关系。RDF是W3C在1999年2月22日所颁布的一个建议(Recommendation),制定的目的主要是为元数据在Web上的各种应用提供一个基础结构(Infrastructure)使应用程序之间能够在Web上交换元数据,以促进网络资源的自动化处理。RDF能够有各种不同的应用,例如在资源检索(Resource discovery)方面,能够提高搜索引擎(Search engine)的检索准确率;在编目方面(Cata loging),能够描述网站、网页或电子出版物等网络资源的内容及内容之间的关系;而借着智能代理程序(Intelligent software agents),能够促进知识的分享与交换;应用在数字签章(Digital signatures)上,则是发展电子商务,建立一个可以信赖的网站(Weboftrust)的关键;其它的应用还可涉及到诸如内容分级(Contentrating)、知识产权(Intellectual property)、隐私权(Privacy policies)等。
RDF资料模型是一种与语法无关(Syntax neutral)的表示法。如果两个RDF语法对应的资料模型相同,则代表这两个RDF语法具有同样的意义,反过来说,如果两个RDF语法具有同样的意义,则它们的资料模型应该相同。RDF的基本资料模型包括了三个对象类型(Object types):
RDF资料模型只是一个抽象与概念的框架,要真的能够承载或交换元数据,需要通过具体的语法。RDF以XML作为编码与传输的语法,此外,RDF也需要透过XML的名称空间(Namespace)来指定宣告属性(Property)词汇的纲要(Schema)。RDF规格提供了两种XML语法来对RDF资料模型进行编码,第一种称为序列语法(Serialization syntax),是以正规的方式来表达完整的RDF资料模型,第二种称为简略语法(Abbriviatedsyntax),是以较精简的方式来表达RDF资料模型的一部分,理想的状况是希望RDF解释器(Interpreter)能够支持这两种语法,让Metadata的作者能自由混合使用。
下面是RDF语法的一个实例,用序列语法表示如下:
上面的写法第一行表示这是一段XML文件,第二行声明了RDF、DC两个名称空间(Namespace),其中RDF是预设的Namespace,在描述(Description)中所有的属性(Properties)都是来自这两个Namespace其中一个;RDF的主要部分写在Description这对标签之中,这里以title、creator、date三个属性(properties)来描述一个资源(Resource),这个Resource的URI就是Description的属性about的值(http://www.dlib.org/dlib/may98/miller)。
这个例子如果以RDF简略语法来表示则为:
上面的写法,其中描述(Description)是一个空元素(Emptyelement),因此在语法上要遵守XML空元素的表示法。比较一下RDF序列语法与简略语法,可以发现在序列语法中,属性(Title、creator、date)以Description的子元素(Subelement)来表示;而在简略语法中,属性(Title、creator、date)以Description的属性(Attributes)来表示。由于这两种表示法对应到相同的数据模型,所以这两种表示法是相等的,不过这两种表示法在浏览器中的呈现可能会不同。在序列语法中,Properties是以元素(Elements)来表示,因此Propertyvalue会被显示出来;而在简略语法中,由于Properties是以属性(Attributes)来表示,因此Propertyvalue不会被显示出来。
我们除了描述单一的资源,有时也需要描述一群的资源,比如说,某个新闻组(Newsgroup)可能包含了许多成员,某本书可能许多个作者,某个软件可能有许多个下载地址。RDF容器(Container)就是用来包装或装载一群资源的机制,RDF定义了三种形态的容器:
RDF Schema的作用就象是一部辞典,宣布一组词汇,也就是在RDF Statement中可以使用的Properties,并描述每个property的意义、特性,以及Propertyvalue的限制。RDF Schema可以是为了让人阅读的描述,也可以是机器可以处理的表示法,如果是后者,则应用程序便可以直接透过RDFSchema来了解每个Property的意义,并作自动化处理。机器可以处理的RDFSchema也是以RDF资料模型为基础,仍在发展之中,W3C在1999年3月3日发表了“Resource Description Framework(RDF) Schema Specification” Proposed Recommendation,在W3C所发表的文件中,Proposed Recommendation表示这还只是一份草案(draft),仍有可能修改或被其它的文件所取代。
从上述对RDF一些基本概念的简要介绍可以看出RDF具有如下两个重要的特点。
独立性
RDF实际上是一种元数据模型,具有很大的独立性,它可以嵌入DC这种元数据,也可以嵌入别的类型的元数据。正是由于现实中有多种元数据形式并存,所以各种元数据之间的转换就成为不容回避的问题。RDF就是为解决这一问题应运而生的一种工具,它所具备的独立性,使得各种元数据间的转换成为可能。概括地说,RDF可以协助跨越不同语言和增加语意互通性,可以增加DC与其它元数据的连结能力。
使用XML做为其描述语法
XML是从SGML衍生出来的简化格式,也是一种元语言(Meta-language),可以用来定义任何一种标记语言。XML屏弃了SGML过于复杂及不利于在Web上传送的选项功能,又弥补了HTML过于简单的不足,是最具发展前景的标记语言。RDF采用XML做为其描述语法,自然也就成为了一种可以携带多种元数据来往于网络上的框架工具。
这里有一些可能的好处: