CN102043848A - 一种xml文档树实例查询方法 - Google Patents

一种xml文档树实例查询方法 Download PDF

Info

Publication number
CN102043848A
CN102043848A CN 201010596864 CN201010596864A CN102043848A CN 102043848 A CN102043848 A CN 102043848A CN 201010596864 CN201010596864 CN 201010596864 CN 201010596864 A CN201010596864 A CN 201010596864A CN 102043848 A CN102043848 A CN 102043848A
Authority
CN
China
Prior art keywords
xml document
tree
xml
editing distance
document tree
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN 201010596864
Other languages
English (en)
Other versions
CN102043848B (zh
Inventor
包小源
李树节
王腾蛟
杨冬青
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Peking University
Original Assignee
Peking University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Peking University filed Critical Peking University
Priority to CN2010105968646A priority Critical patent/CN102043848B/zh
Publication of CN102043848A publication Critical patent/CN102043848A/zh
Application granted granted Critical
Publication of CN102043848B publication Critical patent/CN102043848B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种XML文档树实例查询方法,属于模糊查询领域。本方法为:1)将数据库中的XML文档和待查询XML文档分别转化为文档树;2)根据待查询XML文档树在XML文档树数据库中选取节点数在设定范围内的XML文档树,得到一待计算数据集;3)计算待查询XML文档树与待计算数据集中每一XML文档树之间的相似度,得到一候选查询结果集;4)计算待查询XML文档树与候选查询结果集中XML文档树的编辑距离;5)根据4)计算的编辑距离对候选查询结果集中XML文档树进行排序,得到查询结果。与现有技术相比,本方法大大提高了查询效率,同时在一定程度上容忍目标数据与输入的错误。

Description

