(计算机软件与理论专业论文)多dtd环境中xml查询技术研究.pdf_第1页
(计算机软件与理论专业论文)多dtd环境中xml查询技术研究.pdf_第2页
(计算机软件与理论专业论文)多dtd环境中xml查询技术研究.pdf_第3页
(计算机软件与理论专业论文)多dtd环境中xml查询技术研究.pdf_第4页
(计算机软件与理论专业论文)多dtd环境中xml查询技术研究.pdf_第5页
已阅读5页,还剩60页未读 继续免费阅读

(计算机软件与理论专业论文)多dtd环境中xml查询技术研究.pdf.pdf 免费下载

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

文档简介

多d t d 环境中x m l 查询技术研究 摘要 随着i n t e m e t 技术的迅速发展和电子商务等企业级的应用的迅速崛起,人们对 i n t e m e t 资源的处理要求也迅速提高。新出现的x m l 语言由于具有良好的扩展性、 自描述性、自相容性以及平台无关等优点,非常适于w e b 上的数据交换与发布, 满足目前w e b 应用的发展需要。所以它的标准一经制定,即得到了广泛的应用。 随着x m l 技术在w e b 数据交换中应用的日益广泛对各种各样的x m l 数据源 进行查询检索的要求也日益迫切。能够灵活的表示多种不同数据源的数据信息, 是x m l 最强大的功能之一。为了使这种灵活性得到最大程度的发挥,人们设计 了许多x m l 查询语言,如l o r e l ,x q l ,x q u e r y ,q u i l t 等等。但这些方法主要关注 对单一文档或遵循同一d t d ( d o c u m e n tt y p ed e f i n i t i o n ) 或s c h e m a 的多个x m l 文档的查询,在支持用户查询方面存在如下不足:1 ) 无法支持存在d t d 或s c h e m a 结构表现差异的一组相关l 数据的查询;2 ) 用户需要事先知道待查x m l 文档 的结构以构造查询。随着问题规模的扩大,查询服从多类d t d 或s c h e m a 的x m l 文档将逐步成为查询需求的主流,现有的方法不能为此提供良好的技术方案。 本文的目标在于研究基于多d t d 的x m l 数据源查询技术,在综合和参照现有 查询方案的基础上,主要的工作如下: 对多d t d 环境中x m l 文档的查询进行处理,解决x m l 集成中结构的异构 问题。通过有效的映射模式,对多d t d 实行统一管理,从而屏蔽了底层 数据源结构的不一致,为用户提供了统一的查询接口。同时我们采用基 于d t d 的x m l 查询处理方法,利用d t d 信息快速检索x m l 数据,一定程 度上提高了查询效率。 针对多个d t d 结构的不一致性,提出了实现相似结构查询的解决方案。 该方法采用独特的编码方式对d t d 和x m l 同时建立索引,然后用关系数 据库存放编码结果统一进行管理。用户可根据提供的x m l 节点列表构造 相应查询,其后系统将参照这种查询结构在数据库中搜索相似的d t d 结 构,并按其与原查询结构的树间距离进行排序。排序后的d t d 结构将返 回给用户供其选择。一旦用户选定了感兴趣的d t d 结构,系统将对遵循 这些d t d 的x m l 文档进行查询处理并返回最终结果。 同时,本文还给出了一种利用公共视图进行查询的方法,即基于本体的 x m l 查询。这种方法充分利用d t d 结构信息,自动生成x m l 到本体的映 射,把信息从底层数据源映射到全局模式。用户可以通过浏览本体构建 查询,然后系统根据映射规则将用户的树查询语句转换成基于d t d 的 x p a t h 查询语句,最后对x m l 数据源进行x p a t h 查询并返回结果。这种利 多d t d 环境中x m l 查询技术研究 用本体进行x m l 查询的方法,对x m l 数据源集成是极有帮助的。 关键词:x m l ,多d t d ,查询,相似结构,本体,自动映射 中图法分类号:t p 3 1 1 1 3 多d t d 环境中x m l 查询技术研究 a b s t r a c t w i t ht h er a p i dd e v e l o p m e n to fi n t e r a c ta n de n t e r p r i s ea p p l i c a t i o n s ,p e o p l e s r e q u i r e m e n t sf o r t h ei n t e m e ts o u r c e sh a v ea l s oe x p a n d e d t om e e tt h ei n c r e a s i n g a p p l i c a t i o nd e m a n d s an e wm a r k u pl a n g u a g ex m la p p e a r s n l em o s td i s t i n c t c h a r a c t e r i s t i co fx m li st h ei r r e l e v a n c eo fi t ss t r u c t u r ea n dr e p r e s e n t a t i o n f u r t h e r m o r e ,i ti se x t e n s i b l e ,s e l f - d e s c r i b i n ga n dc o m p a t i b l e t h e s ea d v a n t a g e sm a k e x m lv e r ya p p r o p r i a t ei nw e bd a t ae x c h a n g ea n dp u b l i s h i n g n o wi th a sb e c o m et h e d e f a c t os t a n d a r df o rt h ed e s c r i p t i o no fw e bd a t a t h ei n c r e a s i n ga p p l i c a t i o no fx m lb r i n g so nm o r ea n dm o r er e q u i r e m e n t sf o r p e r f o r m a n c eo fx m lq u e r y r e s e a r c ho nx m lq u e r yi sb e c o m i n gah o tt o p i ci nd a t a m a n a g e m e n tf i e l d s e v e r a lq u e r yl a n g u a g e sh a v eb e e nd e s i g n e df o re f f i c i e n tr e t r i e v a l o fx m ld o c u m e n t s ,s u c ha sl o r e l ,x q l ,x q u e r y , q u i l t h o w e v e r , m o s to ft h e mp a y a t t e n t i o nt ot h es t o r a g eo fs i n g l e d t d - b a s e dx m ld o c u m e n t s f o ru s e r s q u e r i e s , t h e yf a i lt os o l v ei nt h ef o l l o w st h r e ew a y s :1 1ag e n e r a lq u e r yc a n tb ee x e c u t e do n x m ld o c u m e n t sw h i c hh a v ed i f f e r e n c ei nd t d s e h e m as t r u c t u r eb u tm a yh a v e r e l a t e di n f o r m a t i o n 2 1u s e r sm u s tk n o wt h ed e t a i l e ds t r u c t u r eo fs e a r c h e dx m l d o c u m e n t st oc o n s t r u c ta r tx m lq u e r y w 强a p p l i c a t i o n sd e 印l yd e v e l o p e d ,s u c h q u e r i e do nx m ld o c u m e n t se o m p l y i n g 、;v i t l lm u m - d t do rm u l t i - s c h e m aw i l l g r a d u a l l yb e c o m et h em a i nr e q u i r e m e n t si nx m lq u e r y n e wt e c h n i q u e sa r ee x p e c t e d t oe f f i c i e n t l ys o l v et h ep r o b l e m n ef o c u so ft h i st h e s i si st or e s e a r c ho ux m l q u e r i e si nm u l t i - d t da p p l i c a t i o n c i r c u m s t a n c e o u rc o n t r i b u t i o n sc a nb es u m m a r i z e da s : p r o v i d es o l u t i o n sf o rx m lq u e r i e si nm u l t i d t dc i r c u m s t a n c et os o l v e s t r u c t u r a lh e t e r o g e n e i t yd u r i n gi n t e g r a t i o no fx m ld o c u m e n t s t h r o u g h e f f e c t i v em a p p i n gs c h e m a ,d i f f e r e n td t d sc a nb em a n a g e df r o mag l o b a l v i e ws ot h a tt h es t r u c t u r a lh e t e r o g e n e i t yo fx m ld a t as o u r c e sw i l lb e t r a n s p a r e n tf o ru s e r s a n dau n i f i e dq u e r yi n t e r f a c ei sp r o v i d e df o ru s e r st o e a s i l yr e l i e v er e q u i r e dd a t a f u r t h e r m o r e ,w ep r e s e n tad t d b a s e dx m l q u e r ym e t h o d , w h i c hm a k e sf u l lu s eo fd t di n f o r m a t i o nt os p e e du pt h e r e t r i e v a lo f x m ld a t ag r e a t l y t os o l v es t r u c t u r a lh e t e r o g e n e i t yo f m u l t i p l ed t d s w ep u tf o r w a r dam e t h o d f r o mt h ev i e wo fs y n t a xl a y e r t h i sm e t h o da d o p t sap a r t i c u l a rn u m b e r i n g s c h e m at oc r e a t ei n d i c e sf o rb o t l ld t da n dx m ld o c u m e n t s w h i c hw i l lb e 3 多d t d 环境中x m l 查询技术研究 s t o r e di nar e l a t i o n a ld a t a b a s ef o rg e n e r a lm a n a g e m e n t u s e sc a nc o n s t r u c t t h e i rq u e r ya c c o r d i n gt ot h e 百v e nx m le l e m e n tl i s t t h e no b rs y s t e mw i l l s e a r c ht h ec a n d i d a t ed t d sw h i c ha r cs i m i l a rt ot h eq u e r ys t r u c t u r e a n dl i s t t h e mi nt h eo r d e ro f t h ed i s t a n c eb e t w e e nd t da n dq u e r ys t r u c t u r ef o ru s e r s f u t u r es e l e c t i o n o n c eu s e r ss e l e c tt h o s et h e ya r ei n t e r e s t e di n ,t h es y s t e m w i l le x e c u t ex p a t h - b a s e dq u e r yo nx m ld o c u m e n t st h a tc o n f o r mt ot h e s e l e c t e dd t d s m e a n w h i l e ,w ep r o p o s ea n o t h e rm e t h o df i o mag l o b a lv i e w ,t h a ti s ,a n o n t o l o g y - b a s e dx m lq u e r ym e t h o d i nt h i sm e t h o d ,o n t o l o g i e sa r er e g a r d e d a sag l o b a ls c h e m at op r o v i d eau n i f i e di n t e r f a c e w ec a l ld e r i v em a p p i n g s f r o mx m lt oo n t o l o g i e sb yf u l l ym a k i n gu s eo f d t d i n f o r m a t i o n ,s ot h a tt h e i n f o r m a t i o ni nt h eb o t t o ml e v e lc a r lb el i f t e dt ot h eg l o b a ll e v e lo f o n t o l o g i e s u s e r sc a l lm a k et h e i rq u e r yb yb r o w s i n gt h eo n t o l o g y ,w h i c hw i l lb e c o n v e r t e di n t oad t d - b a s e dx p a t hq u e r ya c c o r d i n gt ot h eg e n e r a t e d m a p p i n gr u l e s t h e nw ec a nd i r e c t l ye x e c u t et h ea c t u a lx p a t hq u e r yo nx m l s o u r c e s t h i so n t o l o g y - b a s e dq u e r ym e t h o dh a ss h o w na l le a s ya u t o m a t i c w a y t oi n f o r m a t i o ni n t e g r a t i o no f x m ld a t as o u r c e s k e y w o r d s :x m l ,m u l t i - d t d ,q u e r y ,s i m i l a rs t r u e t n r e ,o n t o l o g y ,m a p p i n g c l a s s i f i e a t i o nc o d e :t p 3 1 1 1 3 4 第一章绪论 第一章绪论 随着i n t e m e t 技术的迅速发展,互联网已经成为新经济时代的标志,它极大地 影响了人类的生活方式、商业模式,并将在新世纪继续对人类社会的进步起着巨 大的推动作用。面对日益庞大的信息海洋,人们遇到了w e b 应用的一个大问题: 虽然可以在线获得各种信息,但是找到所需要的信息常常极为困难。其中虽然有 硬件方面的原因,但究其主要原因,是由目前w e b 语言_ h t m l 的性质所引起 的。尽管h t m l 从发明以来,已成为最成功的电子发布语言,但是它仅注重信息 的表现形式,并没有对信息本身进行描述,并且它的标记集合是固定的,不能够 根据需要进行扩展。随着w e b 应用的日益广泛,h t m l 的局限性越来越明显,不 适于作为w e b 上数据交换和表示的工具。 为了满足w e b 应用进一步发展的需求,w 3 c 组织于1 9 9 8 年2 月制定了一种新的 通用语言规范,即可扩展标记语言x m l ( e x t e n s i b l em a r k u pl a n g u a g e ) 1 】 2 。 同h t m l 一样,x m l 是s g m l ( s t a n d a r dg e n e r a l i z e dm a r k u pl a n g u a g e ) 的一个简 化子集。它将s g m l 的丰富功能与h t m l 的易用性结合到w e b 的应用中,以一种 开放的自我描述方式定义了数据结构,在描述数据内容的同时能突出对结构的描 述,从而体现出数据之间的关系。和h t m l 相比,x m l 是面向内容的,同时它具 有良好的可扩展性,自描述性以及更多的语义表示。这些特点使x m l 特别适用 于w e b 上的数据交换,事实上它已成为目前w e b 数据交换和数据发布的标准。 1 1 x m l 简介 x m l 是一种用于w e b 网络上的数据和文档结构的通用标记语言。作为s g m l 的一个优化子集,x m l 突破了h t m l 固定标记集合的约束,弥补了h t m l 的诸多 不足。x m l 允许文档开发人员创建描述数据的标记,并使开发人员可以创建被 称为文档类型定义( d t d ) 的规则集合。任何标准的x m l 语法分析器都可以读 取、解码和检验这种基于文本的自描述文档,并以独立于平台的方式提取数据元 素,因此使应用程序可以通过另一种名为文档对象模型( d o m ) 的标准访问数 据对象。对于电子商务软件厂商和行业集团来说,x m l 的通用数据交换格式提 供了可以与其它基于标准的协议( 如h t t p 、t c m p ) 以及 n t e r n e t - - 起使用的基 于标准的构件。各公司已经开始支持x m l :数据库厂商o r a c l e 公司和i b m 从一开 始就支持x m l ;m i c r o s o f t 的i e 5 0 h a 及n e t s c a p ew e b 浏览器也都支持x m l ;s u n 公司考虑将此标准作为用于j a v a 的可移植数据语言。此外,像o b j e c td e s i g n 公司 第一章绪论 的e x c e l o n 这类应用服务器提供了x m l 来支持应用集成、数据交换和电子商务。 概括说来,x m l 具有以下特点: 良好的可扩展性:x m l 允许各个不同的行业根据自己独特的需要制定自 己的一套标记,同时,它要求所有浏览器都能处理这成千上万个标记, 同样也不要求一个标记语言能够适合各个行业各个领域的应用,这种具 体问题具体分析的方法更有助于标记语言的发展。 内容与形式的分离:x m l 中信息的显示方式已经从信息本身中抽取出 来,放在了“样式单”中。这样做便于信息表现方式的修改,便于数据的 搜索,也使得x m l 具有良好的自描述性,能够描述信息本身的含义甚至 它们之间的层次关系。 内容的独立性:由于) 0 l 是自描述的,使得x m l 可以脱离具体应用来描 述保存在异构环境中的各种数据,其它系统应用能直接对这些自描述的 x m l 文件中的数据进行操作;由于讧l 的数据语义和数据独立性,它也 将成为跨平台数据交换和操作的标准模式。 遵循严格的语法要求:x m l 不但要求标记配对、嵌套,而且还要求严格 遵守x m l 模式的规定。这增加了网页文档的可读性和可维护性,大大减 轻了浏览器开发人员的负担。 便于不同系统之间信息的传输:不同企业、不同部门中往往存在着许多 不同的系统,x m l 提供了描述不同类型数据的标准格式。例如:约会记 录、购买定单、数据库记录、图形、声音等,x m l 可以用作各种不同系 统之间的交流媒介,来描述不同复杂程度的数据,是一种非常理想的网 络语言。 x m l 作为i n t e m e t 上的数据表示和交换的新标准格式出现,正对数据库学术界 和工业界提出挑战,是一个很有前途的方向。接下来我们将对x m l 文档结构以 及d t d 作具体说明。 一个x m l 文档包含了从根元素开始的嵌套元素结构。每个元素有一个标签 ( t a g ) 与之相对应,除了字符串数据,它还可以包含属性值对和嵌套子元素。 同时包含字符串数据和嵌套予元素的元素被称为具有混合内容( m i x e dc o n t e n t ) 的元素。x m l 中的元素标签必须良好嵌套,这样的x m l 文档是良构的 ( w e l l f o r m e d ) 。图1 1 给出了一个描述出版信息的x m l 文档。其中根元素 t p u b l i c a t i o n s t 包含予元素。b o o k t 和属性y e a r ,并且b o o k 。元素还包括自己的予元素 集t t i t l e $ 1 a u t h o r 。值得注意的是,一个 p u b l i c a t i o n s 。元素包含了多个b o o k 子元 素( 集合) ,即p u b l i c a t i o n s 元素( 父元素) 与b o o k 元素( 子元素) 之间是一对 多的关系。同样的关系出现在元素b o o k 和 a u t h o r 之间。 第一章绪论 a u t h o ri a u t h o r2 刮a u i l l o r t i t l e2 a u t h o r1 图1 1 描述出版信息的x m l 文档片断 ! e ie 但n t ! a r n 1 s t ! e l e m e n t ! e l e m e n t t n l e 释c d a t a a u t h o r # p c d a t a 】 p r i c e # p c d p 汀a 图1 2 描述出版信息的d t d d t d ( d o c u m e n tt y p ed e s c r i p t i o n ) 2 】规定了x m l 文档的结构,可以视为x m l 文档的模式。d t d 通过描述子元素和属性的名字及类型来定义x m l 元素的结构。 嵌套予元素的出现次数用类似正则表达式的如下符号规定:( 包含零或多个元 素的集合) ,+ ( 至少包含一个元素的集合) ,? ( 包含零或一个元素) 和没有修 饰( 包含且仅包含一个元素) 。同时d t d 也严格规定了x m l 文档中元素的子元 素的出现顺序,即按照元素定义的正则表达式顺次展开。x m l 元素允许包含至 多一个类型为i d 的属性,由该属性在文档域内唯一标识该元素,同时其他元素也 可以通过类型为i d r e f 的属性对其加以引用。i d r e f 属性并没有指明该属性所指 向的元素类型,在这一意义上说,i d r e f 属性是没有类型的。属性定义中可以用 # r e q u i e d 和# i m p l i e d 等修饰符类似描述其在出现次数上的约束,同时属性的 取值范围也可在d t d 定义。一个良构且符合d t d 的定义的x m l 文档被称为是 有效的( v a l i d ) 。 图1 2 给出了描述出版信息的d t d 。根据定义,p u b l i c a t i o n s 元素可包含一个 。y e a r 属性和多个b o o k 元素,1 b o o k 元素可包含多个a u t h o r 元素和一个t i t l e 元 素,而p r i c e ,元素则是可选的,这在符合该定义的x m l 文档( 图1 1 ) 中已有所表 现。 1 2x m l 查询相关技术 随着x m l 在w e b 数据处理中的广泛应用,对) ( 1 帆查询技术的研究也日益受到 人们的关注【3 】。主要涉及以下几个方面: 第一章绪论 1 路径表达式查询 由于w e b 上的x m l 数据常常是不规则和易变的,因此基于一般路径表达式 ( g e n e r a lp a t he x p r e s s i o n ) 的查询将非常有用。当前流行的很多x m l 查询原型语 言都以路径表达式为基础,提供路径导航式的查询方法。其中比较著名的有 x q u e r y 4 ,x m l q l 5 ,x q l 6 ,l o r e l 7 ,x m l - g l 8 ,q u i l t 9 等。其中应用和发 展较大的是x m l 查询语言x q u e r y ,它是w 3 c 发布的标准。x q u e r y 为x m l 文档提 供了一个数据模型、一组基于这个模型的查询操作以及在这些操作基础上的查询 语言。其核心是x p a t l 卜_ x m l 路径语言【l o 】。尽管不同的查询语言,在形式上 所使用的路径表达式有很大的不同,但其功能确实类似,即沿路径导航定位实现 x m l 数据的检索。 2 索引技术 利用索引技术加快x m l 数据查询,也是x m l 研究的重要方向之一。国内外现 己提出的几种主要x m l 索引方法有d a t a g u i d e s 1 1 、i n d e xf a b r i c 1 2 、t o x i n 1 3 、 x i s s 1 4 和s p h i n x 1 5 等。d a t a g u i d e s 精确记录了x m l 树中出现的所有路径,对 于自根向下的路径查询非常有用。i n d e xf 曲r i c 是一种基于p a t r i e i af i e 的半结构化 数据索引结构,它将路径编码成字符串,利用后者的比较和查询执行相关的结构 查询。t o x i n 结合了面向对象的思想来建立路径索引,它能够从x m l 树的任意节 点向上或向下导航。x i s s 提供元素索引、属性索引和结构索引三种索引结构, 将查询路径表达式分段计算,然后按不同的节点间关系约束依次联接产生最终结 果。s p h i n x $ 1 j 用d t d 信息对x m l 文档进行索引,但它对d t d 的利用并不彻底。 3 利用结构的查询方法 d t d 是一种描述x m l 数据模式的模式定义语言。利用d t d 结构信息进行 x m l 查询,也是当前x m l 查询技术的研究热点之一。d t d 结构对于x m l 索引的 建立及查询效率的提高,可以产生重大的影响。虽然x m l 标准并不要求必须使 用d t d ,但当x m l 文档含有d t d 时,这种结构信息对于x m l 文档的存储、查询 和交换有重要作用;对于没有指明d t d 的x m l 文档,也有许多现成的d t d 抽取 软件如x t r a c t 1 6 可以利用。充分利用d t d 实现) 蹦l 查询优化也是一条应当重 视的有效途径。 4 数据存储 x m l 数据的物理存储格式对查询处理的效率有很大的影响。目前主要有三种 方案:1 ) 文本格式,这是存储x m l 数据的标准格式。为了提高查询效率可以建 立索引,索引的维护是需要解决的关键问题。2 ) 将x m l 数据存储于传统数据库 4 第一章绪论 中,如 1 7 2 h 等。在生成x m l 文档到关系表的映射关系时,将x m l 文档解析成 图结构再提供相应的关系模式来储存这些图结构 1 7 ,1 8 】:或者把x m l 文档结构 ( 立 i d t d ) 直接映射到数据库关系模式,再将x m l 文档数据存放到这些模式对 应的关系表中【1 9 2 l 】。利用传统数据库系统的查询处理机制可以获彳导较高的效 率,但x m l 数据与传统数据库之间的转换可能导致某些信息的损失。3 ) 使用对象 管理器保存x m l 数据 2 2 1 。这类系统目前缺乏类似s q l 或o q l 的通用的查询语 一 口o 5 集成视图 在多d t d 应用环境中,利用视图可以屏蔽底层数据的异构性,为用户提供统 一的查询接口。目前对公共视图的选择有多种方案。由于本体能提供特定领域通 用的理解 2 3 】,利用本体来作为公共视图实现x m l 数据源的查询越来越受到人们 的青睐。基于本体的集成方案主要以x m l 文档和本体的映射关系为入口,通过 将x m l 映射成本体的概念来完成底层数据结构到全局模式的转化,实现信息的 集成。当前提出的解决方案主要由人工完成。然而异构信息源种类的繁多、结构 的复杂使人工操作面临着很大挑战。 1 3 本文的主要工作和研究成果 应该指出,目前提出的一些x m l 查询方法还主要关注对单一文档或遵循同一 d t d 或s c h e m a 的多个x m l 文档的查询,对多d t d 环境中的x m l 数据结构不一致 的问题鲜少涉及。而且这类方法在支持用户查询方面存在如下不足:1 ) 无法支 持存在d t d 或s c h e m a 结构表现差异的一组相关x m l 数据的查询;2 ) 用户需要事 先知道待查x m l 文档的结构以构造查询。随着问题规模的扩大,查询服从多类 d t d 或s c h e m a 的x m l 文档将逐步成为查询需求的主流,而现有的方法不能为此 提供良好的技术方案。 本文的目标在于研究基于多d t d 的x m l 数据源查询技术,在综合和参照现有 系统的基础上,主要的工作如下: 对多d t d 环境中x m l 文档的查询进行处理,解决x m l 集成中结构的异构 问题。通过有效的映射模式,对多d t d 实行统一管理,从而屏蔽了底层 数据源结构的不一致,为用户提供了统一的查询接口。同时我们采用基 于d t d 的x m l 查询处理方法,利用d t d 信息快速检索x m l 数据,一定程 度上提高了查询效率。 针对多个d t d 结构的不一致性,提出了实现相似结构查询的解决方案。 第一章绪论 该方法采用独特的编码方式对d t d 和x m l 同时建立索引,然后用关系数 据库存放编码结果统一进行管理。用户可根据提供的x m l 节点列表构造 相应查询,其后系统将参照这种查询结构在数据库中搜索相似的d t d 结 构,并按其与原查询结构的树间距离进行排序。排序后的d t d 结构将返 回给用户供其选择。旦用户选定了感兴趣的d t d 结构,系统将对遵循 这些d t d 的x m l 文档进行查询处理并返回最终结果。 同时,本文还给出了一种利用公共视图进行查询的方法,即基于本体的 x i v l l 查询。这种方法充分利用d t d 结构信息,自动生成x m l 到本体的映 射,把信息从底层数据源映射到全局模式。用户可以通过浏览本体构建 查询,然后系统根据映射规则将用户的树查询语句转换成基于d t d 的 x p a t h 查询语句,最后对x m l 数据源进行x p a t h 查询并返回结果。这种利 用本体进行x m l 查询的方法,对x m l 数据源集成是极有帮助的。 1 4 本文的组织结构 第一章:绪论本章概述了论文的研究背景,指出了存在的问题及挑战。并 简要介绍了本文的主要工作和贡献。 第二章:x m l 查询研究现状本章概述了目前x m l 查询处理的研究现状。对 路径表达式查询,利用结构和不利用结构的查询方法作了简要分析,阐述了利用 结构辅助查询的意义,并重点介绍了一种基于d t d 的查询方法。 第三章:基于多d t d 的x m l 查询本章对基于多d t d 的x m l 查询方法进行了 研究,给出了一种实现相似结构查询以解决x m l 数据结构的不一致问题的方法。 详细介绍了所采用的编码机制、存储模式、候选d t d 定位及排序、查询处理等核 心技术,最后给出了原型系统s m a r tx m lq u e r y 。 第四章:基于本体的x m l 查询本章介绍了一种通过全局模式映射实现多 d t d 中x m l 查询的方法一即基于本体的x m l 查询。首先介绍了一种将x m l 映射到本体的路径映射语言,然后详细论述了这种映射规则的自动生成算法,最 后给出了基于本体的查询转换及处理过程。 第五章:总结与展望本章总结了全文内容,并对未来的研究方向作了展望。 6 第二章x m l 查询研究现状 第二章x m l 查询研究现状 x m l 技术的发展和i n t e r a c t 有着密不可分的关系。正是由于w e b 的不断发展, 才产生了x m l 语言,才产生了x m l 数据管理新的要求。随着w e b 技术的进一步 发展和企业级应用的进一步深入,x m l 相关技术的研究也越来越受到专家学者 的关注。本章将对x m l 查询处理的研究现状作简要介绍。 2 1 x m l 路径表达式查询 由于越来越多的结构化或半结构化的数据采用x m l 格式存储和交换,因此对 x m l 数据的查询变褥愈加重要。自x m l l 。0 推出后,有关各方先后提出了很多查 询语言的方案,有的是在以前半结构化数据的查询语言的基础上,针对x m l 的 特点作了必要的扩展,如l o r e l 7 2 4 、w e b o q l 2 5 1 等。另外一些则是专门为x m l 的查询而提出的如x m l - q l 5 、x q l 6 及q u i l t 9 等等。w 3 cx m l 查询工作组提 出的查询语言x q u e r y 4 借鉴了结构化、半结构化数据查询语言的很多特性,并 且较多地考虑了对不同类型数据源( 包括传统的数据库系统及文档系统等) 的访 问能力以及在小型化、易于实现以及可读性等方面的要求。关于x m l 查询语言 的分析比较见 2 6 2 7 1 。 尽管不同的查询语言,在形式上所使用的路径表达式有很大不同,但其功能 确实类似,即提供路径导航式的查询方式。对用户给出的路径表达式,这类方法 能遍历路径准确定位欲查询的x m l 节点,返回正确的结果。因此,基于路径表 达式的查询问题是关于x m l 数据查询最基本也是最核心的问题。 路径表达式是由节点与节点间的关系约束依次间隔构成的有限长度的列表。 表达式的表达能力是衡量和划分表达式的重要指标。对表达式表达能力的鉴定可 以从以下若干方面进行。 1 ) 节点名 节点名是否是由确定的字符组成;是否允许通配符“”与_ ,匹配0 个至多个 或任意单个字符;是否允许用户使用正则操作+ 、“”、“? ”和“| ”来表达更为复 杂的概念。 2 ) 节点构造 节点是否允许嵌套递归,即允许节点由其他的一条子路径或节点构造组成; 节点是否允许正则操作;节点是否允许为其附加相应的谓词约束。 3 ) 节点间的关系约束 第二章x m l 查询研究现状 节点间的关系约束是固定的直接连接,还是允许用户指定其在数据中的具体 表现形式,如后继和祖先关系等等。 根据各项指标的复合程度,我们可将路经表达式按照表达能力化分为以下两 类:简单路径表达式( s i m p l ep a t he x p r e s s i o n ) 和一般路径表达式( g e n e r a lp a t h e x p r e s s i o n ) 。下面分别加以讨论: 简单路径表达式当查询x m l 数据时,尤其当事先不知道精确结构时,使用基于 路径表达式的“导航式”查询是很方便的。其主要思想是规定在x m l 文档图中 的基于节点名的序列的路径。简单路径表达式( 简称s p e ) 是一个节点名的序列, 1 1 1 n 2 n m ,其中n l ,1 1 2 ,a m 是节点名,n i n j 代表从节点n i 至 j n j 的路径。n i + 1 是n i 的子 节点。节点包括元素节点、属性节点、文本节点,元素节点的节点名就是该元素 的标记,属性节点的节点名是该属性的属性名,文本节点的节点名是t e x t 。例如 简单路径表达式p u b l i c a t i o n b o o k a u t h o r 。在x m l 文档的查询中引入简单路径表 达式,可以使用户写查询方便,而且有简洁的句法形式,o q l 路径表达式与简单 路径表达式相比过于繁琐。 一般路径表达式对于x m l 数据而言,其模式可能事先并不确定,而且也不是固 定不变的。由于x m l 数据的这种灵活性以及它模式与数据并存的特点,引入一 般路径表达式是必要的。一般路径表达式( 简称g p e ) 扩展了简单路径表达式, 对于查询数据和模式提供了强有力的机制。例如p u b l i e a t i o n 拌a u t h o r 中,“# ”通配 符指以元素实例集合p u b l i c a t i o n 为初始集合,经过任意路径( 零条或多条) 到达 节点名为a u t h o r 的元素,找出所有该元素的子元素。 从上面的例子可以看出,一般路径表达式与简单路径表达式相比,提供了更 多的功能,主要分为以下四项: 1 ) 正则表达式:这是广义路径表达式对简单路径表达式最重要的扩充。正 则表达式( 简称r p e ) ,如果e 是x o e m ( x m l - b a s e do b j e c te x c h a n g em o d e l ) 中 的节点,那么e 是正则表达式;如果r i 和r 2 是正则表达式,那么下面的表达式都 是正则表达式:r 1 r 2 ,r iir 2 , 1 ) ,( r i ) ? ,僻1 ) + , 1 ) 。这里,“i ”表示或;“? ” 表示出现0 或1 次;+ ”表示1 或多次;“ 表示0 或多次。 2 ) 通配符:引入正则表达式已经给查询带来了许多灵活性。然而,当查询 x m l 数据时,用户可能并不知道元素的结构或者它们的相对顺序,这时引入“通 配符”的概念是必要的,主要有两个通配符:“”和嗜”。“”匹配节点名的0 个 或多个字符。可以在正则表达式的任何位置使用通配符“”。( ) 表示匹配元素 第二章x m l 查询研究现状 的任意子元素。峰”比“”使用更为广泛,它匹配两个节点之间的任意路径,用 户可以通过“拱”查询一个节点到达另一节点的路径,从而获得x m l 数据的模式。 “撑”与“”的转换关系是:“群”是( ) 的缩写。 3 ) 路径变量;当用户需要得到两节点之间的路径表达式时,需要引入路径 变量,它把广义路径表达式中的路径绑定到变量上。用户通过输出变量就可以得 到路径表达式。 4 ) 元素变量:元素变量可以出现在广义路径表达式的任何一个正则表达式 后,用于绑定该表达式对应的元素实例或实例集合。元素变量的引入主要是为了 句法上的简洁。 路径导航式的查询方法,使用户对x m l 文档的查询变得非常灵活。这里不得 不提及x p a t h 语言( x m lp a t hl a n g u a g e ) 。它是w 3 c 发布的用于对x m l 文档子集 寻址定位的标准语言 1 0 1 。x p a t h 支持用于标识单个文档内子集的文档表达式。 a t h 最主要目的是用于x m l 文档选定部分的定位及导航;它主要使用u r l 中路 径的表示方法来在x m l 文档的层次结构中搜索和定位。x p a t h 常被嵌入到其他宿 主语言如x s l t 或x q u e r y 中,通过匹配以确定x m l 结点是否符合一个给定的模 式。 表达式是) 口a _ t l l 最基本的概念。最重要的x p a t h 表达式类型称为定位路径。与 文件系统路径一样,定位路径表达式可以是绝对定位路径表达式,也可以是相对 定位路径。绝对定位路径表达式以正斜枉矿开始并且规定导航应该从树模型的 根节点开始。如:g u i t a r s g u i t a r m o d e l 。 相对定位路径表达式不以正斜杠开始并且规定导航应该从应用定位路径的 节点开始。例如:g u i t a r m o d e l 。如果该定位路径应用于根元素g u i t a r s ,那么相对 定位路径表达武将产生与前面绝对表达式相同的结果。 定位路径可分解为一个或多个定侥阶( 定位阶的定义,如果是x p a t h 的一段, 称为定位节是否更

温馨提示

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

评论

0/150

提交评论