一种基于图测度的子图相似查询方法

文档序号:10471523阅读:176来源:国知局
一种基于图测度的子图相似查询方法
【专利摘要】本发明属于数据库技术领域,具体涉及一种基于图测度的子图相似查询方法。本方案所描述子图相似为:给定数据图的集合D={G1,G2,…,Gn}、查询图q和子图相似距离阈值s,从D中找出所有和q的子图相似距离小于s的数据图。本方案先将不同测度的子图相似距离的估算转化为图测度距离的估算,再根据图测度距离的估算进行过滤,完成子图相似查询,进一步构建图测度树,基于图测度树进行子图相似查询。将非同意测度的子图相似距离的估计转化为图测度距离的估计,进而可使用三角不等式进行过滤;既支持连通子图的相似查询,也可以支持不连通的子图相似查询;设计一个图测度树来对数据图合集中的数据图进行索引,大大提高查询的效率。
【专利说明】
-种基于图测度的子图相似查询方法
技术领域
[0001] 本发明属于数据库技术领域,具体设及一种基于图测度的子图相似查询方法。
【背景技术】
[0002] 近年来,图数据(gra曲-Struc化red data)在很多领域得到了广泛应用。如化学信 息学,生物信息学,社交网络,智能交通,计算机视觉,医学信息学等。子图相似查询 (subgra曲similarity queries)是图数据上一类非常重要的查询,应用范围很广。如在社 交网络上,子图相似查询可用于寻找网络中具有某些特定关系的人;在化学分子数据库中, 用于寻找包含某特定结构的分子;在蛋白质交互网络中,用来寻找一组满足特定功能联系 的蛋白质;在医学上用于医生的辅助诊断等。
[0003] 现有的子图相似查询方法主要有W下几种:(1)基于图闭包的CTree方法。该方法 首先定义了两个图之间的闭包。然后为数据库(D)中的数据图构建一棵闭包树CTreeXTree 的思想是树中每个节点为子节点的闭包。CTree能够支持子图相似查询,但是有两个不足。 一是仅支持图编辑距离定义下的相似查询,不能支持其他距离定义下的相似查询。二是仅 能找到近似解。(2)基于图分割的方法。该方法的思想是对一个数据图G,枚举出所有的大小 为k的子图。通过比较查询图q和运些子图的哈希值来进行子图相似查询。该方法的不足是G 会有化个大小为k的子图,枚举难W完成。(3)基于图特征过滤的方法。该方法是从D中的数 据图中提取频繁子图作为特征,通过比较查询图q所包含的特征数目和某个数据图G所包含 的特征数目来进行子图相似查询。但该方法要建立一个非常大的稀疏矩阵,存储的效率很 低。(4)基于Ξ角不等式的过滤方法。该方法所使用的子图相似距离满足Ξ角不等式,通过 Ξ角不等式估算查询图q和某个数据图G的距离,如果估算的距离肯定大于t,则G肯定不是 答案,该方法只能支持连通子图的相似查询,不支持非连通子图的相似查询。近来,有人利 用图测度来进行子图相似查询,他们的子图相似的定义和本方案所研究的子图相似的定义 不同。本方案所描述子图相似为:给定数据图的集合D={G1,G2,…,Gn}、查询图q和子图 相似距离阔值S,从D中找出所有和q的子图相似距离小于S的数据图。

【发明内容】