一种XML文档树实例查询方法
技术领域
本发明与数据库管理系统相关,涉及模糊查询领域,是一种与树编辑距离相关的大规模XML文档树实例近似查询方法。
背景技术
模糊查询是指在不了解XML数据的具体结构或不明确DTD所定义的元素名称下所进行的查询。对XML数据进行模糊查询的需求驱动表现为:内容信息(Tag名或Text)不准确或用户所知信息不足;以及XML树结构的多样化——同一组元素可能构成不同结构的树等。因此,在针对大量XML数据时,快速有效地基于用户提交的查询——一个XML树实例,返回按照相似程度排列的结果集具有重要意义。
模糊查询方法一般通过比对树的相似度来实现的,利用树的编辑距离衡量树相似度是使用较为广泛的方法。树编辑距离,即把一棵树转化为另一棵树所需要的插入、删除和替换的最少次数。
目前与树编辑距离算法相关的成果较多,其中比较经典的有Zhang和Dennis Shasha在文献“Simple fast algorithms for the editing distance between trees and related problems.SIAM Journal of Computing,18(6):1245-1262,December 1989”中提出的算法,其主要特征是用动态规划的方法解决树编辑距离计算问题,时间复杂度为O(n4)。Philip N.Klein在文献“Computing the Edit-Distance Between Unrooted Ordered Trees.G.Bilardi et al.(Eds.):ESA′98,LNCS 1461,pp.91-102,1998”中改进了Zhang和Dennis Shasha提出的方法的时间复杂度,为O(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文档,再通过XML解析器将XML文档解析成XML文档树读入内存,本发明首次提出这种查询方法。
本发明的技术方案为:
一种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文档树进行排序,得到查询结果。
进一步的,所述XML文档树近似编辑距离过滤法为:
1)分别计算待查询XML文档树与待计算数据集中每一XML文档树的后序周游序列;
2)计算待查询XML文档树的后序周游序列与待计算数据集中每一XML文档树的后序周游序列的相似度,得到待查询XML文档树与待计算数据集中每一XML文档树的相似度;
3)将相似度大于设定阈值的XML树组成一候选查询结果集。
进一步的,所述XML文档树近似编辑距离过滤法为pq-gram过滤法。
进一步的,所述树编辑距离算法为:计算待查询XML文档树中某节点标签字符串x与候选查询结果集中一XML文档树的某节点标签字符串y的编辑距离,如果编辑距离超过设定阈值εS,则把字符串x改为字符串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文档树的节点数量n和所选取的编辑距离10,在XML文档树数据库中选取节点数在n-20~n+20之间的XML文档树,得到一待计算数据集以备下一步的计算操作。
此步骤虽然简单,但在文件大小不一的情况下,可以大大减少待计算数据量。
本步骤的关键在于缩小待计算的XML文档树的数据量,将大规模的XML数据集过滤为小规模的待计算数据集。
2.X-gram过滤法
X-gram方法是基于树的近似编辑距离实现的,虽然不能像树的编辑距离方法一样得到最精确的结果,但是其计算结果仍然能在一定程度上反映出两棵树的相似度。由于第一阶段按节点数量进行过滤,得到的数据量可能仍然很大,所以还需要进一步过滤,才能用编辑距离的算法逐一计算,得到最相似的结果,形成候选结果集。
本步骤的过滤方法是受字符串的编辑距离算法的启发提出的。X-gram是指能反映一棵树结构和内容信息的所有长度为x的字符串。计算出两棵树的相同的x-gram数目,就可以得到相似度了,进而把数据集的按照相似度排序,得到最相似的文档,组成候选结果集。
通过此步骤处理,可以使后续匹配计算的时间复杂度低且精确度较高。时间复杂度为0(n2)。
3.精确匹配法
这一部分处理的数据集是通过使用X-gram过滤法后得到的候选结果集。候选结果集中的文档数目已经大大减少,只剩下与查询树相近的一些文档,为了能返回按相似度排序的结果集,尽量保证精确度,需要采用精确匹配法。
本步骤中所采用的精确匹配法中所使用的技术是受文献“Simple fast algorithms for the editing distance between trees and related problems.SIAM Journal of Computing,18(6):1245-1262,December 1989”和文献“Computing the Edit-Distance Between Unrooted Ordered Trees.G.Bilardi et al.(Eds.):ESA′98,LNCS 1461,pp.91-102,1998”的启发,在比较节点标签时也采用模糊查询,可以在用户把单词输入错误时,尽量得到最相似的结果,具有一定的容错度。
由于实际的XML文档中的标签并不是一个字符,而往往是一个字符串,用户想输入book/author/Justin进行查询,如果不慎输入book/athor/Justin,用常规的树编辑距离算法,就得不到想要的结果。
针对类似问题,我们在原始算法上进行了如下改进:
在传统的树编辑距离的基础上,引入字符串编辑距离来增加容错性。
传统的树编辑距离算法,基于如下关系式:
d(xu,yv)=min(cd(x)+d(u,yv),ci(y)+d(Xu,v),cs(x,y)+d(u,v))
如上式所示,传统的树编辑距离算法是采用动态规划的方法,先得到两棵树的后序周游序列,再计算需要多少步可以把一个后序周游序列转化为另一棵树的后序周游序列,最后得到树的编辑距离。
上式中的更改操作,即把x改为y操作时,我们引入字符串编辑距离,如果x==y,则操作代价为0,否则,代价为1。
实际上,在实际的XML文档树中,每个节点的标签不再只是一个字符,而是一个字符串,如上文所说例子,在对字符串x和y进行比较时,引入字符串的编辑距离,比较两个字符串的编辑距离,设置一个阈值εS,如果超过εS,则把更改操作计为1,否则,把更改操作计为0,这样即使用户在查询时连标签都输入错,也可以进行查询出最接近的结果。
由于本步骤中所采用的技术时间复杂度和空间复杂度太高,故没有在一开始面对大规模的XML文档时并没有采用该技术,而是先过采用节点差值过滤法和X-gram过滤法过滤掉相似度低的文档,再用该步骤中所采用技术来计算出相似度最高的文档。
与现有技术相比,本发明的积极效果为:
在所设计的XML树近似查询算法中,首先,在比较节点的标签是否相等时,引入了阈值,用字符串编辑距离来比较标签的距离,可以在一定程度上容忍目标数据与输入的错误,尽量得到可能的相似结果;其次提出了大规模XML树近似查询机制和算法,通过先过滤再计算相似度来完成基于XML树实例的XML数据查询处理。上述方法利用试验验证了其有效性。综合考察整个研究、设计与实现,分量适中。
附图说明
图1是本发明树实例查询方法的流程图;
图2是获取用户输入的查询并转化为查询树的流程图;
图3是从数据库中读取数据文档,并转化为数据树的流程图;
图4是利用X-gram过滤法过滤数据文档的流程图;
图5是利用精确过滤法过滤数据文档的流程图。
具体实施方式
主要涉及树实例查询方法的主要流程,以下结合附图详细说明本发明的思想。
图1是本发明树实例查询方法的流程图。
图1程序100给出了树实例查询方法的基本步骤:
其中102为从用户输入中获取查询,具体实施方法见图2中对步骤200的示意图及说明。
104是将用户输入的查询转化为查询树,具体实施方法见图2中对步骤200的示意图及说明。
106,108是读入数据库中的XML文档,并解析为数据树,具体实施方法见图3中对步骤300的示意图及说明。
110,112,114,116是节点差值过滤法的主要步骤。
118,120是X-gram过滤法的主要步骤,具体实施方法见图4中对步骤400的示意图及说明。
122,124,126是精确过滤法的主要步骤,具体实施方法见图5中对步骤500的示意图及说明。
图2是获取用户输入的查询并转化为查询树。
图2程序200是获取用户输入并转化为查询树的基本步骤:
202是用户从键盘中输入查询,格式如下例为:book//xybao/paper
204是将查询转化为查询树。
图3是从数据库中读取数据文档,并转化为数据树。
图3程序300是从数据库中读取数据文档,并转化为数据树的基本步骤:
302是从数据库从读入XML文档。
304是将读取的XML文档解析为XML树。
图4是利用X-gram过滤法过滤数据文档。
图4程序400利用X-gram过滤法过滤数据文档的基本步骤:
402分别计算查询树和数据树的后序周游序列。
404利用后序周游序列得到每一XML文档树的后序串(后序周游序列可以反映树结构和内容信息的长度)。
406根据XML文档树的后序串得到x-grams。
408根据查询树的x-grams和某数据树的x-grams,计算查询树和该数据树的x-grams相似度。
图5是利用精确过滤法过滤数据文档。
图5程序500利用树编辑距离算法计算最终结果的步骤:
502是用文献“Simple fast algorithms for the editing distance between trees and related problems.SIAM Journal ofComputing,18(6):1245-1262,December 1989”或文献“Computing the Edit-Distance Between Unrooted Ordered Trees.G.Bilardi et al.(Eds.):ESA′98,LNCS 1461,pp.91-102,1998”中介绍树编辑距离算法计算查询树和数据树的编辑距离。
504根据编辑距离排序,得到最终结果。

