资源描述
51d9171a82a8c36924ba3ef38a13b67b.doc
目录
目录 1
摘要 2
第一章 引言 3
第二章 XML简介 5
2.1 XML 5
2.1.1 XML 的产生 5
2.1.2 XML的设计目标 8
2.1.3 XML的优点 9
2.2 XML相关 10
2.2.1文档类型定义(DTD) 10
2.2.2、XML模式 14
第三章 资源描述框架(RDF) 16
3.1 资源描述框架(RDF)的提出 16
3.2 RDF 的基本概念 17
3.3 RDF的特点 17
3.4 基本RDF语法 18
3.5 RDF的语法特点 20
3.6 RDF语句 21
3.7 RDF的容器机制 22
3.8 RDF纲要(Schema) 24
3.9 RDF词汇集 24
第四章 异构信息集成 26
4.1 研究方法 26
4.2 基于RDF的体系结构 27
4.3 实例 30
结 语 34
参考文献 35
摘要
在目前的Web上应用最广泛的信息载体是HTML网页,各种各样的多媒体信息都通过静态的(通过script或DHTML也可以实现动态网页)网页向用户传递。但是在发展过程中HTML的缺点渐渐地呈现出来,于是提出了XML。本文介绍了XML的基本概念,XML的优点等等。
元数据的使用可以大大提高信息系统检索和管理的效率,W3C 提出的RDF 则解决了在Web 数据集成中使用元数据的问题。本文逐一介绍RDF 的基本含义,,RDF 的特点,RDF的语法,RDF的模式和RDF的词汇集等等
本文还研究了一种结构,该结构旨在开发数据语义,以对集成的异构信息源提供一个连贯的、有意义视图。
关键字:XML RDF 信息集成 异构信息源
Abstract
HTML pages is the most popular information media in the web, various multimedia information is transferred to users by static pages (pages and be dynamic when implemented by scripts or DHTML). In the course of development, the syntax disadvantages of HTML arose gradually,so we advance XML. This article gives us a thorough introduction of RDF gradually———its meanings, its advantage and so on.
Utilization of metadata can greatly enhance the efficiency of retrieval and management applications in information systems. Resource Description Framework (RDF) , advanced by W3C in order to describe resources on the Web is a practical solution to use metadata in data integration on the Web. This article gives us a thorough introduction of RDF gradually——its meanings , its characteristics,its syntax ,its schema and its vocabulary .
This article advances architecture. The architecture is split into five separate layers to assure modularization ,providing ,description ,requirements ,and interface for each.
Key words: XML RDF information integration heterogeneous information sources
第一章 引言
当我们刚刚接触XML时,我们会因为XML的表现能力,可扩展性和光明的前景而激动不已,可是随之而来的问题是:两个用XML表示的消息或数据,如何才能实现交换?是不是我们只要采用了XML格式,二者的交换就万事大吉了? XML除了给我们提供了一个可以被应用自动化读取的格式外,并不能进一步促进数据交换的自动化程度,我们还需要通过专用的程序来对XML数据进行解释,以获取目标应用能够处理的数据部分。当然,对XML文档解释的前提是首先完成对XML文档的解析。尽管XML已经拥有了各种版本的解析器,但解析器的真正作用是一个XML的读取和处理器,并不是一个解释器。因此我们必须采用特定的应用程序来XM的内容解释,很显然这些程序之间并不存在互换性和通用性。
尽管XML的灵活性使得用户可以快速、容易的描述任意的内容,但由于XML并不能解释它标记的含义,大多数处理应用要求这些标记集合能够满足某种标准或者双方的约定。XML允许用户通过XML模式来定义这些标记的集合。XML模式(诸如XML DTD和XML Schema等)为XML文档提供了一种约束机制,用来限定XML文档所用到的标记和这些标记之间的结构关系。XML模式为XML文档提供了一定的语义描述能力,然而XML模式的语义仍然是隐含的。XML模式的元素含义要么由用户根据元素的名称(通过自然语言描述)去推断,要么通过另外一个文档来描述,XML模式并不能对其所含有的语义进行任何解释。
由于现阶段,很多公司都使用XML来表示数据,但是它们在建立XML文档时不是按照统一的XML模式,所以导致在资源共享方面有很多困难。
为了实现XML文档的解释或者转换,用户必须将这些语义编码到工具中,而将数据的最终解释留给了特定的应用。不仅如此,由于XML模式只能对XML的语法合法性进行验证,而不能区分XML属性和元素在含义上的不同,因此对于同样的信息内容,我们可以将其映射为多种不同的XML结构。XML所存在的问题是因为XML不具备语义描述能力。为此,W3C推荐以RDF(resource Description Framework)标准来解决XML的语义局限。RDF提出了一个简单的模型用来表示任意类型的数据。这个数据类型由节点和节点之间带有标记的连接弧所组成。节点用来表示Web上的资源,弧用来表示这些资源的属性。因此,这个数据模型可以方便的描述对象(或者资源)以及它们之间关系。RDF的数据模型实质上是一种二元关系的表达,由于任何复杂的关系都可以分解为多个简单的二元关系,因此RDF的数据模型可以作为其他任何复杂关系模型的基础模型。
RDF和XML是互为补充的。首先,RDF希望以一种标准化,互操作的方式来规范XML的语义。XML文档可以通过简单的方式实现对RDF的引用。通过在XML中引用RDF,可以将XML的解析过程与解释过程相结合。也就是说,RDF可以帮助解析器在阅读XML的同时,获得XML所要表达的主题和对象,并可以根据它们的关系进行推理,从而做出基于语义的判断。XML的使用可以提高Web数据基于关键词检索的精度,而RDF与XML的结合则可以将Web数据基于关键词的检索更容易地推进到基于对象的检索。
其次,由于RDF是以一种建模的方式来描述数据语义的,这使得RDF可以不受具体语法表示的限制。但是RDF仍然需要一种合适的语法格式来实现RDF在Web上的应用。虽然RDF(模型)既可以用Notation3来表示,也可以用XML来表示。但是,由于XML已经成为被广泛支持的Web数据表示标准,便于应用的读取,因此将RDF序列化为XML表示可以使RDF获得更好的应用可处理特性,并使得RDF数据可以像XML数据一样的容易使用、传输和存储。
因此,RDF是定制XML的良伴,而不只是对某个特定类型数据的规范表示 ,XML和RDF的结合,不仅可以实现数据基于语义的描述,也充分发挥了XML与RDF的各自优点,便于Web数据的检索和相关知识的发现。
而且在目前,Web主要支持人对文本内容的浏览和搜索。随着大量可获取信息的增加,该模型已变得越来越不适合,它要求被一种新的模型所替代,该模型支持Web信息源和服务以及智能应用的集成和统一的访问,并要求用标准机制去交换数据和处理不同的数据语义。资源描述框架(RDF)朝这个方向迈出了一步,通过弥合语义差异,RDF提供一个数据模型支持对数据源的快速集成。它通常用于表示其他Web资源如XML文件的元数据。
对异构信息源的集成技术已成为近年来研究的热点之一,而且也相继提出了各种解决方法。但由于应用环境不断的变化,特别是XML的推出,新的需求新的问题不断出现,使得人们不断探索新的集成方法和技术,以允许设计应用提供对Web可获得的不同资源一个统一的访问。所以提出一种将按需检索和语义元数据方法合并的新的体系结构:以XML/RDF作为中层的数据描述工具和数据转换工具,建立具有集成能力的中间件,集成已有系统的数据,为用户提供一个统一的查询手段和查询界面。
第二章 XML简介
熟悉HTML的人都知道,利用HTML能够方便地访问因特网资源。从1994年到1996年,经过从HTML2到HTML3.2的发展,Web在商业和个人用户群中迅速普及。这种变化使得人们希望Web页面更像是一种加上色彩、字体、对齐、和所有与桌面出版相关的版面特征的印刷媒体。
尽管这些表达属性被HTML推荐采用,但人们很快认识到,试图将太多“外观”纳入结构化语言中,给开发人员和用户带来某些问题。但开发人员及客户的作品对不同浏览器外观不同时,他们深感失望;而若浏览器对这些新特征以及需要的相关插件的支持程度不同时,用户也感到沮丧。
在HTML4中,表示标记与结构标记分开,从而形成了HTML Strict,W3C不仅回到了传统标记语言的根源,而且使自己便于将XML引入Web世界。
促使人们转向XML的最大理由是:可扩展性。现行Web是一个HTML、专有浏览器以及其他东西的拼凑物。Web开发人员面临两难的选择:要么只支持W3C HTML推荐标准所定义的元素,要么远离那些不支持他们选用的专有成分的浏览器用户。而且还需要创建一个网站的多重版本,以适应每一浏览器的独有元素。按照XML的字面意义,它意味着可扩展性,添加一个<BLINK>之类新元素的过程是一个相对微不足道的问题,而在现在HTML情形下则需要作者创建无效文档。这种简便的定制使得开发人员利用特殊元素创建行业或公司专用文档,这些元素在别处无用,但如适当地添加到DTD中并用于良构XML文档,则能提高受众的访问价值。虽然XML有着全面而鲜明的可扩展特征,但仍然允许作者保留HTML的语义。
可移植性是转向XML的另一个好理由。现在,使用其他设备而非传统的台式或膝上计算机上因特网的情况正在迅速增多,这些设备包括手持PC和掌上PC、PDA、电视机、移动电话、寻呼机和电话等等。有人估计,今后两年内,高达75%的Web访问将来自那些非传统平台,而PC实际上将成为少数。HTML对上述设备均不支持,但良构和有效XML则能够支持
2.1 XML
2.1.1 XML 的产生
XML(eXtensible Markup Language)[18]的出现似乎为上述问题的解决提供转机。XML是WEB上新兴的文本语言,在数据表现和数据交换上越来越受欢迎。XML 发展自更为复杂的 SGML(Standard Generalized Markup Language ,标准通用标记语言)。XML,即可扩展标记语言(Extensible Markup Language),被誉为构造未来 Web 的新工具。 HTML着重描述 Web 页面的显示格式,而XML着重描述的是文档的内容。XML的特长在于描述层次结构的数据,或赋予原本杂乱的信息一种清晰的结构。
结构化信息的一个主要目的就要使数据交换成为可能。不同的工业都制定本工业统一的模型。不同的工业内部信息用统一的模型标识,便能方便和高效地共享。这样一个统一的模型就是DTD(文件类型定义)。很明显的,网络是一个理想的电子数据的集散地。在这里HTML是显然有缺陷的数据形式。HTML不能完全表示不同工业中所需的不同的令人满意的模型和它的语义。能不能有一种新的语言来解决这个问题呢?答案就是网络SGML。
SGML作为HTML和 XML的前身技术,一直是一种平台之间互相独立的信息技术。这便于指定信息语义的结构。当企业正忙于展开各种各样的信息格式时(比如微软的RTF, Adobe的PostScript和MIF,以及WordPerfect, Lotus, Borland等公司的格式), SGML已先人一步,确定立了一套严格一致的, 独立于平台之间表达信息的格式。
SGML(通用标记语言标准ISO 8879:1986)是HTML的前身技术。它是文件和文件中信息的构成主体。 SGML与HTML不同。它允许用户扩展tag集合,允许用户建立一定的规则。 SGML所产生的tag 集合是用来描叙信息段特征的。而HTML仅仅只是一个tag集合。所以我们可以说HTML是一个SGML的子集。
XML开发者源于SGML的设计和应用者。 他们已经在SGML上投入了大量精力,但他们却发现SGML 并没有完全发挥它的作用。SGML已不适用于网络社会的需要。“如何使SGML能成功地运用于网络?”,这一问题已自然而然地提上了议程。1996年8月,GCA(图形通信协会)在Seattle召集SGML开发者们举行了一次会议。会议由Sun Microsystems公司的Jon Bosak主持。论题集中于两大方向:
(1)在软件应用中HTML是一种不理想的信息表现格式。讨论的结果是有必要把SGML应用于网络。
(2) SGML的某些方面已经落伍了。已成为了它广泛传播的障碍。讨论的结果是有必要考虑怎样修补SGML。
既然SGML有着多重语义的tag集合,它早就应出现在网络上了。
SGML开发者们立刻制定了一个紧急修改SGML标准的方案。 因为SGML是一个严格而完整的系统,方便软件应用并不是它的首要任务。所以在SGML中有许多语法语义标准。它们既不方便而且消耗昂贵.它们必须被修改或是删除。 SGML开发者们首先所作的工作就是得到一个SGML中可移给网络的,非关键的结构信息的清单。他们可以基于这个清单对SGML进行修改。
早在Seattle会议之前,Bosak和一些精心挑选的SGML结构信息专家就已向W3C提出了“网络上的SGML”计划。 W3C支持并赞助了他们的努力。 工作于1996年7月正式开始起动。
工作的早期,有较大的阻力。因为也存在反对SGML的人。一些制定XML标准的W3C代表甚至声称“网络上的SGML”是不可能实现。工作组(原称“SGML编辑审议委员会”)并未退缩。他们打算让SGML以全新的面目出现在网上,给SGML以全新的面貌,故给它命名为“可扩展标识语言”,即XML。
工作组制定了一个雄心勃勃的计划来展示XML特色的计划。 计划的实施分三部分:
(1)XML的句法。
(2)XLL(可扩展链接语言): XML 的语义链接。
(3)XSL(可扩展类型语言): XML的表现。
最初XML的目标是让各种结构的文件都作为统一的网络文件的一部分在网上传输。过去这些文件是HTML实现的。 HTML允许指定明确的元素类型说明, 比如特定的商品标号,文档标识,或是可测量量的数值。和HTML 相比,XML允许客户定义他们自己的文件元素集合,同时也可以指示这些素元在屏幕上如何按指定的要求表现。
在早期,为了解决怎样在固定的目标之间传输数据元, XML被定义为一种自然的编码形式。在一些方案被考虑之后,一种被称为RDF (资源描述框架)的方案倍受亲睐。 RDF为XML提供了数据元编码定义。这就像是一个公用的翻译器,为不同的固定目标之间的数据提供翻译。
XML将支持更加专业的数据语言,比如说OSD(开放软件描述)。 OSD是由Microsoft和Marimba提出的一种新的格式描叙语言。在这种格式下,软件在网上能实时检查,实时刷新版本。不是等用户自己更新,或由是软件提供商提供类似的服务。当OSD镶嵌于XML支持的CDF(频道定义格式)中时, OSD更能使支持频道的桌面自动地更新。
XML的一个主要目标市场是电子商务。传统EDI(电子数据交换)机制依靠不同商业之间的强大计算机系统来实现压缩的信息传输。每一条信息在传输使用,提供给用户之前都必须编码。电子商务在网上运作时用户端每填完一个HTML的表格之后,都要把表格法还给初始的服务器处理。产品交易,谈判签约,后勤管理,税收报表等等这一些活动的数据处理都集中在了一端。可以预测到,有了XLL所链接的行为控制机构和XSL所提供的客户端评价功能,将来的数据可以从屏幕上抓取,有必要的话可在客户端处理,在处理数据时,传输给相关用户而不必要改换数据格式。一个类似的协议是OTP(开放网络贸易协议)。它的草稿最初是于1998年1月发布的。这个协议的制定是为了满足在网上。消费者和销售者之间交易时消息的传输。它同时也允许第三方,比如说供货商,市场评估机构, 消费者保护机构等,来参与使用。
XML的应用弥补了许多HTML的缺陷,我们把它在网上的应用总结为四点:
1.当网络客户必须在不同的数据库之间传递信息时的应用。
2.当需要把大部分从网络服务器下载的数据在用户端处理时的应用。
3.当相同的数据对于不同的用户需要有不同的界面时的应用。
4.当网络情报供货商要把发现的信息精心裁减,并发送给不同的个人用户时的应用。
2.1.2 XML的设计目标
1、XML可在因特网上直接使用 设计者使XML成为在网络上以及企业内交换数据的主要互操作标准。因此,他们要它与HTTP和其他已经存在的主要通信协议透明地交互作用。
2、XML将支持各种各样的应用程序 设计者鼓励开发所有能创建并与XML互相作用的工具,而不仅仅是Web服务器上的工具(尽管这并不真是该语言的一个设计目标,但它体现了工作组的意图)。
3、XML将与SGML兼容 这听起来像是一个显然的目标,但事实上,照Tim Bray的观点,这是相当难达到的目标。创建一个真正的子集意味着所有XML必须也是有效的SGML,还意味着不得不保留足够的SGML使文档可互操作。
4、编写处理XML文档的程序将十分便利 这显然是工具和数据开发人员优先考虑的事情,其目的是使语言足够小,以便在合理的短时间内得以成功地开发合用的工具。不必依赖阅读DTD的工具也更容易创建。因此,人们产生了“良构(well-formed)”XML文档的思想来加快工具的开发,而这反过来又促进了XML的采用。
5、XML中可任选的特征数目极少,理想情况是零 这是为了避免SGML面对的一个问题而提出的。尽管选项使得语言更灵活、功能更强,但它们也可能很麻烦,而且干扰数据交换,因为每个处理程序都可能不能读取所有文档。这个目标是为了确保任何XML处理程序都能读取任何XML文档。
6、XML文档应清晰易读 因为原先W3C工作组的大多数成员都具有文档标记背景,这个目标是合情合理的。但在更广泛意义上,该目标也是有益的,因为如果标记是人可阅读的,你就能在某些像文本编辑器一样基本的东西中修改它。
7、XML设计应迅速完成 W3C工作组意识到将XML推向世界的时机是恰当的,而且,如果他们花太多时间开发标准,有可能白费力气。等不及的公司可能用自己的专用标注扩充规范草案,我们就可能重新陷入声名狼藉的“浏览器大战”之中。
8、XML的设计应井井有条并且简明扼要 这个目标使该语言对程序员友好。
9、XML文档应易于创建 这个目标针对创作工具。工作组希望鼓励开发针对所有用户的各种各样的创作工具,而不是将他们限制在极其专业化的工具或熟练的标记“黑客”所使用的纯文本编辑器中。
10、XML标记的简洁性最不重要 这个目标来源于避免SGML的某些复杂性的愿望。为了进尽可能简洁,SGML可能使用一种叫做“最小化”的特征,使得创建者省略某些标记,如结束标注。W3C工作组选择清晰性而不是灵巧性,使得所有XML标记都非常明显。
还有两个目标在正式规范中未列出。第一个与国际化有关,它导致一代码命令,这是一开始就被认为是至关重要的一个方面。第二个是将语言设计得具有足够清楚的结构,以使人们能够简便地运用它。
2.1.3 XML的优点
XML的优点在于:
1、引入结构的概念,使得对数据的标记和查询更为方便
由于XML支持结构化数据,可以更加详细地定义某个数据对象的数据结构。例如为了描述一本书,可以定义书的作者、标题、ISBN号、出版社等,这种XML数据容易按作者、标题、等排序,查询也方便。
2、XML支持灵活多变的Web应用
我们可以从不同的来源集成或组合数据,可以将多个应用程序所生成的数据纳入同一个XML文件。一旦XML文件被传送到客户机上,被解释出来的XML数据就可以在本地被编辑或操纵。数据传输到客户机上以后,本地用户可以改变客户机配置,选择各种不同的显示方式。
另外XML支持数据的细微变化,当结构中的某一小部分数据改变,服务器只需要输出改变的数据即可,而不必重新输出结构中所有数据。同样,当服务器向客户机追加部分数据,只需送出追加的数据,新增加的数据项可以不改变客户机上原有的数据视图。
3、XML利用标准的HTTP协议传输数据
XML采用一种开发的、以文本为基础的格式,与HTML一样,可以利用HTTP协议进行数据传输。XML允许在数据结构中嵌入有关怎样生成不同视图的描述,从而可以使用户在客户端就可以从同一角度看数据,从而避免了过多的网络传输,节省了用户交互时间。
XML虽然给网络信息管理带来很大的冲击,但XML会被怎样使用仍不明朗。XML或者会作为数据交换格式,或者数据存储格式。很难确定DTD是否会成为所有XML文档的规范。但是,有一点是可以肯定的,XML并不是解决应用互操作和Internet数据集成问题的万金油。
2.2 XML相关
2.2.1文档类型定义(DTD)
DTD规定文档的逻辑结构。它可以定义文档的语法,而文档的语法反过来能够让XML语法分析程序确认某个页面标记使用的合法性。DTD定义页面的元素、元素的属性以及元素和属性之间的关系。例如,DTD能够规定某个表项只能在某个列表中使用。
DTD不是强制性的。对于简单应用程序来说,开发商不需要建立他们自己的DTD(因为没有意义);他们可以使用预先定义的公共DTD,或者根本就不使用。即使某个文档已经有了DTD,只要文档是组织良好的,语法分析程序也可以不对照DTD来检验文档的合法性。服务器可能已经执行了检查,所以检验的时间和带宽将得以节省。
通过DTD,使XML数据交换成为可能。XML提供独立于应用的共享数据方式。人们使用相同的DTD来交换数据。DTD的目的是定义XML文件的合法建筑块。它用一列合法的元素定义文件结构。一个DTD 能够在XML文件中定义,或者作为一个外部引用。正是因为DTD的存在,才使XML数据和关系数据库数据之间的转换成为可能。
2.2.1.1 DTD语法
1、元素
元素声明
XML元素由ELEMENT定义。一个元素定义有以下语法:
<!ELEMENT element-name (element-content)>
2 、空元素
空元素由(EMPTY)定义:
<!ELEMENT element-name (EMPTY)>
3、元素的数据类型
元素的数据在括号内声明数据类型:
<!ELEMENT element-name (#CDATA)> 或者
<!ELEMENT element-name (#PCDATA)> 或者
<!ELEMENT element-name (ANY)>
# CDATA意味元素包括字符数据,该数据不能由分析器分析。# PCDATA意味元素包括数据,该数据能由分析器分析。关键字ANY声明一个由任意内容的元素。如果一个#PCDATA部分包括元素,这些元素也必须被声明。
4、元素
子元素由以下格式定义:
<!ELEMENT element-name(child-element-name)> 或者
<!ELEMENT element-name(child-element-name,child-element-name,…)>
子元素在父元素出现的顺序必须和子元素单独声明的顺序一样。在完全声明中,孩子必须也被声明。例如,完全声明note元素将会是:
<!ELEMENT note (to,from,heading,body)>
<!ELEMENT to (#CDATA)>
<!ELEMENT from (#CDATA)>
<!ELEMENT heading (#CDATA)>
<!ELEMENT body (#CDATA)>
5、子元素出现次数
只出现一次的子元素定义为:
<!ELEMENT element-name (child-name)>
最少出现一次的子元素定义为:
<!ELEMENT element-name (child-name+)>
出现零次或多次的子元素定义为:
<!ELEMENT element-name (child-name*)>
出现零次或一次的子元素定义为:
<!ELEMENT element-name (child-name?)>
6、声明混合内容
混合内容包括PCDATA和子元素。例如以下声明:
<!ELEMENT note (to+,from,header,message*,#PCDATA)>
以上例子声明元素note必须至少包括一个to孩子元素,一个from孩子元素,一个header,零个或一个message,和一些分析字符数据
7、属性
DTD中,XML元素属性由ATTLIST 声明定义。属性定义有以下语法:
<!ATTLIST 元素名 属性名 属性类型 缺省值>
从以上语法可以看出,ATTLIST声明定义有属性的元素,属性名,属性类型,缺省属性值。属性类型有以下值:
值
解释
CDATA
字符数据
(eval|eval|..)
枚举值
ID
唯一ID值
IDREF
对其他元素的ID引用
IDREFS
对多个元素的ID引用
NMTOKEN
有效的XML名
NMTOKENS
一列有效的XML名
ENTITY
实体
ENTITIES
一列实体
NOTATION
符号名
Xml:
预定义值
表2-1 属性类型
缺省值可选项有
值
解释
#DEFAULT value
有缺省值
#REQUIRED
该值必须出现
#IMPLIED
该值不一定出现
#FIXED value
该值是固定的
表2-2 缺省值选项
8、实体
实体变量用于定义普通文本。实体引用是对实体的引用。当文本由XML分析器分析时,实体被扩展。有几类实体:
预定义的实体
实体引用
字符
<;
<
>;
>
&;
&
";
"
&apos;
'
表2-3 预定义实体
内部实体声明
<!ENTITY entity-name "entity-value">
例如在DTD中定义实体writer和copyright:
<!ENTITY writer "Jan Egil Refsnes.">
<!ENTITY copyright "Copyright XML101.">
在XML中引用内部实体writer和copyright:
<author>&writer;©right;</author>
外部实体声明
<!ENTITY entity-name SYSTEM "URI/URL">
例如在DTD中定义外部实体writer和copyright:
<!ENTITY writer SYSTEM "http://
<!ENTITY copyright SYSTEM "http://
在XML中引用外部实体writer和copyright:
<author>&writer;©right;</author>
2.2.2、XML模式
XML Schema是W3C的推荐标准,于2001年5月正式发布,经过数年的大规模讨论和开发,终于最终奠定下来,使得XML建模有了一个国际标准。XML Schema确定下来,立刻成为全球公认得首选XML环境下的建模工具,已经基本取代了DTD在XML刚刚成为W3C推荐标准时的地位。由于XML是SGML的一个子集,因此它也继承了SGML世界中用于建模的DTD,当时使用DTD的好处是可以利用大量的在SGML世界中现有的DTD工具,使得开发应用代价维持在一个相对较低的水平。然而,DTD有着不少缺陷:
1、DTD是基于正则表达式的,描述能力有限;
2、DTD没有数据类型的支持,在大多数应用环境下能力不足;
3、DTD的约束定义能力不足,无法对XML实例文档作出更细致的语义限制;
4、DTD的结构不够结构化,重用的代价相对较高;
5、DTD并非使用XML作为描述手段,而DTD的构建和访问并没有标准的编程接口,无法使用标准的编程方式进行DTD维护。
而XML Schema正是针对这些DTD的缺点而设计的,XML Schema是完全使用XML作为描述手段,具有很强的描述能力、扩展能力和处理维护能力。
XML Schema的主要目的是用来定义一类XML文档(一个XML Application)。因此模式的"实例文档"形式常常用来描述一个与特定XML Schema相一致的XML文档。事实上,文档实例和Schema文档都不是必须要以文档的形式存在,他们可以存在以于应用之间传递的字节流的形式存在,或者作为一个数据库记录或者作为XML的"信息项"的集合而存在。然而为了简化入门,我们总是把实例和模式看作文档或者文件,认为它们总以文档实例或是模式文档的形式存在。
XML模式的组件构成,如下表所示
组件
可以命名
可以不命名
可以是全局
可以是局部
元素
是
否
是
是
属性
是
否
是
是
简单类型
是
是
是
是
复杂类型
是
是
是
是
符号
是
否
是
否
命名模型组
是
否
是
否
属性组
是
否
是
否
一致性约束
是
否
否
是
表2-4 XML模式组件
第三章 资源描述框架(RDF)
在现今的社会中,信息无处不在,从这些信息中获取对自己有用的信息并不是件容易的事。当然也有例外。比如,在图书馆里你可以根据书名、作者名或关键字的信息找到藏书号,从而很容易找到所要的书。在音像店里,你可以根据片名、主演等信息方便地找到自己所要的影碟。这两个系统有一个共同的特点,即它们都是建立在元数据之上。
元数据是关于数据的数据或关于信息的信息例如,书的文本就是书的数据,而书名、作者名、版权数据都是书的元数据。元数据并不一定就是用来检索的,也可用于内部的管理。如图书馆系统可以为书定义被借次数这个元数据,以了解书的被借阅情况,确定是否要增加副本数。元数据的使用,可以大大提高系统的检索和管理的效率。
随着WWW的兴起,对网络信息资源的描述与组织也逐渐成为有关各界研究的热点,出现了多种元数据格式,其中以都柏林核心集最受瞩目。由于类似都柏林核心集这类的元数据正逐渐获得肯定和使用,致使关的携带工具也成为研究者注目的焦点。元数据的种类复杂且用途殊异,将来多种元数据共存共荣的局面已成为共识,因此一种可同时携带多种元数据来往于互联网和WWW 上的架构,成为必不可或缺的工具。资源描述框架(RDF)即由此而生。
3.1 资源描述框架(RDF)的提出
资源描述框架(Resource Description Framework ——RDF )是一个使用XML语法来表示的资料模型,用来描述Web 资源的特性,及资源与资源之间的关系。
RDF 是W3C 在1999 年2 月22 日所颁布的一个建议,制定的目的主要是为元数据在Web上的各种应用提供一个基础结构使应用程序之间能够在Web上交换元数据,以促进网络资源的自动化处理。RDF 能够有各种不同的应用,例如在资源检索方面,能够提高搜索引擎的检索准确率;在编目方面(Cataloging) ,能够描述网站、网页或电子出版物等网络资源的内容及内容之间的关系;而借着智能代理程序能够促进知识的分享与交换;应用在数字签章上,则是发展电子商务,建立一个可以信赖的网站的关键;其它的应用还可涉及到诸如内容分级知识权、隐私权等。
3.2 RDF 的基本概念
3.2.1 RDF的基本资料模型(Data model)
RDF 资料模型是一种与语法无关的表示法。如果两个RDF 语法对应的资料模型相同,则代表这两个RDF 语法具有同样的意义,反过来说,如果两个RDF语法具有同样的意义,则它们的资料模型应该相同。
RDF 的基本资料模型包括了三个对象类型(Object types) :
资源:所有以RDF 表示法来描述的东西都叫做资源,它可能是一个网站,可能是一个网页,可能只是网页中的某个部分,甚至是不存在于网络的东西,如纸本文献、器物、人等。在RDF中,资源是以统一资源标识(URI)来命名,统一资源定位器(URL)、统一资源名称(URN)都是URI的子集。
属性:属性是用来描述资源的特定特征或关系每一个属性都有特定的意义,用来定义它的属性值和它所描述的资源形态,以及和其它属性的关系。RDF的(Property, Property,value)在概念上和传统的(Attribute, Attribute value)是相同的
陈述:特定的资源以一个被命名的属性与相应的属性值来描述,称为一个RDF 陈述,其中资源是主词(Subject) ,属性是述词,属性值则是对象(Object) ,陈述的对象除了可能是一个字符串,也可能是其它的资料形态或是一个资源。
3.3 RDF的特点
(1)简单。RDF 使用简单的资源-属性-值三元组,所以很容易控制,即使是数量很大的时候。这个特点很重要,因为现在Web 资源越来越多,如果用来描述资源的元数据格式太复杂,势必会大大降低元数据的使用效率。其实从功能的角度来看,完全可以直接使用XML 来描述资源,但XML 结构比较复杂,允许复杂嵌套,不容易进行控制。采用RDF可以提高资源检索和管理的效率,从而真正发挥元数据的功用。
(2)易扩展。在使用RDF 描述资源的时候,词汇集和资源描述是分开的,所以可以很容易扩展。例如,如果要增加描述资源的属性,只需要在词汇集中增加相应元数据即可,而如果使用的是关系数据库,增加新字段有可能造成大量的空间浪费。
(3)开放性。RDF 允许任何人定义自己的词汇集,并可以无缝地使用多种词汇集来描述资源,以根据需要来使用,
展开阅读全文