本发明专利技术公开了一种XML文档树实例查询方法,属于模糊查询领域。本方法为:1)将数据库中的XML文档和待查询XML文档分别转化为文档树;2)根据待查询XML文档树在XML文档树数据库中选取节点数在设定范围内的XML文档树,得到一待计算数据集;3)计算待查询XML文档树与待计算数据集中每一XML文档树之间的相似度,得到一候选查询结果集;4)计算待查询XML文档树与候选查询结果集中XML文档树的编辑距离;5)根据4)计算的编辑距离对候选查询结果集中XML文档树进行排序,得到查询结果。与现有技术相比,本方法大大提高了查询效率,同时在一定程度上容忍目标数据与输入的错误。
【技术实现步骤摘要】
本专利技术与数据库管理系统相关,涉及模糊查询领域,是一种与树编辑距离相关的 大规模XML文档树实例近似查询方法。
技术介绍
模糊查询是指在不了解XML数据的具体结构或不明确DTD所定义的元素名称下所 进行的查询。对XML数据进行模糊查询的需求驱动表现为内容信息(Tag名或Text)不准 确或用户所知信息不足;以及XML树结构的多样化——同一组元素可能构成不同结构的树 等。因此,在针对大量XML数据时,快速有效地基于用户提交的查询——一个XML树实例, 返回按照相似程度排列的结果集具有重要意义。模糊查询方法一般通过比对树的相似度来实现的,利用树的编辑距离衡量树相似 度是使用较为广泛的方法。树编辑距离,即把一棵树转化为另一棵树所需要的插入、删除和 替换的最少次数。目前与树编辑距离算法相关的成果较多,其中比较经典的有^iang和Dermis Shasha 在文献 “Simple fast algorithms for the editing distance between trees and related problems. SIAM Journal of Computing,18 (6) : 1245-1262,December 1989,, 中提出的算法,其主要特征是用动态规划的方法解决树编辑距离计算问题,时间复杂度 为 0(n4)o Philip N. Klein 在文献Computing the Edit-Distance Between Unrooted Ordered Trees. G. Bilardi et al. (Eds.) :ESA' 98,LNCS 1461,pp. 91-102,1998” 中改进 了 Siang和Dermis Siasha提出的方法的时间复杂度,为0 (n3logn)。以上文献中提及的树 编辑距离算法均是针对整棵树进行计算,适合数据量较小的情况,且需要较大的计算代价, 导致大容量数据上该算法不可行(运行时间过长)。除了树编辑距离,还有树的近似编辑距离。树的近似编辑距离是只考虑部分 结构和标签信息,并不像树编辑距离算法考虑整体的结构和标签信息。经典是方法是 NikolausAugstent 等人在文献“Approximate Matching of Hierarchical Data Using pq-Grams. Proceedings of the 31 st VLDB Conference, Trondheim, Norway, 2005,,中提 出的基于pq-gram解决树的近似查询问题。pq-grams是一棵树特定形状的所有子树。如果 两棵树有许多相同的pq-grams,那么这两棵树是相似的。pq-gram距离是一种高效率和有 效的近似编辑距离。pq-grams作为一个关系存储在集合中,而一个pq-gram是由固定长度 的字符串表示的,一般长度为P+q。对于树T和树S,其相似度定义为同时在S和T中出现 的pq-gram的数目。但该文献中提及的pq-gram近似编辑距离精确度不足。
技术实现思路
本专利技术针对XML文档树近似查询问题,克服上述现有相应技术存在的不足,提出 一种时间复杂度较低、精确度较高的树实例查询方法,以辅助大规模XML数据的近似查询。本专利技术数据集中的文档是通过XML文档生成工具(Xmark)生成的大量的xml文3档,再通过XML解析器将XML文档解析成XML文档树读入内存,本专利技术首次提出这种查询方法。本专利技术的技术方案为一种XML文档树实例查询方法,其步骤为1)利用XML解析器将数据库中的XML文档转化为XML文档树,将输入的待查询XML 文档转化为待查询XML文档树; 2)根据待查询XML文档树的节点数量η和所选取的编辑距离L,在XML文档树数据 库中选取节点数在设定范围内的XML文档树,得到一待计算数据集;其中,n、L为自然数;3)利用XML文档树近似编辑距离过滤法计算待查询XML文档树与待计算数据集中 每一 XML文档树之间的相似度,将相似度大于设定阈值的XML树组成一候选查询结果集;4)利用树编辑距离算法计算待查询XML文档树与候选查询结果集中XML文档树的 编辑距离;5)根据4)计算的编辑距离对候选查询结果集中XML文档树进行排序,得到查询结果ο进一步的,所述XML文档树近似编辑距离过滤法为1)分别计算待查询XML文档树与待计算数据集中每一 XML文档树的后序周游序 列;2)计算待查询XML文档树的后序周游序列与待计算数据集中每一 XML文档树的 后序周游序列的相似度,得到待查询XML文档树与待计算数据集中每一 XML文档树的相似 度;3)将相似度大于设定阈值的XML树组成一候选查询结果集。进一步的,所述XML文档树近似编辑距离过滤法为pq-gram过滤法。进一步的,所述树编辑距离算法为计算待查询XML文档树中某节点标签字符串χ 与候选查询结果集中一 XML文档树的某节点标签字符串y的编辑距离,如果编辑距离超过 设定阈值ε s,则把字符串χ改为字符串y的更改操作代价计为1,否则记为0。进一步的,所述数据库中的XML文档为通过Xmark生成的XML文档。进一步的,所述设定范围内的XML文档树为节点数在n_2L n+2L范围内的XML 文档树。进一步的,所述待查询XML文档为一 XML文档或一字符串。本专利技术主要涉及XML文档树的相似度计算,主要内容包括1.节点差值过滤法如果待查询文档树的节点数为n,想选取编辑距离在10以内的文档树,则只需要 选取节点数在n-20 n+20之间的文档树进行编辑距离的计算,只有这些文档树可能存在 跟符合查询要求的更相似的文档树。其它的如果节点数目相差过多,编辑距离只可能更大, 而不可能比这些更小,因此只需要选取节点数在n-20 n+20之间的文档树进行编辑距离 的计算即可。如此,先根据待查询XML文档树的节点数量η和所选取的编辑距离10,在XML文档 树数据库中选取节点数在n-20 n+20之间的XML文档树,得到一待计算数据集以备下一 步的计算操作。此步骤虽然简单,但在文件大小不一的情况下,可以大大减少待计算数据量。本步骤的关键在于缩小待计算的XML文档树的数据量,将大规模的XML数据集过 滤为小规模的待计算数据集。2. X-gram 过滤法X-gram方法是基于树的近似编辑距离实现的,虽然不能像树的编辑距离方法一样 得到最精确的结果,但是其计算结果仍然能在一定程度上反映出两棵树的相似度。由于第 一阶段按节点数量进行过滤,得到的数据量可能仍然很大,所以还需要进一步过滤,才能用 编辑距离的算法逐一计算,得到最相似的结果,形成候选结果集。本步骤的过滤方法是受字符串的编辑距离算法的启发提出的。X-gram是指能反 映一棵树结构和内容信息的所有长度为X的字符串。计算出两棵树的相同的x-gram数目, 就可以得到相似度了,进而把数据集的按照相似度排序,得到最相似的文档,组成候选结果集。通过此步骤处理,可以使后续匹配计算的时间复杂度低且精确度较高。时间复杂 度为0(n2)。3.精确匹配法这一部分处理的数据集是通过使用X-gram过滤法后得到的候选结果集。候选结 果集中的文档数目已经大大减少,只剩下与查询树相近本文档来自技高网...
【技术保护点】
一种XML文档树实例查询方法,其步骤为:1)利用XML解析器将数据库中的XML文档转化为XML文档树,将输入的待查询XML文档转化为待查询XML文档树;2)根据待查询XML文档树的节点数量n和所选取的编辑距离L,在XML文档树数据库中选取节点数在设定范围内的XML文档树,得到一待计算数据集;其中,n、L为自然数;3)利用XML文档树近似编辑距离过滤法计算待查询XML文档树与待计算数据集中每一XML文档树之间的相似度,将相似度大于设定阈值的XML树组成一候选查询结果集;4)利用树编辑距离算法计算待查询XML文档树与候选查询结果集中XML文档树的编辑距离;5)根据4)计算的编辑距离对候选查询结果集中XML文档树进行排序,得到查询结果。
【技术特征摘要】
1.一种XML文档树实例查询方法,其步骤为1)利用XML解析器将数据库中的XML文档转化为XML文档树,将输入的待查询XML文 档转化为待查询XML文档树;2)根据待查询XML文档树的节点数量η和所选取的编辑距离L,在XML文档树数据库 中选取节点数在设定范围内的XML文档树,得到一待计算数据集;其中,n、L为自然数;3)利用XML文档树近似编辑距离过滤法计算待查询XML文档树与待计算数据集中每一 XML文档树之间的相似度,将相似度大于设定阈值的XML树组成一候选查询结果集;4)利用树编辑距离算法计算待查询XML文档树与候选查询结果集中XML文档树的编辑 距离;5)根据4)计算的编辑距离对候选查询结果集中XML文档树进行排序,得到查询结果。2.如权利要求1所述的方法,其特征在于所述XML文档树近似编辑距离过滤法为1)分别计算待查询XML文档树与待计算数据集中每一XML文档树的后序周游序列;2)计算待查询XML文档树的后序周游序列与...
【专利技术属性】
技术研发人员:包小源,李树节,王腾蛟,杨冬青,
申请(专利权)人:北京大学,
类型:发明
国别省市:11[中国|北京]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。