Claims (7)

1.一种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文档树进行排序,得到查询结果。
2.如权利要求1所述的方法,其特征在于所述XML文档树近似编辑距离过滤法为:
1)分别计算待查询XML文档树与待计算数据集中每一XML文档树的后序周游序列;
2)计算待查询XML文档树的后序周游序列与待计算数据集中每一XML文档树的后序周游序列的相似度,得到待查询XML文档树与待计算数据集中每一XML文档树的相似度;
3)将相似度大于设定阈值的XML树组成一候选查询结果集。
3.如权利要求1所述的方法,其特征在于所述XML文档树近似编辑距离过滤法为pq-gram过滤法。
4.如权利要求1或2或3所述的方法,其特征在于所述树编辑距离算法为:计算待查询XML文档树中某节点标签字符串x与候选查询结果集中一XML文档树的某节点标签字符串y的编辑距离,如果编辑距离超过设定阈值εS,则把字符串x改为字符串y的更改操作代价计为1,否则记为0。
5.如权利要求4所述的方法,其特征在于所述数据库中的XML文档为通过Xmark生成的XML文档。
6.如权利要求5所述的方法,其特征在于所述设定范围内的XML文档树为节点数在n-2L~n+2L范围内的XML文档树。
7.如权利要求6所述的方法,其特征在于所述待查询XML文档为一XML文档或一字符串。
CN2010105968646A 2010-12-20 2010-12-20 一种xml文档树实例查询方法 Expired - Fee Related CN102043848B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2010105968646A CN102043848B (zh) 2010-12-20 2010-12-20 一种xml文档树实例查询方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2010105968646A CN102043848B (zh) 2010-12-20 2010-12-20 一种xml文档树实例查询方法

Publications (2)

Publication Number Publication Date
CN102043848A true CN102043848A (zh) 2011-05-04
CN102043848B CN102043848B (zh) 2012-07-18

Family

ID=43909985

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2010105968646A Expired - Fee Related CN102043848B (zh) 2010-12-20 2010-12-20 一种xml文档树实例查询方法

Country Status (1)

