(计算机软件与理论专业论文)web数据管理与查询技术研究.pdf_第1页
(计算机软件与理论专业论文)web数据管理与查询技术研究.pdf_第2页
(计算机软件与理论专业论文)web数据管理与查询技术研究.pdf_第3页
(计算机软件与理论专业论文)web数据管理与查询技术研究.pdf_第4页
(计算机软件与理论专业论文)web数据管理与查询技术研究.pdf_第5页
已阅读5页,还剩49页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

w e b 数据管理j 台商技术研究 f 4 6 7 6 48 摘要 r 随着互联网的陕速发展越来越多的企业和个人开始通过互联网进行数据的交换,也有越来越 、 多的应州程序开始依赖于来自互联嘲的数据。通常我们把这些通过互联网进行交换的数据称为w e b 数据,如何对w e b 数据进行有效的管理成为摆在人们面前的一个迫切的问题。 与存储在数据库中的传统数据不同,w e b 数据的最人特点是缺少一个统一的和严格的数据模 式。冈此,使用传统的数据库技术很难直接对其进行管理。对w e b 数据管理的研究已经成为目前 相关领域研究的热苣。0 本文对w e b 数据管理以及奇询相关的技术作了较为全面的研究。主要包括w e b 数据模型、x m l 技术、w e b 数据的存储、w e b 查询和w e b 数据结构信息抽取,其中重点研究了w e b 数据结构信 息的抽取平f 】基丁学习的w e b 查询方法。本文的主要内容如下: i 、归纳承l 总结了目前用丁- 表示w e b 数据的各种模型。 2 、归纳和总结了各种w e b 数据的存储方法,提出了基r 关系数据库存储x m l 文档的方法。 3 、总结了w e b 查询语言的特点,对比介绍了目前主要的w e b 查询语言。住此基础上_ ,提出 _ r 基于学习的w e b 查啕方法,并详细介绍了一个基于学习的w e b 查询系统f a c t 和对于 x m l 文档的有监督学习查询方法。 4 、提出了对于半结构化数据的增量模式抽取方法,通过实验可知该方法可以有效地实现、p 结 构化数据的结构信息抽取。 关键l 目:w e b 数据? 半结构化数据? x m l , w e b 查询j 增量挖掘? 监欺 型! ! 垫塑竺些! 奎塑垫查竺壅 a b s t r a c t w i t ht h eh i g h s p e e dd e v e l o p m e n to fi n t e m e t ,m o r ea n dm o r ee n t e r p r i s e sa n d i n d i v i d u a l sh a v e e x c h a n g e dd a t at h r o u g h ti n t e m e t t h e r ea r em o r ea n dm o r ea p p l i c a t i o n sw h i c hd e p e n d e do nd a t af r o m i n t e r n e to r d i n a r i l y ,w ec a l lt h e s ed a t ae x c h a n g e dt h r o u t hi n t e r n e ta sw e bd a t ah o w t om a n a g ew e bd a t a e f f e c t i v e l yh a sb e c o m eak e yp r o b l e mw em u s tf a c e d i f f e r e n tf r o mt h et r a d i t i o n a ld a t as t o r e di nd a t a b a s e ,t h em o s ti m p o r t a n tc h a r a c t e ro fw e bd a t ai st h e l a c k o ft h eu n i f o r ma n ds t r i c td a t as c h e m at h e r e f o r e ,i ti sh a r dt om a n a g ew e bd a t aw i t ht r a d i t i o n a l d a t a b a s et e c h i n i q u e st h er e s e a r c ho nw e bd a t am a n a g e m e n th a sb e e nt h eh o ts p o to fr e l a t e da r e a s t h i sp a p e rc a r r i e so u ta na l l s i d e dr e s e a r c ho nt h et e c h n i q u e so fw e bd a t am a n a g e m e n ta n dq u e r y , i n c l u d i n gw e bd a t as c h e m a ,x m lt e c h n i q u e s ,w e bd a t as t o r a g em a n a g e m e n t ,w e bq u e r ya n ds t r u c t u r e l e v e l i n f o r m a t i o ne x t r a c t i o no fw e bd a t at h em a i ni d e ao ft h ep a p e ri s : ( i ) r e f e rt h ee s s e n t i a l so fw e bd a t as c h e m aa c c o r d i n gt ot h ep r e s e n ts t a t u s ( 2 ) r e f e rt h ee s s e n t i a l so fw e bd a t as t o r a g em e t h o d ,p u tf o r w a r dar e l a t i o n a ld a t a b a s e b a s e dx m l d o c u m e n tp r o c e s s i n gm e t h o d ( 3 ) s u m m a r i z et h ec h a r a c t e r i s t i c so f w e bq u e r yl a n g u a g e sa n di n t r o d u c es e v e r a li m p o r t a n tw e bq u e r y l a n g u a g e sw i t ht h o s e ,p u tf o r w a r dl e a r n i n g - b a s e dw e bq u e r yp r o c e s s i n gm e t h o da n di n t r o d u c ea l e a r n i n g b a s e dw e bq u e r yp r o c e s s i n gs y s t e mf a c t ( f a s ta n da c c u r a t e ) a n dx m ls e a r c h b a s e do nt h es u p e r v i s e dl e a r n i n gd e t a i l l y ( 4 ) p r o p o s et h em e t h o do fi n c r e m e n t a ls c h e m ae x t r a c t i n gf r o ms e m i s t r u c t u r e dd a t aa c c o r d i n gt o t h ee x p e r i m e n t s ,t h i sm e t h o dc a ne f f e c t i v e l ye x t r a c ti n f o r m a t i o ns t r u c t u r ef r o ms e m i s t r u c t u r e d d a t a k e y w o r d s :w e bd a t a ,s e m i s t r u c t u r e dd a t a ,x m l ,w e bq u e r y , i n c r e m e n t a lm i n i n g ,s u p e r v i s e d 2 w e b 数据管理与壹;蜘技术研完 第一章绪论 _ 住过去的儿年中。互联网以超乎想象的速度发展起来,并且逐渐地渗入到人们二作和生活的各 个角落。与我仃j l 作和生活相关的各种数据,正越来越多地通过互联网进行传递和使用。一般我们 把这些互联网上的数据统称为w e b 数据。由于w e b 数据与传统的通过计算机进行处理的结构数 据存在着很多差异,针对w e b 数据的研究已经成为研究领域的热点。本文试图全面地介缁相关的 研究领域,并对其中的部分问题提出自己的解决方法。 1 iw e b 数据的特点 正是由j + w e b 数据本身的诸多特点,使得对于w e b 数据的处理难以用现有的技术来实现。 这些特点可以简单归纳如下: 1 面向显示与面向数据 从信息交换的角度看,目前w w w 上的信息大多以h t m l 文档形式存在,用户与服务器之间 信息的传递主要依赖超文本传输协议( h t t p ) 。h t m l 文档中的信息是面向显示的,用规范的h t m l 标记t a g 定义文档的元数据( 如标题t i t l e 等) 或定义文档的文本应如何显示。这些标记的理解工 作交由浏览器,而信息的理解_ 作则由用户自己完成。 x i v 【l 是w w w 上信息交换的新标准,它支持用户白定义文档标记,剧有序的、嵌套的元素组 织有一定结构的数据,是面向数据的,程序可读解这些标记并依据标记的语义处理数据。以x m l 文档为主体的w w w 将成为新一代以数据为中心的w w w 计算环境。 2 半结构化与非结构化 在w w w 上数据嵌在h t m l 文档的文本中,而数据的部分组织信息嵌在标记中。从文档标 记的角度看,h t m l 可以显示超链接的文档:从数据的角度看,h t m l 文档所蕴含的数据是半结构 化的,这是闪为: 数据没有严格的结构模式: 含有不同格式的数据( 如文本、卢音、幽像等) ; h t m l 文档无法区分数据类型: 不同数据源中给相同的信息起不同的名字( 如“级别”与“等级”等) 。 3 存在不同形式数据源的数据 除了保存在h t m l 文档中的信息外,w w w 上还有大量信息存储在文本文档、传统关系或对象 数据库中,这些不同形式的数据在w w w 上需要通过集成并用h t m l 文档显示,以实现共享和交 换。 4 数据是动态变化的 w w w 站点上的信息是随时间动态变化的,信息内容的变化( 增删改) 需要及时地反映到w w w 页面中。另一方面,站点的页面组织结构可能发生改变( 如页面的增加、删除和修改) 也要及时反 映到站点页面的目录层次结构中。 5 要求有友好的界面 w e b 站点的信息主要面向一般的非计算机专业用户浏览和查询,因此,对界面的友好性、易用 性提出了更高的要求。用户获取信息的渠道越来越多,方式越来越灵活,因此,提供给用户的服务 应该适应于多种形式的用户界面。 1 2 研究中的主要问题和现状 w e b 的目前状况离w e b 上有效信息服务与信息管理的实现还有差距,这正为数据库技术向w e b 领域发展提供了空间。新环境中的数据库技术研究内容包括半结构化数据模型及其理论、数据缓存 与复制、事务管理、数据安全等,它与已有的成熟技术( 如信息检索技术) 相结合,可以用来解决 5 w e b 数据管理与矗向技术研究 w e b 上数据管理、动态维护等关键问题。一般我们把w e b 数据又称为半结构化数据,与之相关的 研究主要包括: 1 半结构化查询语言与模式抽取 、 结构化数据的研究起源于异质的数据源之间数据交换和集成,另外,些数据源( 如w e b ) 的数据并非像传统的结构化数据( 如关系数据) 那样有严格的数据格式和数据类型。半结构化数据 的特点是没有事先给定的数据模式,或者数据模式对数据的约束不强,模式的规模比较大( 有时甚 至可以丈过数据) ,模式是经常变动的,数据未赋予严格的类型。很多研究者研究了半结构化数据 的存储、模式抽取、查询和用户界面等问题,并出现一些半结构化数据的原型系统,如l o r e 。l o r e l 、 u n q l 是比较典型的半结构化数据查询语言。此外,与w e b 查询有关的理论,如w e b 查洵的可计 算陛、路径遍历的优化算法、w e b 站点的完整性约束机制等,也都是很受关注的课题。对w e b 查词 刖户界面的研究也很有意义,在这方面,l o r e 系统的d a t a g u i d e 为半结构化数据查询提供了一个交 互式用户界面,帮助用户利用抽取出来的模式构造查询。 2 半结构化数据的存储研究 数据的存储研究包括两个问题:半结构化数据或x m l 数据的存储以及索引的存储。 、f 结构化数据索引需要处理的问题是异构原子值的索引和路径表达式的索引。不同原子值的索引 可以通过强制类型转换实现。路径表达式的索引可以分为树图结构数据的索引、受限完全的正则 表达式。相对来说,树结构的数据,如x m l ,其索引技术较简单,并且只支持正则路径表达式的 受限形式的索引更有效一些,因为较少有非常复杂的正则路径表达式。伯克利大学的x s e t 系统就 为x m l 数据采用了- - 1 索引。这种索引综合了路径信启、,也是树结构。索引树的节点是哈希表, 索引根节点包含了数据根节点的所有出边标记,索引树的内节点对应了数据中到达某一菲叶节点的 标| 己序列,哈希表的每项都包含了数据树中指向相应节点的指针。这种索引结构可以有效地处理 简单路径表达式,一些更复杂的路径表达式也可以通过索引的索引来实现。斯坦福大学的d a t a g u i d e 系统实现了任意结构的半结构化数据的索引,它是关于半结构化数据的路径信息的一个精确、简洁 的索引结构,可以有效地用来辅助建立查询和进行查询优化。 3 分布计算的研究 盎信息分布的环境中,特别是在w e b 中,可有两种情况出现: 事先己知模式信息,知道数据如f 0 1 分布,则可利用已知信息采取类似于分布关系数据库的半 链接或半链接规约的技术进行查询处理。 模式信息事先未知,则需采用新技术处理。这时处理某一查询路径表达式比较好的解决办法 是在每一个参与站点上建立个对应于该路径表达式的自动机各自将计算结果传到中心站 点,然后计算出最终查询结果。这种方法可以减少不同参与站点间的通信次数。 4 w e b 异构数据集成 w e b 信息集成系统的目标是支持对w e b 上多个数据源的查询。它除与异构数据库集成系统相同 外,还要处理大量的、数目递增的w e b 数据源,描述w e b 数据源特征的元数据很少,各数据源有 很强的自治性。 1 。3 本文的工作 本文第一章绪论介绍w e b 数据的特点,分析了w e b 数据管理所面临的主要问题和研究现状。 第二章和第三章分别介绍了w e b 数据的模型和x m l 语言的基本规范,可以认为前三章是全文的 背景介绍,目的是使读者对w e b 和x m l 有一个概念性的了解。第四章在介绍和比较了不同的w e b 数据存储方法后,详细阐述了基于关系数据库的x m l 数据存储方法。第五章针对w e b 查询,详 细介绍了相关的研究工作,并对比介绍了具有代表性w e b 查询语言。第六章主要研究了对于w e b 数据结构信息的抽取,阐述了对半结构化数据的模式增量抽取方法。第七章是对w e b 查询问题的 进一步探讨,主要提出了基于学习方法的w e b 查询实现。值得注意的是,本文是从应用的角度出 发,研究范围涵盖了w e b 数据管理的各个方面,同时本文也有其侧重点,那就是w e b 数据中结 构信詹、的抽取和基于学习的w e b 查询方法。 6 w e b 数据管理与盘词技术研究 第二章w e b 数据模型 目前,人们越来越多地通过w e b 来进行数据的交换和处理,对于这些通过w e b 的方式来表 现的数据,我们一般称之为半结构化数据。所谓半结构化数据,实际上是相对于完全结构化数据( 如 关系型数据库、面向对象数据库中的数据) 和完全无结构的数据( 如声音、图像文件等) 而言的, 例如w e b 上的h t m l 文档就属于一种半结构化数据。半结构化数据的结构和内容一般混在一起, 没有明显的区分对此我们很难用现有的技术进行管理。目前,与半结构化数据相关的研究方向有 很多,如新的数据模型、相关的查询语言、存储技术以及查询优化技术等。在众多的研究课题中, 对半结构化数据结构的研究是一个非常有趣而且重要的方向。 半结构化数据存在一定的结构但这些结构或者没有被清晰地描述,或者是经常动态变化的, 或者过于复杂而不能通过传统的模式定义来表现。半结构化数据模式与传统的关系或面向对象数据 模式不同,它主要有以下一些特点: 对、 结构化数据来说,是先有数据,后有模式; 、 结构化数据的模式用于描述数据的结构信,皂、,而不是对数据结构进行强制性的约束; 、f 结构化数据的模式是非精确的,它可能只描述数据的一部分结构,也可能根据数据处理不同 阶段的视角不同而不同: 半结构化数据的模式可能规模很大,甚至超过源数据的规模,而且会由于数据的不断更新而处 于动态的变化过程中。 由于没有强制性模式的限制,使半结构化数据具有很大的灵活性,能够满足网络这种复杂分布 环境的需要,但同时也给数据处理带来了很大的困难。半结构化数据模式在实际的数据处理中有着 很广泛的用途,主要有如下几方面: 用户界面:由于半结构化数据没有明确的模式,给用户查询带来了很大的困难。模式信息有助 r 用户了解数据的结构,从而提出更精确和有效的查询。 查询优化处理:模式信息有助于查询处理器对查询计划进行优化,大大缩减查询的搜索空间。 改进数据存储:了解模式信息,可以更好地设计数据的物理存储结构以及索引,从而提高存储 车奁| 旬执行的效率。 异构数据源的集成:了解不同的数据源的模式信息,有助于选择适当的集成模式和定义转换规 则。 所以,如何发现和利用半结构化数据潜在的结构是一个新的具有挑战性和实际意义的研究领 域。 2 1 半结构化数据模型 传统的数据库系统是基于一个固定模式的假设,这个模式是任何数据的规范,因此是先于数据 而存在的。但对于半结构化数据,它们的结构信息往往要迟于数据而产生。假定某公司的每个职员 都有一个个人网页,那么统一这些网页的风格或者指定网页制作的最小公共标准都将是十分困难的 工作。当然,一般的大型w e b 资源的模式就是就是以一个非常松散的结构开始,而后根据需要来得 到相应的结构。 半结构化数据模型总体上可以分为两类:图模型和关系模型。每一类包含许多具体的模型。 ( 1 ) 图模型 图模型把半结构化数据表示成为图的模式,节点表示数据而边表示数据的关联。图模型包括 o e m ( o b j e c te x c h a n g em o d e l ) c g h 9 4 ,p g w 9 5 ,g p q 9 7 ,f k l 9 7 ,e d g el a b e l e dg r a p h b h d 9 6 ,b u n 9 7 , h y p e r t r e e a m 9 8 ,l a b e l e dm u i t i g r a p h s k s 9 5 】等等。不同的图模型差别在于采用的符号以及图的形状。 从表示半结构化数据这一本质上看,图模型都是一致的。 ( 2 ) 关系模型 关系模型把半结构化数据表示为简单关系或者嵌套关系的形式,数据和数据的关联均作为关系 7 e b 数据管理与盘询技术研究 属性来看待。这类模型的代表是a d m a m m 9 7 a ,a m m 9 7 b 】,w e b s q l m m m 9 7 采用的数据模型等。 考虑刮x m l 在未来的w e b 应用中将发挥重要的作用,因此本文主要讨论x m l 数据的模型。 由丁x m l 数据是图结构的,因此采用图模型来表示更为自然。在所有的图模型中,o e m 模型是最 有代表- 陛的一个。2 2 小节将简单介绍了o e m 模型:23 小节展开x m l 数据模型的讨论。 2 2o e m 模型 o e m ( o b j e c te x c h a n g em o d u l e 数据交换模型) 模型是为了异构的信息之间的交换所定义的数据交 换格式。因此o e m 只是一个信息交换的模型,它对数据的具体表现和存储没有约束。数据交换的 双方只需按照o e m 模型的格式定义各自需要交换的数据就可以进行双方异构数据之间的交换了。 2 2 1o e m 模型 o e m 模型其实不是作为一个全新的模型而提出的,o e m 模型仅仅是采用了己被广泛接受的传 统模型的一些特点。o e m 的基本思想非常的简单:对于每个值( v a l u e ) 都分派一个标识符( l a b e l ) ,该 标识符描述了值的意义。例如表示一个姓名值是如下的三元组 ,这里 n a m e 是一个表示意义的标识符,s t r i n g 表示值的类型,”j i mg r a y ”是值本身,而三元组 就是个简单的o e m 对象。o e m 还可以表示复杂对象,复杂对象的每个子对象也是 一个o e m 对象。例如一本书的所有作者是个复杂对象,表示如下: a l : a 2 : 不难看出,o e m 模型的一个主要特点在于自描述( s e l f - d e s c r i b i n g ) 。我们无须为预先定义一 个对象的结构,因此o e m 模型中也没有类似于关系数据库中关系模式或面向对象数据库中类这样 的概念。每个o e m 对象都含有自身的“模式”,例如标识符n a m e 的功能就类似关系模式中的属陛, 而s t r i n g 则是属性的数据类型。值得注意的是,标识符在o e m 模型中扮演了双重角色:( a ) 标识了 对象:( b ) 标识了对象的意义。 定义2 1 :o e m 模型 o e m 模型的定义如下:一个o e m 对象是一个四元组 ,四元组各个域分别为: 1 标识符:变长字符串,描述对象的意义: 2 类型:对象值的类型。o e m 对象值只有两种类型,原子( a t o m ) 类型( 如i n t e g e r s t r i n g ,r e a l 等) 和集合( s e t ) 类型。允许的原子类型不是固定的而是因o e m 模型表示的数据不同而 异: 3 值:对象的值; 4 对象标识:唯一的o e m 对象句柄( 和面向对象理论中的o l d 类似) 。 2 2 2o e m 模型分析 o e m 模型提出的最初是为了异构数据( h e t e r o g e n e o u sd a t a ) 的交换。因此o e m 首先是一个信息 交换的模型,它并没有给出对象的存储方式。数据交换( 比如客户端和服务器端间) 只需按照o e m 模 型的规范就可以进行,而不必关心数据在两端的具体存储。 o e m 模型可以被看成为一种简化的o o 模型。它与o o 模型一样可以描述对象间的相互关系的 层次模型。然而o e m 比基本o o 模型简单得多,这主要体现在以下两点: f i ) o e m 模型仅仅支持对象嵌套( o b j e c tn e s t i n g ) f l 对象标 ;只( o b j e c t d e n t i t y ) ,0 0 模型的其他特性诸如 类、方法、继承等均被o e m 模型省略了。这样的模型使它有更强的灵活性,适合半结构化数据 描述的要求。以o o 模型的类继承为例,比如要建立e m p l o y e e 类及它的两个子类a c t i v e 和r e t i r e d , 我们完全可以给每个e m p l o y e e 对象增加两个子对象,标识符均为“s u b c l a s s ”,对象的值分别是 8 w e b 数据管理与查询技术研究 “a c t i v e ”和“r e t i r e d ”。当然这样的变换和o o 中的继承语义是有差别的,因为o e m 没有强制 其对象必须遵守一定的约束。当然有人认为这是o e m 的一个缺点,但我们认为这恰恰是o e m 的一个优点,因为它描述异构数据的能力更强,也更符合现实世界的需求。 ( 2 ) o e m 和基本o o 模型还有一个重要的差别是o e m 使用标识符替代了o o 中的模式。在o o 模型 中给每个对象加一个标识符属性是没有太大意义的,但在o e m 中标识符成为至关重要的特性。 正是由于有标识符,才使得解释和操纵对象更为直接,换言之就是用户在事先不清楚模式的情况 f 也可以对数据进行操作。而传统的o o 模型或关系模型要求用户必须十分清楚数据的模式才可 能对数据进行查询。 另外o e m 模型也可以方便地对关系数据建模。对于一个关系,o e m 可以方便地表示为深度为 2 的树,即根节点表示整个关系,根节点的子节点表示元组,而元组节点的子节点表示属陛值。当 然这样的表示对于结构化数据来说有很大的冗余,但这里我们只是说明o e m 确实是一个非常灵活 而强大的数据模型。 2 3x m l 数据模型 x m l 数据和半结构化数据是类似的,但x m l 也存在许多一般的半结构化数据所没有的特性( 比 如i d ,i d r e f 等) 。本节介绍几种用于表示x m l 数据模式的方法。 2 3 1x m l 图模型 x m l 图模型是在o e m 模型的基础上,考虑到x m l 数据自身的特点的一种图模型。 定义2 2 :一个x m l 图g 符合下列条件 g 是一个有向图,g 的每个顶点都有唯一的标识( o i d ) g 的边用元素的标i e ( t a gn a m e ) 来标注 g 的顶点包含个二元组的集合,其中每个元组形如( 属性名,属性值) g 的叶常点包含字符串型的值 g 有唯一的根节点r o o t 用x m l 图来表示x m l 数据时,元素的属性包含在节点中,而边为元素自身的标记。x m l 图 允许两个节点间存在多条边,但边上的标记必须不同。图3l 是一个x m l 图的例子。 元素标识,i d s 和i d r e f s 为了支持元素共享,x m l 保留了一个称为“i d ”的属性。x m l 要求元素的i d 值必须唯一, 因此i d 可以看作是元素的唯一标识。x m l 还有另一个“i d r e f ”的属性,它允许一个元素引用另 一个或多个元素。从x m l 图的定义可知,每个节点都有唯一的标识( o i d ) ,这个标识可以由i d 属性 来提供,也可以由系统自动生成,这是因为在x m l 规范中i d 属性不是必须的。 和其它的属| 生不同,i d r e f 属性并不是表示为形如( 属性名,属性值) 的二元组,而是表示 为从引用元素到被引,耳;| 元素的一条边,并且该边用属性名来标识。i d 属性也有不同,它直接成为节 点的o i d 。 9 w e b 数据管理与查询技术研究 标量数据 x m l 图中只有叶节点才可能包含数据,这些数据称为标量数据。如果有x m l 元素既包含数据 义包含子元素,那么它无法直接用x m l 图表示。如有x m l 文档如下: at r i pt o t h em o o n 如果用x m l 图表示,上述文档需改写为: t l t l e 二 at r i pt o c d 虹妒t h em o o n c d p 元素顺序 到目前为止,我们介绍的x m l 图是一个无序x m l 数据模型,即x m l 元素以什么样的顺序出 现在文档中是不可知的。“元素无顺序”的优点是简化了数据模型和查询语言,并允许在查询处理 中作顺序无关的查询优化。 在实际应用中,有时顺序是不可或缺的,这时需要扩充x m l 图以记录元素顺序信息。这样的 扩充是很简单的,只需在每个节点保留其所有后继节点的顺序即可。有序模型保留了更多的语义但 会给查询处理带来额外的开销。我们可以根据x m l 查询语言的功能需求,选择有序或无序的x m l 图来表示x m l 数据。 1 0 w e b 数据管理与盘询技术研究 2 3 2 模式与d t d 文档类型定义( d t d ) 是x m l 的可选部分,可以出现在x m l 文档中数据出现之前、x m l 版 本声明之后,也可以作为d t d 文件单独存储。原本它是文档的上下文无关语法,但从数据的角度来 讲,d t d 可以借用为数据的模式。我们给出这样个例子 x q g o n g ! d o c t y p ed b 【 2 8 x q g o n g h o t m a i lc o m x m l 文档x m l 文档的d t d 把d t d 作为x m l 数据模式的优点是它的正则语法支持定义半结构化数据,如,说明元素e 有 一个子元素a ,b 子元素可选,c 子元素要求出现或连续出现多次。 d t d 作为模式的缺点有以下几条: 1 、 元素的定义包含不必要的顺序。如在前例中,n a m e 、a g e 和e m a i l 子元素必须按照定义的 顺序出现在p e “o n 元素中。 2 、无法定义约束。 3 、 对原子类型支持不够,只能支持文本或字符串类型,且不支持范围说明( 如限定a g e 的值 在整数0 和】0 0 之间) 。 元素的标记在整个文档范围内是全局唯一的,但是在对象数据库中,一个n a m e 域既可以出现 在p e r s o n 类中,也可以出现在c o u r s e 类中,而在x m l 中,这只能用两个不同的标记实现p e r s o n n a m e 和c o u r s e n a m e 。x m l 可以使用x m l 名空间的形式解决这个问题,即将标记变为p e r s o n :n a m e 和 c o u r s e :n a m e ,p e r s o n 和c o u r s e 是x m l 名空间的名称,代表定义了元素n a m e 的两个d t d 。 总之,x m l 文档标记语言的烙印使d t d 无法符合数据库的观点,为数据提供非常适合的模式。 因此,很多研究采用x m l 】0 标准提出了更适合表达x m l 数据模式的方法,但这些规范的研究还 未成熟,在很多方面还未达成共识。相比之下,基本的d t d 规范已被广泛接受。 2 3 3 其他的x l v l l 模式 鉴于d t d 作为x m l 数据模式的不完善性,有很多研究者提出了描述x m l 模式的草案,主要 有x m l s c h e m a 、x m l d a t a 和d c d 。它们的共同点是:与x m ld t d 兼容并提供更丰富的描述能 力:使用x m l10 的语法规范定义自身。 x m l s c h e m a 侧重从文档语言的角度给出x m l 模式定义语言的规范说明,它包括结构部分( 描 述x m l10 文档结构并限定其内容) 和数据类型部分( 描述x m l 语言应支持的数据类型) 。 x m l d a t a 除了可以定义x m l 的语法模式之外,更侧重从数据模型的角度解决概念模式的问 题,因此它是语法、数据库与概念模式的交叉。它可以描述数据的类层次、定义主码与参照、定 义同义名与关联、增加新的数据类型定义和值约束,还可以忽略x m l 元素的顺序等。 d c d 基于r d f 的数据模型定义x m l 文档内容和结构的约束,它的表达范围包括了x m l 。d a t a 的子集。 w e b 数据管理与查询技术研究 第三章x m l 简介 3 1x m l 与w e b 自从第一台计算机诞生开始,人们一直在探讨这样一些问题:计算机与人脑的区别在哪里? 计 算机可以代替人脑进行工作么? 在信息技术高速发展的今天,虽然计算机在很多方面的能力已经超 过了人脑,但仍旧在一些方面与人脑有着巨大的差距。人类的大脑在处理所获得的信息时,可以迅 速获得很多额外的知识。如当人们在阅读一篇文章时,只要看过文章的标题就能够猜出文章的大致 内容:医生根据病人的症状便可以诊断出病因:这些都是计算机很难做到的。也许通过人工智能技 术的发展,在将来计算机在这些方面可以做得同人脑一样出色,但今天的计算机还是需要被告知要 处理那些数据,数据之间的关系如何,以及该如何处理等等。 目前随着互联网的发展,我们的计算机越来越多地开始处理来自于w e b 的数据。通过w e b 我们获得了超乎想象数量的数据,如何在这些数据中找到真正对我们有用的数据,这已经成为了一 个关键问题。由于数据量的巨大以及来源的不同,我们已经不可能象过去一样为计算机系统描述每 一个要处理的数据,必须有种新的方法来解决这个问题。x m l ( 可扩展标记语言) 正是为了用来 对w e b 信息进行自我描述而设计的一种新语言。事实上,当w 3 c ( w o r l dw i d ew e bc o n s o r t i u m ) 在1 9 9 8 年初完成x m l 标准制定以来,x m l 便如同燎原之火,迅速成为学术界和工业界关注的焦 董。 今天,使用得最多的w e b 语言是h t m l ( 超文本标记语言) 。尽管从h t m l 涎生以来,它已 经成为了最成功的电子发布语言,但它的缺点在现在看来也是很突出的。h t m l 是一种面向于表示 的语言,它仅仅描述w e b 浏览器应该如何在页面上来显示文字、图片等内容,而不能描述文档中 包含数据的含义。因此,用h t m l 创建的w e b 站点除了像台能发送文档的传真机外,很难实现 更多的功能。例如,在网上购物的过程中,如果要对订单中的数量和运输方式进行修改,您就需要 让远处超负荷运转的服务器重新发一份新的网页过来:而此时您的高性能计算机只能坐等信息,因 为它只知道处理( h 1 ) 和( b o l d ) ,不知道如何处理价格和选择运输方式等问题。此外由于不知 道那些数据代表产品的价格,因此您也就没办法利用价格信息在w e b 上搜索相应的产品。 随着x m l 的发展,w e b 的响应时f 司将大大加快。目前,连接在w e b 上的计算设备,无论是功 能强劲的台式机还是小型便携机,所能做的不过是获得表单,填写后返回给w e b 服务器,直到完 成一项任务。但是,随着x m l 中增加的结构化和语义化信息,这些设备将可以在现场进行大量的 处理。这不仅能减轻w e b 服务器的许多负担,而且会极大地减少网络流量。可以设想,当我们在某 个网上书店查询本月新出版的书籍时,很可能收到的是一个包含了几百本书籍的数据列表,这时我 们可以通过限定出版社和书籍类别等条件来缩小查询的范围。如果这些信息是通过h t m l 来传递 的,我们就不得不通过i n t e m e t 再次向网上书店发送查询请求,并等待它的回答:但如果书籍列表 是通过x m l 来传递的,则情形将会大不相同,网上书店可以随书籍列表发送- - d , 段j a 、,a 程序, 我们的计算机就可以利用这个程序在本地对书籍进行筛选,而无须再次向服务器发送请求。如果几 百万的w e b 用户都这样做,我们就可以获得惊人的整体效益。 在通过x m l 来进行信息传递时,我们必须清楚允许使用什么样的标记以及标记元素如何组织, 也就是语言的词汇表和结构,它们被d t d ( d o c u m e n tt y p ed e f i n i t i o n ) 所规定。x m l 标准并不要 求文档的设计者必须使用d t d ,但大多数新的文档都将使用d t d ,因为它可以使程序员更轻松地 编写能够理解标记并智能地处理标记的软件。对于用户而言,最重要的是程序能够为我们做什么。 在许多情况下,人们希望软件能够向读者显示用x m l 所包含的信息。但是,x m l 的标记并没有提 示如何在显示屏或页面上显示信息,我们可以通过使用x m l 样式表的方法来为x m l 文档定义显 示格式。从而做到显示与内容分离。目前,针对x m l 样式表开发的标准被称为可扩展样式表语言 ( e x t e n s i b l es t y l e s h e e tl a n g u a g e ) 即x s l 。有几种w e b 浏览器的最新版本都能阅读x m l 文档, 并采用合适的样式表,在屏幕上对信息进行分类和格式化。除了基于x m l 的网站运行速度更快、 - 1 2 w e b 数据管理与查询技术研究 更易使用外,读者可能根本不知道他所看到的是x m l 文档而不是h t m l 文档。 一方面对于用户而言,由x m l 驱动的w e b 将更快、更友好、更适合进行商务活动。另一方面, w e b 站点设计者将发现越来越需要x m l ,大批程序员将被要求尽量开发新的x m l 语言。此外,自 学成才的网络黑客还没有消失,危险依然存在,将来的w e b 设计者不仅需要精通如何创建文字和图 形,而且还要精通如何构建多层次独立的d t d 系统、数据树、超链接结构、元数据和样式表,这 些部是使w e b 结构变得更加健壮的基础。 3 2x m l 基本语法 x m l 是w 3 c 于1 9 9 8 年底提出的一种文档标注语言,用来弥补h t m l 在描述文档的内容和结 构方面的不足,从而更好地实现在w e b 上的数据交换。相对于与h t m l 来说,x m l 的标注格式 不是固定的而是可定义的,因此它是一个灵活的信息载体。同时x m l 被设计成为s g m l 的一个子 集,同s g m l 比,x m l 更为简介,因此更适合软件开发和信息分布。 3 2 1x m l 的起源 实际上无论是最初出现的h t m l 还是现在出现的x m l 都来源于s g m l 。过去在进行印刷排版 时,印刷工耍在原稿上做出标记,用以给排字工以指示。这种“标记”不断地发展,直到1 9 8 6 年, 国际标准化组织( i s o j 终于通过了一套创建新型标记语言的系统,这种语言被命名为标准通用标 记语言,即s g m l 。这种描述语言的语言( 也被称为“元语言”) 己被证明在许多大型出版应用中 非常有用。事实上,h t m l 语言就是用s g m l 定义的。 s g m l 有着很强描述能力,它可以描述任何级别的文档也可以抽象任意复杂的文档。使用s g m l 提供的工具集,可以轻而易举地描述和组织数据。s g m l 语言包含大量智能化的特性,其目的是为 了尽量减少击键次数,但这要求必须对每个字节都加以说明,因而使得s g m l 文档过于复杂,以致 于w e b 浏览器很难处理。s g m l 的规范多达五百多页,使用起来极不方便,这也导致很多文档的作 者和软件开发者往往止步于s g m l 的复杂性上。使用目前常规的浏览器如i e ,n e t s c a p e 等都无法显 示s g m l 文档。一种折衷的办法是把s g m l 转化为h t m l 来实现w e b 信息发布,但这样的转化丧 失了s g m l 的语义,也丧失了s g m l 灵活,强大的描述能力。比如文档作者常常会被迫将不同的 s g m l 文档元素转化成相同的h t m l 文档元素,而这仅仅是为了完成在浏览器端的显示。 相比之下,h t m l 有着非常简单的特性,它只是s g m l 的一个特殊实例。h t m l 仅描述了一 个w e b 页面应该如何来表示文档中的内容,使用起来十分简单,这也是h t m l 能够迅速流行起来 的主要原因。但h t m l 不能够对数据的内容和结构进行描述,因此h t m l 对w e b 之外的文档的描 述就差强人意。随着w e b 的不断发展,人们不再满足于仅仅简单地浏览数据,而对数据的内容和结 构方面的使用提出了更高的要求,h t m l 对w e b 数据的描述也就渐渐力不从心了。 x m l 的出现一方面简化了s g m l 的复杂性,另一方面又弥补了h t m l 在描述文档的内容和结 构方面的不足。x m l 灵活而简易的特点使得文档设计者和软件开发者大为受益。x m l 提供了描述 文档数据的中性方法,同时它也可以使用现有的w e b 浏览器来显示。由于x m l 的灵活性,它可以 被文档设计者用于表示文档的结构,也可用于数据交换同时也能完成诸如w e b 信息发布,打印等 功能。我们有理由相信,在不久的将来,x m l 将会成为w e b 上的标准语言。 目前除了x m l l 0 规范以外,还有许多相关的规范与之互相协作,共同支持了文档数据的表示 和表现。到目前为止,w 3 组织提出的x m l 相关规范及草案包括x m l l 0 b p s 9 8 1 ,d o m w 0 0 9 8 , x s l d e a 9 9 ,x l i n k d o t 9 9 ,x p a t h c d 9 9 ,x p o i n t e r d d 9 9 ,x m ls c h e m a t b m 9 9 ,b m 9 9 1 ,x m l d a t a l j m 9 8 ,x m l q l d f f 9 8 等数十种。这套规范以x m l i 0 为核心,目的就是为文档数据( 特别 是w e b 上的数据) 提供表示的方法。x m l 系列规范自身也处于不断的发展和完善中,因此其中有许 多规范或草案目前还没有应用支持而仅停留在书面阶段,但也有部分规范已开始付诸实现。如 x m l l0 和d o m 。总体上来看,这些规范可以分为数据描述和数据操纵两类。其中数据描述规范主 要是x m l l0 ;而数据操纵规范包含如x s l ,x l i n k ,x p a t h 和x p o i n t e r 等。 1 3 w e b 数据管理与鸯咖技术 i j 究 3 2 2x m l 元素 x m l 是通过文本的方

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论