[发明专利]一种将XPath查询转换为树形数据结构的查询优化方法有效
申请号: | 201310125955.5 | 申请日: | 2013-04-12 |
公开(公告)号: | CN103198133A | 公开(公告)日: | 2013-07-10 |
发明(设计)人: | 陈琳;程燕;陈海涛;符文君;王奎 | 申请(专利权)人: | 同方知网(北京)技术有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京天奇智新知识产权代理有限公司 11340 | 代理人: | 刘黎明 |
地址: | 100084 北京市海淀区清华园清华*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 xpath 查询 转换 树形 数据结构 优化 方法 | ||
技术领域
本发明涉及XML查询优化领域,尤其涉及一种有位置谓词的XPath查询转换为树形数据结构的查询优化方法。
背景技术
XML因其具有自描述性,可扩展性以及开放性等优点使其得到了广泛的应用,随着XML数据的不断增长,对大规模XML数据的管理需求也日渐迫切,出现了XML数据库等商业产品。XML数据的查询因此而显得尤为重要,而XML查询标准之一XPath也得到了广泛研究和实现。因XML文档半结构化的特性使得传统的关系数据库的查询算法对其并不适用,因此相继提出了一些针对XPath查询的算法。目前研究比较广泛的有小枝模式匹配算法,即将XPath查询表示成一棵用节点和边进行标记的小枝模式查询树,XPath查询也就变成了在XML数据中找出所有和这个小枝模式匹配的数据片段。
目前有不少有关小枝模式查询处理的方法,每种方法都有其小枝模式的内部表示,但针对有位置谓词的小枝模式查询方法涉及甚少。
在XPath中,带位置谓词的表达式的查询语义是求满足特定结构和位置条件的节点集。特别值得注意的是,表达式外是否有圆括号,和位置谓词的求值有着密切的关系。例如,XPath查询语句Q1和Q2:
Q1=//bookstore/book[title=“计算机”and price<30]/author[2]
Q2=(//bookstore/book[title=“计算机”and price<30]/author)[2]
Q1表示在图书库中查找书名为《计算机》且售价小于30元每本书的第二作者信息,位置求职是相对于book这个步而言的;Q2表示在书名为《计算机》且售价小于30元的书的所有作者信息中取第二个作者信息,位置求职是相对于XML数据文档的根。由这两个例子可以看出加圆括号和不加圆括号的求职语义是完全不同的,这也需要在查询处理时区别对待。
在实际应用中,位置谓词查询的使用场合非常广泛,如何在小枝模式中有效地处理位置谓词查询有着其重要的意义。
发明内容
为解决上述中存在的问题与缺陷,本发明提供了一种将XPath查询转换为树形数据结构的查询优化方法。所述技术方案如下:
一种将XPath查询转换为树形数据结构的查询优化方法,包括:
A将带有位置谓词的XPath查询语句转换为抽象语法树AST;
B将抽象语法树AST中不同类型的节点对象转换成小枝模式树形结构中的节点对象。
本发明提供的技术方案的有益效果是:
小枝模式树形数据结构以及小枝模式转换方法在一定程度上优化了小枝模式查询;且本发明提出的在位置谓词节点对象中存储其参考位置的方法,在小枝查询时,能够快速定位相对求值节点,加快了小枝模式查询处理中对位置查询的求值。
附图说明
图1是将XPath查询转换为树形数据结构的查询优化方法流程图;
图2是为查询Q1的小枝模式查询树结构图;
图3是为查询Q2的小枝模式查询树结构图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述:
本实施例提供了一种将XPath查询转换为树形数据结构的查询优化方法的方法,如图1所示该方法包括:
步骤10将带有位置谓词的XPath查询语句转换为抽象语法树AST(Abstract Syntax Tree);
上述XPath查询语句通过词法、语法分析并简化为抽象语法树。
步骤20将抽象语法树AST中不同类型的节点对象转换成小枝模式树形结构中的节点对象。
自顶向下遍历抽象语法树,每种AST节点对象调用其对应的转换接口,将其转换成小枝模式查询树中对应的节点对象。其过程具体包括如下:
步骤201定义一个ASTVisitor抽象类,通过一转换接口实现对所有AST节点转换的总控制,和通过AST节点类型调用对应的具体转换虚接口。
步骤202实现一个继承ASTVisitor抽象类的具体转换类,并实现每个具体的转换接口,根据AST节点对象的组成部分,分别制定转换规则,将其转换为正确的小枝模式查询节点对象。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于同方知网(北京)技术有限公司,未经同方知网(北京)技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310125955.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:冷抽成型的在线自动即时对心方法及装置
- 下一篇:磁流变液压悬置