[发明专利]一种针对扩展XML树型结构的查询方法无效
申请号: | 200910222334.2 | 申请日: | 2010-03-24 |
公开(公告)号: | CN101763406A | 公开(公告)日: | 2010-06-30 |
发明(设计)人: | 陆嘉恒 | 申请(专利权)人: | 陆嘉恒 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 100872 北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 针对 扩展 xml 结构 查询 方法 | ||
技术领域
本发明属于信息技术领域中XML数据查询技术,具体涉及一种对扩展的XML树型结构的查询方法。
背景技术
随着XML数据在商业、企业中的广泛使用以及在交换信息中的流行,有效的处理XML数据查询也变得越来越重要。一个XML查询模式通常能用一个有根的标签树(或者是小枝树)来表示。例如,图1(a)为一个XPath查询A[B][C]和一个相关的XML树模型,此查询用来找到有一个孩子结点B和C的所有结点。在图(b)的查询中,查询结果是结点A1和A2。
对XML树模型进行有效的匹配是XML查询处理中的一个核心的操作。近几年提出了多种有效地匹配XML树的查询方法,包括基于堆栈的查询方法,但其即使在查询结果很小的时候,输出的中间结果也可能很大;还提出整体处理树模型的方法TwigStack,它虽然能确保不输出无用的中间查询结果,但是只能处理含有祖先-后裔关系的查询。还提出一些整体处理方法像TwigStackList,TSGeneric,iTwigJoin,TJFast,TwigStackList-Not等等,但依然存在以下的一些问题。
以前提出的XML树模型查询的方法只集中在有父子关系和祖先-后裔关系的查询上。对于像XPath,XQuery查询语言中用到的包含了通配符,负边,有序约束的XML树模型查询的处理方法则很少。此发明将使用了负边,通配符和有序约束的XML树模型称为扩展XML树模型。图2中有四个扩展XML树模型。查询(a)包括一个通配符结点”*”,它可以匹配XML数据库中的任意单一结点。查询(b)中包括一个负边,用表示。此查询表示A有一个孩子B,但没有孩子C。在XPath语言中,负边可用布尔型函数”not”来表示。查询(c)有一个有序约束,与一个XPath“//A/B[following-sibling::C]”相同。”<”表示A的所有孩子结点是有序的。查询(d)包含了通配符,负边和有序约束。
以前提出的XML树模型匹配方法并不能完全发挥出整体处理树模型方法的最优性。当前面临的问题是(1)如何识别能够对查询进行最优处理的查询类;(2)对无法确保最优处理的查询,如何有效的找到查询结果。
以前提出的方法通过为树模型中的所有结点找到匹配的元素而解决问题。但是,这在实际应用中是不需要的。以XPath“//A[B]//C”为例,只有元素C及其子树是最后的结果。在先前的方法中,为了找到这个查询结果,首先需要找到所有查询结点的组合,并对这些返回结点进行处理,找到最终合适的结果,这就使得查询过程中输出许多与未返回结点相匹配的元素,这对最终结果是没有用的。此发明中,提出一种新的方式来记录映射关系并避免输出未返回结点。
此发明针对可能包括父子关系,祖先-后裔关系,有序约束,负边和通配符的扩展XML树模型的查询,提出新的查询方法用来识别对查询进行最优处理的大的查询类。对扩展XML树模型的查询分为三类:(1)查询Q/,//,*:是有父子关系,祖先-后裔关系和通配符的查询;(2)查询Q/,//,*,<:是有父子关系,祖先-后裔关系,通配符和有序约束的查询;(3)查询是有父子关系,祖先-后裔关系,通配符,有序约束和负边的查询,如图3所示。
发明内容
此发明中首先提出最优查询类,然后针对扩展XML树模型,提出一种新的整体查询方法。通过此方法获得含有通配符查询(Q/,//,*)的结果,并经过扩展,使得能够处理包含有序约束(Q/,//,*,<)和负边()的查询。
具体介绍如下:
1.扩展XML树模型的查询Q
一个XML数据库D通常用一个有根的,用标签表示的树来模拟,元素标签和属性被映射到树的结点上,用边表示直接的嵌套关系。以下用“结点”表示一个查询结点,用“元素”表示D中的一个数据元素。
扩展XML树的查询Q中的结点包括元素标签,属性和字符数据。用“*”表示通配符,用来匹配任意的单一树元素。其中有四种查询边,它们是(正边,负边)和(父子边,祖先-后裔边)之间的结合。比如在图2(b)中,(A,B)是一个正的父子边,(A,C)是一个负的父子边。用符号表示负边;有两种查询结点:有序结点和无序结点。用“<”表示有序结点关系。比如,图2(c)和(d)中的结点A是有序结点。在每个扩展树模型查询中,有一个或多个结点被选为输出结点,用下划线表示。例如,在图2(a)中,C是一个选定的输出结点。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于陆嘉恒,未经陆嘉恒许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910222334.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种快干耐醇的塑料用水性涂料及其制备方法
- 下一篇:含磷化合物及其制法