一种XML多分支树结构的查询算法.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
一种XML多分支树结构的查询算法   摘要:目前XML单路径查询和简单的分支路径查询已经得到了较好地解决,但如何高效地实现XML多分支树查询还没有很好的方法。该文提出了算法TBQ,该算法将多分支树的每个结点进行查询,然后根据查询结果进行匹配。实验表明,与现有的XML多分支树查询算法pathsjoin相比,算法TBQ的查询效率更高。   关键词: XML查询;XML多分支路径查询;XML编码;XML索引   中图分类号:TP311.135.4文献标识码:A文章编号:1009-3044(2011)26-6334-02   An Algorithm for XML Multiple Branch Path Query   XIAO Yuan   (Nanjing Politics College, Nanjing 210003, China)   Abstract: XML single path query and simple branch path query algorithms have been presented, but how to query multiple branch tree is not solved well. This paper presents an efficient algorithm TBQ. The algorithm TBQ queries the nodes of the multiple branch trees first and then matches the result of thenodes which have been queried. Experiment results state that algorithm TBQ is efficient compared with the existing algorithm pathsjoin.   Key words: XML query;XML multiple branch path;XML code;XML index   XML数据查询尤其是结构复杂的XML数据查询是一项重要的研究课题。XML数据查询主要分为单路径查询和分支路径查询。单路径查询语句形如a//b/c,目前针对单路径的查询方法有A(K)[1],D(k)[2],APEX[3],1-index[4],XISS[5],DataGuide[6]等,其基本思路是对XML文档树建立路径索引,有效地减少查询单路径的时间。XML分支路径查询研究较少,国内尚无相关文献报道。目前解决分支路径查询的一般方法为算法pathsjoin,其基本思想是:首先对查询树进行编码,将其拆分成由根结点到叶子结点的单路径,并用pathstack算法[7]得到单路径查询结果,然后将单路径查询结果利用结构连接算法进行匹配得到多分支查询结果。   为了避免XML多分支树查询过程中多条单路径的连接操作而带来的查询效率低的问题,本文提出一种基于递归思想的多分支树查询算法算法TBQ,很好的解决了这类的查询。该算法是将多分支树的每个结点进行查询,然后根据查询结果进行匹配。实验表明,与现有的XML多分支树查询算法pathsjoin相比,算法TBQ的查询效率更高。   1 XML文档的编码   为了快速的识别一篇XML文档结点之间的祖先后代关系,本文对XML文档采用流编码。思路如下:将XML文档看作是流文件,XML文档树中的每一个结点在解析文档时根据每个标签在文档中出现的先后次序赋予两个序号begin和end。其中begin代表文档标签的开始位置,end代表文档标签的结束位置。祖先结点u的编码区间[begin(u),end(u)]包含后裔结点v的编码区间[begin(v),end(v)]。XML文档树及其编码如图1所示。   2 XML文档树的索引创建方法   一般多分支树的查询算法都是对XML文档树进行遍历,由于遍历XML文档树要在内存中完成,这样的算法效率比较低。本文提出一种为XML文档树建立索引,主要的思想是将XML文档的各个结点按结点的名称聚类存放,同时记录下每个结点的流编码。图1所对应的XML文档树及其编码,其部分结点索引如表1所示。   3 多分支树查询算法TBQ   下面以查询语句PLAY[/ACT[//SCENE[/SPEECH][/STAGEDIR]][//SPEECH[/SPEAKER][/LINE]]][//PGROUP[/PERSONA][/GRPDESCR]]为例,介绍多分支查询树算法TBQ的基本思想:   Step1:把文档树每个结点按流编码编码;   Step2:创建XML文档树的索引,遍历编码后的文档树,对每个文档树的结点按其名称存放;

文档评论(0)

yingzhiguo + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:5243141323000000

1亿VIP精品文档

相关文档