一种子图匹配的方法及装置的制造方法

文档序号:9489426阅读:502来源:国知局
一种子图匹配的方法及装置的制造方法
【技术领域】
[0001] 本发明涉及计算机领域,尤其涉及一种子图匹配的方法及装置。
【背景技术】
[0002] 传统意义上的子图匹配指子图同构,给定数据图G和查询图Q,找出数据图G中所 有与查询图Q具有完全相同图结构的子图。随着对链接分析、web语义网络等应用中大规 模的带标签图的处理需要,在原有子图同构问题上衍生出新的子图匹配问题,标签图中的 子图匹配问题要求匹配结果和查询图Q满足两个条件:标签条件,查询图Q中顶点的标签要 与该顶点在匹配图中的匹配顶点的标签相一致;结构条件,如果查询图Q中两个顶点之间 存在边,那么该两个顶点在匹配图中相对应的匹配顶点之间在数据图G中存在可达路径。
[0003] 现有技术的子图匹配的Top-k算法中,基于查询图Q创建生成树,并将创建的生 成树作为查询树,自底向上构建查询树的匹配列表,每棵生成树对应一个匹配列表,由该 匹配列表查找查询图Q的Top-k匹配。Top-k算法中的查询代价可表示为:C〇st(P)= c· + ·g(ai,α2,...,cth),其中,多棵生成树T可设为H,…,Th, ,…,Th)为扫描所有匹配列表的磁盘I/0(input/output,输入/输出端口)代价,g(αα2,…,ah)表示其他匹配的时间代价,现有技术中,f〇\,T2,…,Th)在构建生成树T 时确定了,贝1J通过优化a2,···,ah)以减少Top-k算法中的查询代价,但现有技术中 忽略了 ,…,Th)产生的I/O冗余,在查找Top-k匹配时需自底向上的顺序访问每一 个匹配列表,而公共边则被多次访问,产生冗余1/0,尤其对于查询的匹配结果数据集非常 巨大时,磁盘1/0代价大,增加了时延,且降低了子图匹配的效率。

【发明内容】

