资源描述框架( 二 )

上面的写法第一行表示这是一段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简略语法来表示则为:<?xml version=“1.0”?>    <RDF xmlns=http://www.w3.org/1999/02/22-rdf-syntax-ns#xmlna:DC=http://purl.org/metadata/dublin-core#>        <Description about=http://www.dlib.org/dlib/may98/miller>            DC:title = “An introduction to the Resource Description Framework"            DC:creator = "Eric Miller"            DC:date = "1998-0501"        </Description>    </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定义了三种形态的容器:封装(Bag):用来包装一群没有顺序性的资源 。Bag通常用在一个属性(Property)有多个值(Value),而这几个值的先后顺序并不重要,例如通讯录可能包含了许多姓名 。Bag所包含的值要在0个以上,也就是可以不包含值,也可以有多个重複的值 。
顺序(Sequence):用来包装一群有顺序性的资源 。Sequence通常用在一个Property有多个值,而这些值的先后顺序是重要的,例如一本书如果作者在一个以上,可能有必要区分出主要作者、次要作者 。Sequence所包含的值要在0个以上,也就是可以不包含值,也可以有多个重複的值 。
选择(Alternative):Alternative通常用在一个Property有多个值可以选择,例如某个软体可能提供许多个下载网址 。Alternative所包含的值要在一个以上,而第一个值是预设值 。
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做为其描述语法,自然也就成为了一种可以携带多种元数据来往于网路上的框架工具 。好处这里有一些可能的好处:通过提供一个一致的框架,资源描述框架将会鼓励提供关于网际网路资源的元数据 。