:复杂路径表达式查询是XML 查询的核心研究内容。针对长路径表达式,尤其是在查询中间结果较多,节点索引的连接操作代价较大的情况下,提出了一种基于节点集的索引方式。该方式支持节点集间的投影操作、选择操作以及高效的结构连接,从而实现数据的快速查询并形成基于节点集的XML 查询模式。同时该模式为XML 基于路径的查询处理提供了更多的选择。
随着XML 应用的日益广泛, XML 数据管理和查询问题也引起了人们的普遍关注, 并成为研究的热点。
尽管XML 有其各种不同的表示和用途,但其本质仍然是基于层次的数据结构,并可映射为相应的XML关系树或者XML 关系图[1]。
当前已有学者提出了多种XML 查询语言,例如Xpath、Xquery 等,这些查询都将路径表达式[2]作为其研究的重点,通过节点等价、路径等价等技术,得到比原始文档小得多的索引树, 进而通过索引树的遍历得到查询结果。基于路径的索引技术可以很好地支持简单路径表达式的查询,但是对于正则路径表达式,效果不太理想。目前被广泛采用和接受的是分解连接查询[3],其执行策略的基本思想是首先定位所要查询的节点集,然后在节点集之间 加入结构连接从而形成新的XML 关系树。由于在查询过程中需要进行大量节点之间结构连接的操作,因此高效的结构连接算法是实现XML 查询的关键。本文侧重于研究如何获得合理的节点集,如何在结构连接的基础上加入一些基本的关系操作从而提高查询的效率。结合关系树模型,本文提出了以最大相关节点集为主要操作对象的查询模式,该方法充分利用集合的基本操作,增大了基本查询片段的粒度,从而减少了产生的部分中间结果。同时在提高结构连接效率基础上引入选择、投影等操作,实现相关节点集的筛选连接操作,形成查询路径获得查询结果。
2. 关系树模型 XML 是层次化数据结构, 采用当前比较成熟的层次化数据模型DOM (Document Object Model)对XML