[0004] 为了解决上述的技术问题,本发明提供了一种基于图测度的子图相似查询方法。
[0005] 本发明是通过下述的技术方案来解决W上的技术问题的,本方案所描述子图相似 为:给定数据图的集合D={G1,G2,…,Gn}、查询图q和子图相似距离阔值S,从D中找出所 有和q的子图相似距离小于S的数据图。
[0006] 先将不同测度的子图相似距离的估算转化为图测度距离的估算,再根据图测度距 离的估算进行过滤,完成子图相似查询,所述的基于图测度的子图相似查询方法,进一步构 建图测度树,基于图测度树进行子图相似查询;方案给出子图相似距离计算方法为:给定查 询图q和数据图G,则子图相似距离夫
其中,mcs(q,G)为q和G的最大 公共子图,|mcs(q,G)|和kl分别为mcs(q,G)和q的大小;方案给出图测度距离的计算方法 为:两个图G1和G2之间的图测度距离d如下
,其中,mcs(Gl,G2)是G1和G2的最大公共子图,|mcs (G1,G2) I、IG11和IG2 I分别为mcs(Gl,G2)、G巧日G2的大小;所述的将不同测度的子图相似距 离的估算转化为图测度距离的估算的转化方法是,给定查询图q,数据图G1和G2和子图相似 距离阔值t,如S
近一步引入扩展图,将 图G1相对于G2的扩展图G1*定义为:若|G1|〉=|G2|,G1*=G1;否则G1* = G1UA,A为一个图, 其任何一个点都不在G1和G2中。可得出,若续婚物鶴).一谜键濟乐磅.為'{,则 礙錦'據巧筑'屯。
[0007] 根据图测度距离的估算进行过滤的过滤方法是,从D中选取一个错数据图P,计算P 的扩展图P*和D中任一数据图G之间的图测度距离d(P*,G),根据用户提交的查询图q,计算 图测度距离d(q,P*)。然后根据戮按誇縱)-雄键游主:鮮為老,则礙:離^^ 礙(敏狼!是否大于t,如果是,贝化被过滤掉,如果不是,需要进一步计算奪錢辨I的确切 值。对错数据图P进一步说明,给定数据图的集合〇={61,62,''',611巧日图测度距离(1,0和(1一 起构成了一个测度空间U=(D,d)。错数据图P是D中的某个数据图或D中某个数据图的子图。 WP为中屯、,通过C个半径rVV-,rK-i,可W把测度空间U分割成C个环形的没有交集的子空 间ιΛυν··,ιτ?,如下所示 ? U°={G|r〇<=d(P*,G)<=ri,G€〇J},其中r°=0 ?对任意的 〇。<。-1,护=间'1<=(1。*,6)<='1",娘1]} ? iri={G|d(P*,G)〉rW, G€U|。
[0008] 图测度树构建方法是,由于D中可能包含非常多的数据图,只靠一个错数据图进行 过滤性能不佳,在D中选取某个数据图或某个数据图的子图,作为错图P,计算D中所有数据 图和错图之间的图测度最大距离b,WV2为界,把D分为两个子集D1和D2,其中把D中和错图 的图测度距离小于b/2的数据图归为D1,把D中和错图的图测度距离大于等于V2的归为D2, 把D分成了两个子集D1和D2,递归地对D1和D2进行分割,直到集合足够小而不需进一步分 害d,把D进行递归式地分割成多个子集,对每个子集建立一个错数据图。运样便形成了一个 树形结构,称为图测度树。Wp为错图对D的分割为树根错图。对图测度树进一步说明,图测 度树T是一个4元组(V,E,r,c),其中V,E,r,c分别为T的节点集、T的边集,树根和T的扇出。更 进一步地 ? T的叶子节点vl是一个数据图的集合,数据图的数目小于C ?T的中间节点V是一个4元组(P, |P*|, TP,RP),1、P为在V所对应的测度空间U中选 取的错数据图(P*为错数据图的扩展图;Τρ={ΤΛTpi,…,T广1}为WV为树根的子树的集合; RP={tp°,rpi,...,rpc-i}为半径的集合;使得U被均匀分割成C个子空间① U°={G|d(P*,G)<= rp°,G控 U},被 Tp。所覆盖② Ui={G|rpi-i<=d(P*,G)<rpi,G 控U},被 Tpi 所覆盖③ 1]。-1=间巧。-2<=(1 (P*,G) <rpC-i,G€ UI,被Tpc-i所覆盖。
[0009] 基于图测度树进行子图相似查询方法是,首先计算查询图q和树根错图的图测度 距离,递归判断是否进一步访问。图测度树上的子图相似查询算法的思想是从树根开始,计 算查询图q和树根错点的图测度距离,根据上述"给定查询图q,数据图G1的扩展图G1*,数据 图G2和子图相似距离阔值t,若逐鍛?:巧巧錄一斯澡:孩玉句冷?,则礙賴鴻蹲游:f。"对树根的 子树进行过滤,如果树根的某个子树所覆盖的所有的数据图都可W被过滤掉,则对该子树 进行剪枝。然后递归地方位所有未被剪枝的子树。当到达测度树的叶子节点之后,因为无法 进一步的过滤,便对叶子节点中的所有的数据图和q-一去计算子图相似距离,如果子图相 似距离小于给定的阔值则为答案,否则不是答案。
[0010] 本发明的有益效果在于,将非同意测度的子图相似距离的估计转化为图测度距离 的估计,进而可使用Ξ角不等式进行过滤;既支持连通子图的相似查询,也可W支持不连通 的子图相似查询;设计一个图测度树来对数据图合集中的数据图进行索引,大大提高查询 的效率。
【具体实施方式】
[0011] 下面结合【具体实施方式】来对本发明作更进一步的说明,W便本领域的技术人员更 了解本发明,但并不W此限制本发明。
[001^ 给定数据图的集合D={G1,G2,…,Gn}、查询图q和子图相似距离阔值S,从D中找 出所有和q的子图相似距离小于S的数据图。
[0013] 对于子图相似查询而言,最简单的方法是对D中所有的图计算与q的子图相似距 离,将子图相似距离小于S的返回。然而该方法的时间开销非常大,因此本方案提出一种过 滤方法。即对于D中的某个图G,估算一下G和q的子图相似距离,如果该距离肯定大于S,尽管 不知道确切的子图相似距离的值,但仍可W把G过滤掉。对于无法过滤掉的图才去和q计算 子图相似距离。运样总体的计算时间得到大大减少。
[0014] 然而子图相似距离不是一个测度,因为它不满足Ξ角不等式,就要将子图相似距 离转换成一个图测度距离。给定查询图q,数据图G1和G2和子图相似距离阔值t,如果
,则竭C寶洛蹲> 5 ,近一步引入扩展图,将图G1相对于 G2的扩展图G1*定义为:若|G1|〉=|G2|, G1*=G1;否则G1* = G1UA,A为一个图,其任何一个 点都不在G1和G帥。若绿學斬招2)-効雖樹;螺游£,则邊鄉满忍): 似距离的估算转换为了图测度距离的估算。
[0015] 过滤方法是从D中选取一个错数据图,记为P,计算P的扩展图P*和D中任一数据图G 之间的图测度距离d(P*,G),根据用户提交的查询图q,计算图测度距离d(q,P*)。然后根据 鑛島轉:哲梯-读絳拉玉闲典.《,则娘編憐I)矣老来判断礙镜::满^ 贝化被过滤掉,如果不是,需要进一步计算娘餐i的确切值。
[0016]由于D中可能包含非常多的数据图,只靠一个错数据图进行过滤性能不佳。因此需 要把D进行递归式地分割成多个子集,对每个子集建立一个错数据图。运样便形成了一个树 形结构,称为图测度树。在D中选取某个数据图或某个数据图的子图,作为错图P,计算出D中 所有数据图和错图之间的图测度最大距离b,WV2为界,把D分为两个子集D1和D2,其中把D 中和错图的图测度距离小于b/2的数据图归为D1,把D中和错图的图测度距离大于等于b/2 的归为D2,把D分成了两个子集D1和D2,递归地对D1和D2进行分割,直到集合足够小而不需 进一步分割,构建图测度树。Wp为错图对D的分割为树根错图。首先计算查询图q和树根错 图的图测度距离,递归判断是否进一步访问。
【主权项】
1. 一种基于图测度的子图相似查询方法,其特征在于,包括:先将不同测度的子图相似 距离的估算转化为图测度距离的估算,再根据图测度距离的估算进行过滤,完成子图相似 查询,所述的基于图测度的子图相似查询方法,进一步构建图测度树,基于图测度树进行子 图相似查询。2. 根据权利要求1所述的基于图测度的子图相似查询方法,其特征在于,所述子图相似 距离计算方法为:给定查询图q和数据图G,则子图相似距离mcs(q,G)为q和G的最大公共子图,|mcs(q,G) |和| q |分别为mcs(q,G)和q的大小。3. 根据权利要求1所述的基于图测度的子图相似查询方法,其特征在于,所述的图测度 距离的计算方法为:两个图G1和G2之间的图测度距离d如下,其中,mcs(Gl,G2)是G1和G2的最大公共子图,|mcs (G1,G2) |、|G11 和 |G2| 分别为mcs(Gl,G2)、Gl和G2的大小。4. 根据权利要求1-3所述的基于图测度的子图相似查询方法,其特征在于,所述的将不 同测度的子图相似距离的估算转化为图测度距离的估算的转化方法为:给定查询图q,数据图G 1和G 2和子图相似距尚阈值t, £1??恭所述的转化方法更近一步包括,引入扩展图,将图G1相对于G2的扩展图 G1*定义为:若|G1|>=|G2|,G1*=G1;否则Gl* = G1UA,A为一个图,其任何一个点都不在G1 和G2中,可得出,若_β_,儀一5. 根据权利要求1-4所述的基于图测度的子图相似查询方法,其特征在于,所述的过滤 方法是,从D中选取一个锚数据图,记为Ρ,计算Ρ的扩展图Ρ*和D中任一数据图G之间的图测 度距离d(P*,G),根据用户提交的查询图q,计算图测度距离d(q,P*),然后根据 - _落名:,则__^ 贝犯被过滤掉,如果不是,需要进一步计算的确切值。6. 根据权利要求1所述的基于图测度的子图相似查询方法,其特征在于,所述的图测度 树构建方法为:在D中选取某个数据图或某个数据图的子图,作为锚图p,计算D中所有数据 图和锚图之间的图测度最大距离b,以b/2为界,把D分为两个子集D1和D2,其中把D中和锚图 的图测度距离小于b/2的数据图归为D1,把D中和锚图的图测度距离大于等于b/2的归为D2, 把D分成了两个子集D1和D2,递归地对D1和D2进行分割,直到集合足够小而不需进一步分 害J,以P为锚图对D的分割为树根锚图。7. 根据权利要求1-6所述的基于图测度的子图相似查询方法,其特征在于,所述的基于 图测度树进行子图相似查询方法为:首先计算查询图q和树根锚图的图测度距离,递归判断 是否进一步访问。
【文档编号】G06F17/30GK105825237SQ201610159306
【公开日】2016年8月3日
【申请日】2016年3月21日
【发明人】吕雪岭, 彭云
【申请人】山东联科云计算科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1