(计算机软件与理论专业论文)xml图形化查询语言的研究.pdf_第1页
(计算机软件与理论专业论文)xml图形化查询语言的研究.pdf_第2页
(计算机软件与理论专业论文)xml图形化查询语言的研究.pdf_第3页
(计算机软件与理论专业论文)xml图形化查询语言的研究.pdf_第4页
(计算机软件与理论专业论文)xml图形化查询语言的研究.pdf_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

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

文档简介

山东大学硕士学位论文 中文摘要 随着计算机技术和网络技术的迅猛发展,企业和个人通过潮络进行数据交换 变得越来越频繁,舳成为数据描述和数据交换的标准,越来越多的数据以 髓的形式存储和交换,大量的舭文档出现在网络应用中。随羞黼的广 泛应用,舳查询技术的研究也受到越来越多的重视,自舭1 o 问世以来, 相继出现了多种舭查询语言,腿查询语言的相关研究已经成为当前舭 数据库研究领域的一个热点。 目前,工业界和学术界提出了很多种旺查询语言,各种语言在语法形式 和查询能力上都不尽相同。在众多的查询语言中,x q u e 可是种比较成熟的语 言,很多大型公司以及科研机构都看好x q u e 黟,并且在不同程度上提供了对 x q u e 搿规范的支持。札图形化查询语言也是查询技术发展的一个熏要方向, 图形化查询语言的典型特点之一是能够产生用户友好的查询界面,降低用户学习 x 皿查询语言的难度,提高用户对髓文档查询的易用性。 本文在对x q u e 巧与咀。图形化查询语言研究的基础上,提出了一种有效 的讨也图形化查询语言向x q u e 黟查询转换的方法。本文讨论了x q u e 秽查询 语言的发展,对x q u e 珂的语法及特点进行了研究,讨论了图形化查询语言的数 据模型,并提漱了数据模型之间的转换规燹l ,在构造图形化查询语言条件查询树 的基础上,提出了儿图形化查询语言向x q u e 黟查询转换的算法与规则。在 该转换算法支掩下,用户可以在曼多的舭数据库平台下使用用户友好的查诲 界面进行数据查询。 本文所做的主要工作在于; 讨论了图形化查询语言的数据模型,并提出了对图形化查询语言数据模型的 简亿以及数据模型之闯进行转换的规则。 提出了条件查询树的构造方案,并给出条件查询树构造的具体步骤与规则。 提出了一种新的图形亿查诲语言转换方式,详细描述了躁形化查询语言转换 算法的基本思想,提出了算法的形式化描述及转换规则,并给出了转换算法 的具体实铡。 山东大学硕士学位论文 本文所做的具体工作是有意义的。本文实现了帆图形化查询语言向 x q u e l y 语言的查询转换,可以支持用户以更便捷的方式在更多的数据库平台下 进行舭数据查询。 关键词: x m l ;x q u e r y ;图形化查询;转换 薹l 山东大学硕士学位论文 a b s t r a c t a st h ed e v e l o p m e n to fc o m p u t e rt e c h l l o l o 舒a n dn 酾o r kt e 6 i l i l o l o 势,t i i e 鞠t 印蠢s 胬越d 遮蠢证乱鑫l s 缎瞳s 触磁m q 羚a 魏d 啪勰幽粗醣越铟豫鸯岖。i s b e c o n l i n gt h es 协n d a r do fd a t af o m a ta n dd a t at r a n s f e r ,m o r e 狮dm o r ed a t aa r es t o r e d a n d 嘲h 越g 鑫s 畦埒f o 燃鑫t 醴沮a 磁鑫s so f ) 圆凡玉e 鼬铋拯a 弹e 罄遗彘e a p p l i c 撕o no fn e t 、v o r k a sm eb r o a da p p l i c 撕o no f v 也t e c h n o l o 舒,v 儿q u e 拶 拇幽o l o 豁f e s e 鑫越h 3 sb e 缀m o f e 黻dm o 羚撤熊o n g e 囊羹g ,魏斑ea 辨e a f 禳 o ft 量l e 儿1 o ,t h e r ei sav a r i 啊o f 仉q u e 秽l a i l g u a g e ,n er e s e a r c ho f 皿 建u e 猡l 黜g 醢a g e h a s w b e m e a 融主堇l 龇凇d a t a b 蠢s e f e s e a 础量e 藿d a tp r e s e n t ,娃1 ei n d i l s t r i a lc i r c l e sa n da c a d e r n j cm a d eal o to fx m l q u e 秽l a n g i i a g e , g 黝黻颤蹦f 0 凇s 秘d 缨e 黟e 蟹a b i l i 畦e si 芏lv 撕o u sl 鞠g u a g e sa 糟莲妇泌嘲+ a 珏煳g t h eq u e 哆l a n g u a g e ,x q u e 矽i sam o r em a t u r ei a n g u a g e ,m a n yl a 唱ec o m p a i l i e sa s w e l la sf e s e a f c hi n 照碰。螨a r eo p t i 越延c 拍o u tx q 粥秽,a n d 幻v 哪趣gd e g r e e s , p r 0 啊d e sas t a n d a r dx q u e 哆s u p p o r t ) m 也掣a p k c a lq u e 可l 锄g u a g ei sa l s o 撇 i 扛l p o f t a n 专d i f e 蕊o no ft e 烛o l o 夥曲v e l o p 础烈,o n e 娃也e 咖i c a lc h 嚣a c t 融s t i c so f 伊a p h i c a lq u e 哕l a l l g u a g ei sp r o d u c i n gi l s e r m e n d l yq u e 猡i m e r l e k e ,“r e d u c et l l e d i 箍e 越桫o fu s e f s l e 锄幽喀x m lq u e 黟l a l l g u a g e ,a n di n l p r o w 懈e f s ,q u e 秽i n go f x m ld o c u m e n tf o rt h ee a s eo fu s e i 瓤sp 印e f 醐e o r d s 雒如碰v e n v e f s i o nt e c h n o l o 掰蠡o m 沮一鲫p m c a lq u e 巧 l a l l g u a g et ox q u e 黟q u e 秽l 雒g u a g e ,o nt 重l eb a s i so ft h er e s e 甜c hf o rx q i l e 巧r 褫d 咀一g r 础i c a lq u e 黟l a n g u a g e t h i sp a p e r 礅s c u s s e s 娃玲d e v e l 脒嫩o fx 如e 巧, s n 诫e sm e 跚锹锄df i e a n l r eo fx q u e 巧,d i s c l l s s e s 协e 笋印h i c a lq u e 哆l a n g u a g e s k al d e l 扭d 幽r d st h ef u l e so fc o n 、陀r s i o nb e 觚e e n tt h ed 砒am o d e l s ,铡1 da 矮o 础 t 董l ec o n v e r s i o na 1 9 0 f i 也m 雠dn l l e s 硒m 咀。伊a p h i c a lq u e 黟l a l l g u a g et ox q u e 秽 q u e 拶l a n g u a g e ,o n 缸l eb 豁i so ft h e n o no fm ec o n d i t i o nq u e 哆仃e e u l d e rn l e s u p p o r to ft l l e n v e r s i o n 啦p 矗伽豫t l s e f sc a l lq u e 拶d a t a 、) l ,i t l lu s 赫d l yi l l t e l 巍c e 如m o 糟舭龇a b a s e p l 舳衄 髓em a i nw o r 薹【sa n da e h i e 、偿黼锻l t so ft 耋l i sa l t i c l ea 1 e : l l l 山东大学硕士学位论文 d i s c u s s 吐1 ed a t am o d e lo fg r a p h i c a lq u e 珂l a l l g u 囊g e ,锄dp u tf 0 删m e p f e d i g e s t 主鼹o ft h eg 瑚斌c a 薹q t l e 黟l a n 辨a g ea n ( 1 搬e 砌e so fe o n v 篚s i 雌b 蝴t 圭l e d a t am o d e l s a f f o r das 锄c t u f es 出e m eo f t h ec o n d i t i 傀t f e e 糕d 参v et h ec o n c r e t es t e p s a n dm l e sf o rt h es 仃u c t u r eo f t h ec o n d i t i o n 仃e e a 脯r dan e w g r a p h i c a lq u e 黟l a l l g u a g ec o n v e r s i o n 。d e s c r i b et h eb a s i ci d e a0 f 谯e 珏v 锻s i o n 越g 斑h 整s 毹g r 础i e a lq 蹭黟l 黼g 潞g ed e 耄蘑l e 霞y 。鹾怒越氇ef o f 趣越 d e s c r i p t i o no fm ea l g o r i m m 撇dm ec o n v e r s i o nr u l e s ,a n d 西v e ss p e c i f i ce x 锄蟑l e so f 娃l ea l g o r i t h m 。 曩l ew o 呔o f 像ep a p 贸i ss i 弘i 蠡c 蔽v e ,露囊sp a p e fi 嘲l e m e n 抟畦l ec o n v e r s i o no f m eg r 印h i c a lx m l q u e 猡l a n g u a g e 锄dt h ex q u e 姆l 锄g u a g e ,趾dc a l ls u p p o r tl l s e r s q u e 猡畦l ex m ld 鑫耄a 强d 贸m o f ed a 专两鑫s op l 靛融f 激i n 鑫璜o c o 僦i 锄w 琴 k 摊g r d s :x m kx q 赫e 疆;g 瀚曲i e 瘗唾毯e 曙;e o 霸v e r 鲢强 原创性声明和关于学位论文使用授权的说明 原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师的指导下,独 立进行研究所取得的成果。除文中已经注明引用的内容外,本论文不 包含任何其他个人或集体已经发表或撰写过的科研成果。对本文的研 究做出重要贡献的个人和集体,均已在文中以明确方式标明。本声明 的法律责任由本人承担。 论文作者签名:量宝i 查 日期:兰塑s :生篁 关于学位论文使用授权的声明 本人完全了解山东大学有关保留、使用学位论文的规定,同意学 校保留或向国家有关部门或机构送交论文的复印件和电子版,允许论 文被查阅和借阅;本人授权山东大学可以将本学位论文的全部或部分 内容编入有关数据库进行检索,可以采用影印、缩印或其他复制手段 保存论文和汇编本学位论文。 ( 保密论文在解密后应遵守此规定) 论文作者签名:至童遗导师签名: 山东大学硕士学位论文 第一章绪论 本章余绍了本文的研究背景,阐述了本文的研究内容及主要工作,对本文的 组织结构进行了安排。 1 1 研究背景 隧着计算机嬲络技术的抉速发展,通过嬲络进行数据交换交得越来越频繁。 但是由于不同用户的数据往往采用了不同的数据表示方式,这就给数据的交换带 来了很大的不便。为了支持采用不同数据表示方式的焉户之间方便的进行数据交 换,迫切需要一种为各方用户所接受的数据表示标准,使数据交换的各方使用统 一煞数据表示方式。这时凇瘟运焉生,并在霉亍业中迅速普及,成为事实上的 数据表示标准。 q l 与传统数据瘁中的结构仡数据不周,岖。数据娜】是鸯我描述的,没 有预先固定的模式。v 毗与数据库界近年来研究的半结构化数据( s e i i l i s 仃u c t u r e d 趣两极为相似。所谓半结构化数据泓4 2 】,就是会于完全结构化数据f 如关系型数 据库、面向对象数据库中的数据) 和完全无结构的数据之间的数据,主要有以下 一些特点:对半结构化数据来说,是先有数据,居有模式;半结构化数据的模式 用于描述数据的结构信息,而不是对数据结构进行强制性的约束;半结构化数据 的模式是非精确的,它可能只描述数据的一部分结构,也可能根据数据处理不同 阶段的视角不同而不同;半结构化数据的模式可能规模很大,甚至超过源数据的 规模,蔗且会由子数据的不断更薪两处于动态的变化过程中。k 隐亿文档就属于 半结构化数据。它一般是自描述的,数据的结构和内容混在一起,没有明显的区 分。半结构化数据已有的理论和原型系统可以作为髓研究的基础。同时,砒 所具有的独特特性又为我们带来了新的研究课题。 在数据库系统f 3 ,”】中,数据的检索、转换和集成都是依赖查询语言的。在关 系数据库中,依赖s q l ;在面向对象数据库中,依赖0 q l 。粥帆文件是数据的 集合,因此可以说它也是一个数据库系统,但是川也数据模式与传统的关系和 面向对象数据的模式不同,所以不能直接把上述的查询语言应用于对舭数据 山东大学硕士学位论文 的查询。由于舭数据模式与半结构化数据的相似性,在半结构化数据查询语 言研究的基础上,邀现了许多针对舭的查询语言【l l 】。 当前对凇数据查询的研究已经是一个热点。尽管舭可以描述非常复 杂的结构,其本质仍然是树状的数据。迄今为止,工业界和学术界提出了很多 x 】帆查询语言,各种语言在语法形式和查询能力上都不尽相同。比较有代表性 的如早期的咀。q l f l 9 1 、x q l 【2 0 】,后来的沮。g l f 2 i l 、q u i l t 【2 2 】、x p 抽c 2 3 】,以 及由q u i l t 发展而来的x q u e 搿【1 2 ,1 羽。为了方便对门巴数据的查询,w 3 c 也已经 提出了多种汜查询语言的标准,例如x p a t h 、x q u e 碍等,这些查询语言都 将路径表达式作为核心内容嘲。对飙数据查询的研究主要是借助于吼d t d 和s c h e m a 来对v 匝数据进行查询,其思想是把旭数据转化为一棵文档树, 利用诳。d t d 和s c h e m a 所定义的沮。数据的层次结构,对沮。文档树进行 扫描,获得所要查询的数据。这方面的研究主要包括:对舭文档树进行扫描 算法的提出和优化,提高扫描文档树的效率;对查询表达式进行优化来提高查询 的效率等。 在w 3 c 的极力推动和学术界、工监界的大力支持下,x q u e 拶逐渐在这些查 询语言中脱颖而出,成为事实上的工业标准。x q u e 巧是一种发展得非常慎重的 w 3 c 标准【翊,因而演化得比较缓慢,x q u e 秽也因此而闻名。目前许多公司仍然 在这个领域创新,并且正不断产生大量的经验信息,许多大数据库厂商非常看好 x q u e 黟,本源门已数据库产晶如d b 叼已、t a 疵、i p e d o 等都加入了x q u e 猡 查询功能,而关系数据库业界的三大主流厂商o r a c l e 、m m 、m i c r 0 s o r 也都已经 在各宣的产品中提供了对x q u e 黟靓范的支持,丽不同程度的x q t l e 秽雩| 擎实现 也有3 0 多个。 相对丽言,江的图形亿查询发展就要缓慢的多。蠢前国内对此研究的很 少,正因如此,本文中对图形化查询语言的研究属于重点部分。x q u e 搿鼠然是 一种比较成熟的语言,但是对普通用户来说,它依然是比较复杂和匿难的。而 舭g l 是一种图形化的x 池查询语言,它的功能不是很强大,但它最大的特点 之一就是魇户容易掌握和易予理解。正是由于上述两种语言斡特点,本文中我们 对图形化的儿查询语言进行了研究,并在此基础上提出了图形化查询语言向 x q 珏e 搿转换的惑路【爨,这样用户瑟对的将是容易的多丽且功能也相对强大的图形 2 山东大学硕士学位论文 化查询语言,用户生成的查询也将会有工业界强力支持,这将大大提高用户对 x ,文档查询的易用性。对于图形化查询语言的转换,目前实现的是图形化查 询语言向s q l x 的转换1 7 1 。但是目前看来,x q u e 巧是一种更成熟的查询语言, 因此本文将实现图形化查询语言向x q u e 哆的转换【s 】。 对图形化查询语言的研究以及图形化查询语言向x q u e 巧查询转换的实现, 将大大降低用户学习舭查询语言的难度,提高用户学习舢以及相关技术 的热情。 1 2 本文的主要工作 本文主要针对舳图形化查询技术进行了研究,研究重点主要集中在舭 图形化查询语言的数据模型以及x m l 图形化查询语言向x q u e 巧的查询转换等 方面。在众多的舳查询技术中,重点介绍了x q u e 醪及舢图形化查询语 言,本文在此基础上,提出了一种有效的x 池图形化查询语言向x q u e 哆查询 转换的方法;本文详细介绍了x q u e 巧的发展,对x q u e 巧的语法及特点进行了 研究,讨论了已有相关查询语言的特点及不足;本文还讨论了x m l 图形化查询 语言及发展,提出了目前的图形化查询语言之间的数据模型转换,讨论了图形化 查询中的复杂查询;本文在对x q u e 珂及图形化查询语言研究的基础上,提出了 条件查询树的构造,进而在条件查询树的基础上提出x 地图形化查询语言向 x q u e 黟查询转换的算法与规则,在该转换算法支持下,用户可以方便快速的在 更多的数据库平台下进行儿数据查询。 本文所做的主要工作在于:提出了一种新的图形化查询语言转换方式,详细 描述了图形化查询语言转换的算法和规则。提出了条件查询树的构造方案,并给 出条件查询树构造的具体步骤与规则。讨论了图形化查询语言的数据模型,并提 出了对图形化查询语言数据模型的简化以及数据模型之间进行转换的规则。讨论 了图形化查询语言中复杂的查询。 1 3 本文的组织结构 本文是按照下面的结构组织的: 第一章主要论述了本论文的研究背景,并对本文的主要工作做了详细的阐述。 山东大学硕士学位论文 第二章中对帆进行了简单介绍,论述了x ,查询的相关技术,重点讨论 了x q u e 搿语言及查询技术。 第三章着重讨论了x m 的图形化查询语言,介绍了图形化奄询语言的发展 及相关工作,对目前图形化查询语言的数据模型进行了研究,并讨论了图形化查 询语言中复杂的查询。 第四章在前两章的基础上,提出了图形化查询语言向x q u e 拶查询转换的思 路,给出的转换算法及规则解决了图形化查询向x q u e 秽查询的转换, 给出几 个图形化查询的具体实例对算法进行验证。 第五章为总结和展望,对全文进行了总结,分析了本文研究成果的理论意义 和应用前景,并指出了今后需要进一步做的工作。 4 山东大学硕士学位论文 2 1x m l 简介 第二章x m l 查询技术的研究与分析 2 1 1x m l 定义 难。( e x t e n s i b l em 酞u pl 撒g u a g e ,可扩展标记语言) 是e l lw 硼dw i d ew e b c o n s o 越u m ( w 3 c ) 的儿工作组定义的。这个工作组是这样描述该语言的: “氓是s a 叼屯( s t 锄d a r d 蹶e r a l i z e dm a r k u pl 蹰g u a g e ,标准通用标记语言) 的 子集,其目标是允许普通的s a 旺在w e b 上以目前m m ,p e rt e 娥m 砌【u p l 雒g u a g e ) 的方式被服务、接受和处理。叼眦被设计成易于实现,且可在s q 订巳 和嗍,之间相互操作【1 1 。 诳。是一套定义语义标记的规剐,这些标记可将文档分成许多部件并对这 些部件加以标记【4 】。它不像删,或格式化程序。这些语言定义了一套固定的标 记,阁来描述定数西的元素。舭是一种元标记语言,焉户可以定义自己需 要的标记。这贱标记必须根据某些通用的原理来创建,叼吐标记描述的是稳定 内容的结构和含义,丽不是描述贾面元素的格式化。文档本身只说萌文档包含什 么标记,而不是说明文档看起来是什么样子的【9 】。 下面给出一个简单的旺文档莳例子。 例2 1i t e n 塔黼n l x q :i t e 聪x 艏n s i x q 一”h t t p :纨惭猢,i p e d o c o 耐x q u e 搿e x a 程l p l e “ x r i l l n s :c i n 卢”h 卸:,、矾 ,wi p e d o c 0 删q u e 巧e x 锄p l e j 白6 c o 砌 i l e n t ” 0 0 2 l s c o o t e r e a c h 及,o :p 赫a s 主n gi t e n f 涵藏咖e m a d ei nc h i i l 印讹m t :c o m m e n t 印蛀c e 1 2 0 0 0 唧r i c e 嘞l e m 9 0 0 3 山东大学硕士学位论文 p u r c h a s i n gi t e m - l i t t l ek i d sl o v ei t 印f i e e 地0 0 0 0 i t e m 们x q :i t e m s 透过悉的铡子,可以对蜢文档有了一个童躐的谈识:一个髓文档 由一个单一的最外面的元素及其子元素组成。 2 1 2 垤l 的起源 s g 鹾毛介绍 s 觚最初是由m m 开发的种用于排版的符号化语言,称为眦。经过 若干年的发展,1 9 8 4 年国际标准化协会( i s o ) 开始对此提案进行讨论,于1 9 8 6 年 正式承认s g m l 为国际标准规范( i s 0 8 8 7 9 ) 【2 5 】。 s a 涵实际上是一种通用的文档结构描述符号化语言,主要用来定义文献模 型的逻辑和物理类结构。个s a m 。语言文件由三部分组成,即语法定义、文 件类型定义d 呵d ( d 疆n i t i o n 耐p ed o c 啪e n t ) 和文件实例。语法定义部分定义了文 件类型定义和文件实例的语法结构;文件类型定义部分定义了文件实例的结构和 组成结构的元素类型;文件实傻是s a 江语言程序的主体部分。 在s 觚的实际使用中,每一个特定的d t d 都定义了一类文件。因此,人 们习惯上把具有某一特定瑚回的s g 池语言,称为某某符号化语言。这样 s g 池就成为那些派生语言的元语言。 h t m l 的出现 1 9 8 9 年,欧渊物理量子实验室e 鼬的的信息专家薷姆伯纳斯李发萌了 超文本链接语言,使用此语亩能轻松地将一个文件中的文字或图形连到其它的 文件中去,这就是砸池的前身。董约1 年,蒂姆很纳斯李在c 澍定义 了删,语言的第一个规范,之后成为w 3 c 组织为专门在互联网上发布信息 面设计的符号化语言规范。可以说,糯。是s 僦的一个实铡,它的d 仍作 为标准被固定下来。因此,肿,不能作为定义其它符号化语言的元语言。作 为w o 羹dw i 蠡w e b 的一个组成部分,壬玎豫+ 语言发展很快,在短短的几年里, 它已历经了h 【地1 0 、栅2 o 和删1 3 0 、删4 0 等多个版本,同时 翻龇动态) 、v 】飘醒,( 虚拟) 、s 硪蕊疆,等也飞速发襞起来。瑚。数篱单精 练的语法、极易掌握的通用性与易学性,使w e b 网页可以亲近于每一个普通人, 6 山东大学硕士学位论文 互联网因此得以普及发展以至今囡辉煌。但是,目前的删,还不稳定,不同 的测览器会产生不同的显示效果。此外,由予王嘲,对超级链接支持不足,并 缺乏空间立体描述,处理图形、图像、音频、视频等多媒体能力较弱,图文混排 功能筒单,不能表示多种媒体的同步关系等缺点,也影响嗍,的大规模应用 以及用于复杂的多媒体数据处理l z q 。 x m l 的诞生 1 9 9 6 年万维随协会( w o 耐w i d e w e bc 瓣s o 颤啪) 开始设计种可扩展的标记 语言,使其能够将s ( 汛儿( s 伽l d a r d ( ;e n e r a l i z e dm a r k u pl a n g u a g e ) 的灵活性和强大 的功缝与已经被广泛采牒的瑾限纯结合怒来,舰的设计者们的嚣标是:腿 将直接用于h l t e m e t ,舭与s 儿兼容,编写处理舭文件的程序很简单, 涩,的可选特征尽量少,泣文件清晰且易于阅读,x m 已设计尽量规范、简 洁。舭与s 觚有着密切的关系,这种继承了s g m l 的规范被称为舳, 它实际上是s q 讨毛的一个子集,保留了s 澄,可扩展性、结构以及数据确认方 面的主要优点,可支持建立用户定义的w e b 文件类型,对s 儿的某些内部数 值和参数进行了重新定义,省略? s 鼬中许多复杂丽少雳斡部分。舭不是 一种编程语言,它和s a 沮。一样是一种元语剖2 5 。 2 1 3x m l 的特点 与s g 池、嘲,相比,旺既继承了s 岔的特性,网时也具有麟, 的灵活性和通用性,具备如下的特点: f 1 ) 篱单性 舭为程序员和文档作者提供了一个友好的环境。x 地的严格定义和规则 集使入类和机器都能更容易昀阕读文档。) 国整文档语法惫含个菲常小的援则 集,使开发者能立刻开始工作。根据文档的结构,d 1 d ( d o c u l i l e n tt y p ed e 觚t i o n , 文档格式定义) 既可戮通过一个标准过程创建,也可以由专家创建。q 甑文档建 立在基本嵌套结构的一个核心集的基础之上。当一层又一层的细节被增加,使结 构变褥越来越复杂嚣童,作者或开发者只需要兔蠹部结构的复杂化付出毒常少的努 力。这些基本结构可以被用来代表复杂的信息集合,而不需要改变结构自身。 鼙匪的语法分析器也毒# 常容易创建。 ( 2 ) 结构化 7 山东大学硕士学位论文 舭文档将内容与格式分开描述,并利用样式表中的规则集对所描述的内容 文档的格式进行严格的说明。这样,儿的描述就像数据库一样具有了结构性。 ( 3 ) 可扩展性 舰允许用户根据需要自我创建囱定义标记,创建的标记只需要在样式表中 进行符合格式规则集的说明即可。很显然,这样的扩展性不会像h r m l 那样受 到扩展量的局限。咀。提供了一个表示结构化信息的架构,它允许定义饭意一 组标记,来满足不同内容的需求。这使得它突破了删,标记只能用来描述内 容的显示格式的限制,可以通过网络传送数据、显示数据,还可以将数据转交给 其他应用程序作进一步处理。 ( 4 ) 互操作性 舳可以在多种平台上使用,而且可以用多种工具进行解释。因为文档的结 构是相容的,所以解释它们的语法分析器就可以以较低的费用建立。舭支持 用于字符编码的许多主要标准,允许它在全世界许多不同的计算环境中使厢。 ( 5 ) 开放性 尽管还有一些关于衄的疑问,但这个标准自身在w 曲上确实是完全开放 的,可以免费获得。w 3 c 组织的成员已经较早的得到了这些标准,不过旦此 标准完成了,结果就是大家都可以获得的。衄文档自身也较为开放,任何入 都可以对一个结构良好的帆文档进行语法分析。 ( 6 ) 通用性及灵活性 x m l 是专门为w e b 设计的通用标记语言,它比跏,更具有通用性。凇 的灵活性表现在两个方面,一是溉文档也是纯文本文件,同瑚,一样,各 种编辑工具创建的儿文档都能被浏览器所显示;二是x l 儿允许自定义标签, 这种优势使得疆溯已应震无法与旺的应磺福比。 由于x m l 的上述特点,使得它成为一种在h l t e m e t 上共享信息和交换信息 的途径。舳的出现使互联瘸跨入了一个薪懿阶段,它将成为因特霹领域中一 个重要的开发平台。舳的诞生已经而且将继续促使全新种类的应用程序的产 生,而这些薪的威翊程亭又将需要薪的软俘移硬件工具。可以预测,无论楚在软 件还是硬件上,舭都将开辟一系列的新市场,促成互联网上新的革命。 山东大学硕士学位论文 2 2x m l 查询 随着计算机和网络技术的快速发展,) m 位的应用越来越广泛,) m m 数据 源变得更加复杂,面对用户日益提高的查询需求,以往飙查询语言显得力不 从心,而由w 3 c 于2 0 0 1 年设计公布的x q u e 黟性能良好,功能强大,能够更好 的满足用户对各种咀。数据的查询需求。本章拟对) 心也的特点及其数据源类 型进行分析,概括以往帆查询语言的优缺点,提出旺数据源对其查询语 言的要求;同时对x q u 螂语言进行研究。 对舭套询语言的研究是随着舳鹿用范围的扩大而发展的。针对飙 文档,已经有很多学者对其查询进行了研究,并提出了多种舭查询语言。如 对基于数据的沮。文档,数据库研究者从已有的关系数据库查询语畜( s q 功、 面向对象的查询语言( o q l ) 出发,提出了l o r e l ,。一g l ,沮。q l ,q u i l t 等查询语言。丽对基于记录的峨文档,专家同样提出了一些查询语言,比较 典型的如x q l 。这些查询语言促进了咀,的推广和应用。下面对其中较为典型 的l o r e l 进行分析。 l o r e l 是斯坦福大学开发的半结构化数据库管理系统l o r e 的查询语言,可用 于查询半结构纯的髓数据澄l 。在l o f e 系统中,将舭建模成半结构纯数据 模型下的数据,然后用l o r e l 进行查询。根据半结构化数据的特点,l 0 r e l 语言支 持数据类型的强制转换,提供了类型转换的规则和不同类型对象之间的院较规 则,目前它还基于o q l 语言扩展了路径表达式的表达,用通配符匹配路径的标 记或者适配某个标记的字符串,骏更好的满足对叼艮文档鹃查询。 下面是用l o r e l 书写的查询语言: s 蠢e 菇潮舔颥b : s 蘸e 爨煳1 l $ o o 炎: y e 嚣:y ,醐e :l ;) f r o mb i b b o o kb ,b 矗t l et ,b y e a ry 诚e f eb 。潮疆i 幽嚣= ”w 濉缴c 露黻dy 2 0 0 1 ) ) 从以上查询可以看出,l o r e l 在语法上采用了类似s q l 语言的形式,用 s 嚣珑c t 零删姗要莲格式对翻鹋系统中的) 纯数据进行查谗。箕孛蠹o m 语句包含需要在目标舭文件中进行匹配的数据模式,并将匹配的舭数据 绑定到些变量。然后在袖e f e 语句中,按照指定的条件,对绑定了实际数据的 变量进行选择过滤。最后所有满足条件的变量,按照s e l e c t 语句定义的) m 也数 9 山东大学硕士学位论文 据结构构造x m 结果。对于具有层次嵌套结构的查询和连接,用嵌套的s e l e c t 语句实现。 但是由于在半结构化的数据模型中不定义文档顺序,因此l o r e l 作为种数 据查询语言,在设计时没有过多考虑处理结构化文档的要求,这就导致了b f e 在对查询文档结构( 基于记录的x m l 文档) 方丽功能较弱,特别在重构查询结果 方面,l o r e l 要通过嵌套的s e l e c t 语句实现,相对比较复杂。 x q l ( 旭q u e 拶l 锄g u a g e ) 是由微软公司设计的针对基于文档的吼的查 询语言,它的目标足选择和过滤x m 乙文档的元素和文本f 2 0 j 。x q l 可以被看作 是x s l ( e 瓣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 表达类型节 点的基础上增加了布尔逻辑,过滤,节点集合索引等。下面是一个x q l 查询: d o c 啪e n t ( h t t p :m ,w n t m ,) 硒b b o o k 【p u b l i s h e f n a m e 一“w i l l i a mc r o r ”a n d y e a r 2 0 0 l 】 y e a rlt i t l e 上例中,模式匹配语句b i b 匹配文档中的所有b i b 元素,嵌套的括号和b o o k 【p 西l i s h e 加a 控l e 一“w 蹦a mc r o 形鑫魏d y e 拼2 l 】按即b l i s h e 妇锄e 子元素和 y e a r 属性的值选择满足条件的b o o k 节点,该查询结果就是只包括y e a r 属性和矗t l e 子元素的b k 元素。x q l 中没有单独的结果构造语句,结果的呱。数据结构 就是模式匹配语句中匹配的黼模式和选择过滤后满足条件的舭数据部分, 也就是说,在x q l 的查询中,保持节点的顺序和层次结构是必须的,遥常不考 虑改变的顺序和结构。但由于它的设计目标是简单、紧凑,因此限制了部分表达 能力。 由上文可以看出,很多凇套询语言有极强的针对性,往往对某种数据 类型的查询十分有效,但对勇一种数据类型的鸯诲却无能为力,有的针对莱一系 统,不具备通用性。正因如此,下面讨论了另一种功能更强的x 查询语言, 适用于各种类型的舰数据源的查询,兼其各种查谗语言酶优点。 l o 山东大学硕士学位论文 2 3x q u e r y 查询 2 3 1x q u e r y 的发展概述 x q u e 璎是一个从旺格式的文档中获取数据的查询语言,起源予凇数 据查询语言q l l i l t 。并将x pa 1 l l 版本2 0 作为其子集。q u i l t 有很多非常优秀的特 性,集s q l ,o 吣,a 斑1 0 ,x q 已,以及沮。一q l 的诸多特性于一身,然而隧 着存储在x m l 文档中的信息量的增长,对于能高效的存取和查询舭的信息, q 落l t 显示出了它的不足。于是全新的x q l l 蛰秽数据奁诲语言诞生了。 x q u e 巧规范【1 4 】启动于1 9 9 8 年由w 3 c 发起的查询语言波士顿专题讨论 会,与会的成员对凇的使焉应当划分为两类,第一类是将髓主要作为文 档使用的人,第二类是将舭作为数据使用的人。来自业界、学术界和研究团 体的受邀代表利用这个机会发表了各宣的看法,阐述了他们认为重要的砒 查询语言的特性和需求。讨论会之后成立了q u e 哆l a n g u a g ew b r k i n g u p ( 查询 语言工作组) 。这个工作组穰庞大,由3 0 多个成员公司构成,妒匝套诲语言标 准很好地代表了两类使用者的需求和观点。 虽然1 9 9 8 年x q u e 搿规范裁墨经窟动,但是由予匹疲用领域的差异,飙 范花费的时间是相当漫长的。x q u 吖工作组于1 9 9 9 年9 月正式成立,其任务是 剖建种灵活魏查诲语言以便苁江文档中抽取数据。作为种新型的查询语 言,x q u e 巧汲取了其它多种查询语言的优点,适用于各种类型的x m l 数据源 的查询,查询功能强大,x q 疆e 黟还具有扶多种数据库中检索信息的特点,它熊 对各种数据和文档进行查询。但是直到2 0 0 1 年2 月,工作组的发布工作才开始 大踏步地进行,大量的文档开始推出。在2 1 年6 月和1 2 冀、2 0 0 2 年s 月和 1 1 月、和2 0 0 3 年5 月进行了重要更新。在2 0 0 3 年5 月加入了一个x q u e 巧序 列化和两个全文相关的工作草案后,1 2 个文档基本完成,整个得工作草案正在 接近尾声工作。这1 2 份重要的文档包括: ( 1 ) 讨融( 接e 拶薹b q 瑾潮麓雠t 最薪版本发布于2 0 0 3 年l1 月1 2 鹭) 此文档施工作组的规划文档。x q u e 搿需求列表。 ( 2 ) 咀。q 孵哕u s ec a s e s ( 最薪版本发布于2 3 年1 1 月1 2 日) 此文档提供了解决特定问题的几个实际方案和x q u e 哆代码片段。 山东大学硕士学位论文 ( 3 ) x q u e 科1 0 :a nx m lq q e 秽l a n g u a g e ( 最新版本发布于2 0 0 3 年1 1 月1 2 目) 此文档是工作草案的核心文档,介绍语言本身,及对大多数其他内容的概述。 ( 4 ) x q u e 秽1 oa n d ) ( 1 a m2 od a t am o d e l ( 最新版本发布于2 0 0 3 年1 1 月1 2 日) 此文档是咀。信息集昭扩展。描述查谗实现必须理解的数据项和形式语义 的基础。 ( 5 ) x q u e 拶1 oa n d a t h2 。of o 黝越s e m 翘t i e 最新版本发布于2 0 0 3 年l1 月1 2 日) 此文档从形式上定义语言的底层代数。 ( 6 ) x 沲s y n t a ) 【f o rx q u e 秽i o ( x q u 州x ) ( 最新版本发布于2 0 0 3 年1 2 月1 9 日) 本文档为喜欢使用咀。的人提供的另一种语法。任何地方机器都可使用。 ( 7 ) x q u e 秽1 oa n d p a 出2 of u n c 矗o n sa n do p e 眦o r sv e f s i o n1 o ( 最新版本发布于 2 0 0 3 年1 1 月1 2 目 此文档描述了s c h e m a 数据类型、x q u e 秽节点及序捌的基本函数和操作符。 ( 8 ) 旺p a t hl a n g u a g e 撕) 2 o ( 最新版本发布于2 0 0 3 年1 1 月1 2 日) 此文档是一个单独分离出来的x p a t l l 文档。 ( 9 ) x p 础r e q u i r e m e n t sv e r s i o n2 。o ( 最新版本发布于2 0 0 3 年8 月2 2 日) 此文档是a t h 的需求文档。 ( 1 0 ) x s l t2 0a l l dx q u e 巧1 os e r i a l i z 撕o n ( 最新版本发布于2 0 0 3 年11 月1 2 日) 此文档介绍了x s l t2 o 和x q u e 搿1 0 的详细情况。 ( 1 l 黼q u e 哆a n d a f h f u l l - t e ) 【tr e q u i r e m e n t s ( 最新版本发布于2 0 0 3 年5 月2 日) 此文档描述了f u l l i t e 妣r e c o m m e n d a t i o n 需要达到的功能需求。 ( 1 2 ) 叼臣q u e 黟黼d ,柏f 溢l 矗e x 专u s ec a s e s ( 最薪版本发布子2 0 0 3 年2 月1 4 日1 山东大,学硕士学位论文 2 3 2x q u e r y 的语法 x 铷e 黟构建在x p a 聩l 规范之上,其核心是能够通过嘲l 表达式从文档选 择特殊的节点序列。x q u e 黟是一种将查询表示成表达式的功能语言。通过它所 支持的多种表达式,它的查询可以有各种不同的形式。各种x q u e 黟表达式可以 完全嵌套,也支持子查询。目前,数据库业界的三大主流厂商o r a c l e 、m m 、 砸c f o s o 建都已经在各宣的产品幸提供了对x q u e 猡规范昀支持。 x q u e 巧具有强大的查询和检索功能,它通过各种由关键字、符号、操作数 构成的表达式完成查询,其表达式的操作辩象又可以是另一个表达式【弱l 。 x q u e 珂模块包括三个部分:名字空间和模式声明,函数定义,查询表达式。其 中模式声明和黼数定义不是必需的。 每一个x q u e 搿查询包括一个或多个查询表达式。常用的x q u e 巧语法有: 路径表达式霉池琶冲f e s s i o n ) ,算术表达式与布尔表达式,f 琰融表达式,条件 表达式( c o n d i t i o n a le 冲r e s s i o n ) ,元素构造器但1 e m e n tc o n s t m c t o r ) ,以及函数调用 谬秘舔鼬c a l l ) 。 x q u e 可中最强大的特性是f l w r 表达式,f l w r 语法( 读作“n o w e r ) 是x 接e 猡最有趣的语法类型之一,它是一种典型的熊够完成具有菜秘实际意义 的查询的表达式。n ,佩表达式包含模式匹配、过滤选择和结果构造这兰种操作。 它翻看上去和s 鼬的s e l 嘲语旬类似,并量具鸯相似的功能。瓢腻代表 蕾o r _ l e t w h e r e r e h 咖“,它包含了四个子旬。后面将实现向该表达式的转换。下 面的联舳语法例子获驭江文档( 例2 。li 砉e 璐+ 则) 中赝有价格低于平均价 格的所有项。 稻f $ ii n 如e 潮凇掣d 鑫专旗考e m s 。x 熊”澎l e 嫩 l e t $ a v g 皿c e := a v g ( d o c 眦e n t ( ”d a t 砒t e m s x i i l l ”) i t e i i l 套r i c e ) 、穗e f e $ i 囊蛀 1 0 0 0 】 除了以下这些例外,空囱不具有含义,不是重要的: 元素构建者中的空白( 、枷i t e s p a c e ) 是受保护的。封闭表达式中的空白,如 e 冲f 是受保护鹣。除了出现在谓语外,空自不允许漱现在翌暾表达式中,例 如i t e m s i t e m 【n a m e = ”s c o o t e r i i 】。谓语( 【】封闭的部分) 能包含空

温馨提示

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

评论

0/150

提交评论