[0004] 本发明实施例提供一种子图匹配方法及装置,用于解决现有技术的子图匹配的 Top-k算法中产生冗余1/0、子图匹配的效率低的技术问题。
[0005] 本发明实施例第一方面提供了一种子图匹配方法,包括:
[0006] 输入带环图,生成所述带环图的多棵生成树;
[0007] 将所述多棵生成树进行组合,得到生成树组合,多个所述生成树组合形成集合;
[0008] 从所述集合中确定目标生成树组合;
[0009] 将所述目标生成树组合映射为基表访问拓扑图;
[0010] 根据所述基表访问拓扑图生成目标访问顺序;
[0011] 根据所述目标访问顺序访问数据库中的基表,得到所述带环图的Top-k匹配子 图。
[0012] 在第一方面的第一种可能的实现方式中,所述根据所述基表访问拓扑图生成目标 访问顺序包括:
[0013] 判断所述基表访问拓扑图中是否存在拓扑环;
[0014] 若不存在,由所述基表访问拓扑图的拓扑顺序生成所述目标访问顺序。
[0015] 结合第一方面或第一方面的第一种可能实现方式,在第一方面的第二种可能的实 现方式中,所述将所述目标生成树组合映射为基表访问拓扑图包括:
[0016] 将所述目标生成树组合中的每棵所述生成树映射为一个基表访问树,将多个所述 基表访问树进行叠加,并合并公共边,得到所述基表访问拓扑图。
[0017] 结合第一方面的第二种可能实现方式,在第一方面的第三种可能的实现方式中, 所述将所述目标生成树组合中每棵所述生成树映射为一个基表访问树包括:
[0018] 将所述生成树中的每条边映射为所述基表访问树中的顶点,并根据所述生成树中 的边与边之间的关联关系建立所述基表访问树中的顶点与顶点之间的关联关系,根据所 述基表访问树中的顶点与顶点之间的关联关系连接所述基表访问树中顶点,得到所述基表 访问树。
[0019] 结合第一方面、第一方面的第一种可能实现方式、第一方面的第二种可能实现方 式或第一方面的三种可能实现方式中任一种,在第一方面的第四种可能的实现方式中,所 述从所述集合中确定目标生成树组合包括:通过全局启发式搜索算法从所述集合中确定所 述目标生成树组合。
[0020] 本发明实施例第二方面提供了一种子图匹配装置,包括:
[0021] 生成树处理模块,用于输入带环图,生成所述带环图的多棵生成树;
[0022] 生成树组合模块,用于将所述多棵生成树进行组合,得到生成树组合,多个所述生 成树组合形成集合;
[0023] 确定模块,用于从所述集合中确定目标生成树组合;
[0024] 映射模块,用于将所述目标生成树组合映射为基表访问拓扑图;
[0025] 访问顺序生成模块,用于根据所述基表访问拓扑图生成目标访问顺序;
[0026] 子图匹配模块,用于根据所述目标访问顺序访问数据库中的基表,得到所述带环 图的Top-k匹配子图。
[0027] 在第二方面的第一种可能的实现方式中,所述访问顺序生成模块包括:
[0028] 判断单元,用于判断所述基表访问拓扑图中是否存在拓扑环;
[0029] 生成单元,用于在所述判断单元的判断结果为否时,由所述基表访问拓扑图的拓 扑顺序生成所述目标访问顺序。
[0030] 结合第二方面或第一方面的第一种可能实现方式,在第二方面的第二种可能的实 现方式中,所述映射模块具体用于:
[0031] 将所述目标生成树组合中的每棵所述生成树映射为一个基表访问树,将多个所述 基表访问树进行叠加,并合并公共边,得到所述基表访问拓扑图。
[0032] 结合第二方面的第二种可能实现方式,在第二方面的第三种可能的实现方式中, 所述映射模块将所述目标生成树组合中的每棵所述生成树映射为一个基表访问树具体包 括:
[0033] 将所述生成树中的每条边映射为所述基表访问树中的顶点,并根据所述生成树中 的边与边之间的关联关系建立所述基表访问树中的顶点与顶点之间的关联关系,根据所 述基表访问树中的顶点与顶点之间的关联关系连接所述基表访问树中顶点,得到所述基表 访问树。
[0034] 结合第二方面、第二方面的第一种可能实现方式、第二方面的第二种可能实现方 式或第二方面的第三种可能实现方式中任一种,在第二方面的第四种可能的实现方式中, 所述确定模块具体用于:通过全局启发式搜索算法从所述集合中确定所述目标生成树组 合。
[0035]实施本发明实施例,可生成带环图的多棵生成树,将多棵生成树进行组合,得到生 成树组合,多个生成树组合形成集合,可从集合中确定目标生成树组合,将目标生成树组合 映射为基表访问拓扑图,由基表访问拓扑图生成目标访问顺序,可通过目标访问顺序只需 访问访问数据库中的基表一次,无需重复访问,则得到带环图的Top-k匹配子图,无产生冗 余1/0,提高了子图匹配的效率。
【附图说明】
[0036]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本 发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以 根据这些附图获得其他的附图。
[0037] 图1为现有技术中的一种子图匹配的示例图;
[0038]图2为本发明实施例提供的一种子图匹配方法的示意图;
[0039]图3为本发明实施例提供的基表访问拓扑图的生成意图;
[0040]图4为本发明实施例提供的一种子图匹配装置的结构示意图;
[0041]图5为本发明实施例提供的访问顺序生成模块的结构示意图;
[0042]图6为本发明实施例提供的一种终端的结构示意图。
【具体实施方式】
[0043]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本 发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实 施例,都属于本发明保护的范围。
[0044]本发明实施例提供一种子图匹配方法及装置。本发明实施中的一种子图匹配装置 可以包括:如电脑、服务器等终端设备,进一步可选的,本发明实施例中的子图匹配装置还 可以包括:电脑、服务器等终端设备中的客户端模块,例如,网络数据处理客户端、语义分析 客户端等等。
[0045]本发明实施例提供一种子图匹配方案可以应用于例如蛋白质交互网中的未知疾 病的致病原理的研究、社交网络中的关键信息匹配或语义网络中的元数据检索等等应用场 景中。具体例如,可将社交网络中的用户作为图的顶点,用户与用户之间的关系(如朋友关 系)作为图的边,子图匹配方案可以为:查询不同类用户之间的友好关系的连接情况;可将 web网络中的网页作为图的顶点,网页之间的链接关系作为图的边,子图匹配方案可以为: 镜像站点检测方案等等。作为一种可选的实施方式,本发明实施例提供一种子图匹配方案 还可以应用于例
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1