Country Link
CN (1) CN102043848B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102622432A (zh) * 2012-02-27 2012-08-01 北京工业大学 一种xml文档结构概要间的相似性度量方法
CN104217001A (zh) * 2014-09-12 2014-12-17 中国科学院电工研究所 一种基于xml树的车辆自适应轮速计算方法
CN112988834A (zh) * 2021-02-07 2021-06-18 潍坊北大青鸟华光照排有限公司 一种字典短语的查询方法
CN113221532A (zh) * 2020-01-21 2021-08-06 阿里巴巴集团控股有限公司 数据处理方法、装置、计算设备和介质
CN116503027A (zh) * 2023-06-27 2023-07-28 成都智达万应科技有限公司 一种公路资产智能化管理系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101114291A (zh) * 2007-08-24 2008-01-30 西安交通大学 一种基于多样性xml文档近似查询方法
US7392250B1 (en) * 2007-10-22 2008-06-24 International Business Machines Corporation Discovering interestingness in faceted search
CN101876995A (zh) * 2009-12-18 2010-11-03 南开大学 一种计算xml文档相似度的方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101114291A (zh) * 2007-08-24 2008-01-30 西安交通大学 一种基于多样性xml文档近似查询方法
US7392250B1 (en) * 2007-10-22 2008-06-24 International Business Machines Corporation Discovering interestingness in faceted search
CN101876995A (zh) * 2009-12-18 2010-11-03 南开大学 一种计算xml文档相似度的方法

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102622432A (zh) * 2012-02-27 2012-08-01 北京工业大学 一种xml文档结构概要间的相似性度量方法
CN102622432B (zh) * 2012-02-27 2013-07-31 北京工业大学 一种xml文档结构概要间的相似性度量方法
CN104217001A (zh) * 2014-09-12 2014-12-17 中国科学院电工研究所 一种基于xml树的车辆自适应轮速计算方法
CN104217001B (zh) * 2014-09-12 2018-08-07 中国科学院电工研究所 一种基于xml树的车辆自适应轮速计算方法
CN113221532A (zh) * 2020-01-21 2021-08-06 阿里巴巴集团控股有限公司 数据处理方法、装置、计算设备和介质
CN112988834A (zh) * 2021-02-07 2021-06-18 潍坊北大青鸟华光照排有限公司 一种字典短语的查询方法
CN116503027A (zh) * 2023-06-27 2023-07-28 成都智达万应科技有限公司 一种公路资产智能化管理系统
CN116503027B (zh) * 2023-06-27 2024-01-19 成都智达万应科技有限公司 一种公路资产智能化管理系统

Also Published As

Publication number Publication date
CN102043848B (zh) 2012-07-18

Similar Documents

Publication Publication Date Title
CN101984434B (zh) 基于可扩展标记语言查询的网页数据抽取方法
CN102043848B (zh) 一种xml文档树实例查询方法
CN101114291B (zh) 一种基于多样性xml文档近似查询方法
CN102456053B (zh) 一种xml文档到数据库的映射方法
CN101206672A (zh) 商品搜索无结果智能处理系统及方法
CN102750379B (zh) 一种基于过滤型的字符串快速匹配方法
CN103823824A (zh) 一种借助互联网自动构建文本分类语料库的方法及系统
CN103049568A (zh) 对海量文档库的文档分类的方法
CN105335487A (zh) 基于农业技术信息本体库的农业专家信息检索系统及方法
CN102662969A (zh) 一种基于网页结构语义的互联网信息对象定位方法
CN103324626A (zh) 一种建立多粒度词典的方法、分词的方法及其装置
CN102207946A (zh) 一种知识网络的半自动生成方法
CN102314497A (zh) 一种用于识别标记语言文件主体内容的方法和设备
CN106708929A (zh) 视频节目的搜索方法和装置
CN102693304A (zh) 一种搜索引擎的反馈信息处理方法及搜索引擎
CN101916262B (zh) 一种财政要素匹配的加速方法
CN103294820B (zh) 基于语义扩展的web页面归类方法和系统
CN106570140A (zh) 确定信息热点的方法及装置
CN102081660A (zh) 基于语义相关的xml文档关键字检索排序方法
Chuang et al. Context-aware wrapping: Synchronized data extraction
CN102760173A (zh) 一种自下而上的xml分支模式匹配方法
CN1604075A (zh) 一种对报纸版面进行文字阅读顺序恢复的方法
CN102043802B (zh) 基于结构摘要的xml关键字检索方法
US20090192987A1 (en) Searching navigational pages in an intranet
Li et al. Efficient holistic twig joins in leaf-to-root combining with root-to-leaf way

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20120718

Termination date: 20141220

EXPY Termination of patent right or utility model