一种子图查询方法、装置及计算机可读存储介质制造方法及图纸

技术编号:18658184 阅读:32 留言:0更新日期:2018-08-11 14:30
本发明专利技术公开了一种子图查询方法、装置及计算机可读存储介质,本发明专利技术首先获取用户输入的查询图,在确定所述查询图中的顶点数量、各顶点的类型以及顶点之间的权重,并获取所述查询图的结构后,再根据所述查询图中的顶点数量、各顶点的类型以及顶点之间的权重对待处理图模型进行剪枝处理,以减少不必要的查询匹配次数,将剪枝处理后的图模型作为待查找图模型,最后从所述待查找图模型中查找与所述查询图的结构相匹配的目标子图,进而实现了当用户输入的查询图包含特定的查询条件时,快速有效地对待处理图进行子图查询,获得精确的子图查询结果。

A subgraph query method, device and computer readable storage medium

The invention discloses a sub-graph query method, device and computer-readable storage medium. The invention first obtains a query graph input by a user, determines the number of vertices, the types of vertices and the weights between vertices in the query graph, and then obtains the structure of the query graph according to the top of the query graph. The number of points, the types of vertices and the weights between vertices are pruned to reduce the number of unnecessary query matches. The pruned graph model is used as the model of the graph to be searched. Finally, the target subgraph matching the structure of the query graph is found from the model of the graph to be searched. When the query graph input by the user contains specific query conditions, it can query the processing graph quickly and effectively to obtain accurate sub-graph query results.

【技术实现步骤摘要】
一种子图查询方法、装置及计算机可读存储介质
本专利技术涉及计算机
,尤其涉及一种子图查询方法、装置及计算机可读存储介质。
技术介绍
图模型在现实世界中被广泛应用于如社交网络、城市道路网络、生物网络等众多领域。相较于传统数据模型,图以顶点表示实体,边表示实体之间的关系,能够更为有效的刻画一些结构较为复杂的数据对象。其中,在数据图中找到与查询图同构且满足用户设定的子图集合的子图搜索问题是图模型的热点问题之一。然而,大多数经典算法仅用于无权图的搜索,对于大规模数据图的搜索效率并不理想。而随着各领域数据量的剧增,图规模越来越大。大图上的子图搜索问题的方法主要分为构建索引和并行化。尽管目前已有的大规模数据图上子图搜索算法取得了一定的进展,但均基于通用查询图模型进行搜索,对于现实生活中一些限定性的常见查询问题的执行效率并不高,甚至无法满足查询要求。上述内容仅用于辅助理解本专利技术的技术方案,并不代表承认上述内容是现有技术。
技术实现思路
本专利技术的主要目的在于提供一种子图查询方法、装置及计算机可读存储介质,旨在解决现有技术中用户输入的查询图包含特定的条件时,无法做到有效精确地对待处理图进行子图查询的问题。为实现上述目的,本专利技术提供一种子图查询方法,所述方法包括:获取用户输入的查询图;确定所述查询图中的顶点数量、各顶点的类型以及顶点之间的权重,并获取所述查询图的结构;根据所述查询图中的顶点数量、各顶点的类型以及顶点之间的权重对待处理图模型进行剪枝处理,并将剪枝处理后的图模型作为待查找图模型;从所述待查找图模型中查找与所述查询图的结构相匹配的目标子图。优选地,所述获取用户输入的查询图之前,所述方法还包括:对所述待处理图模型进行子图划分,以使得所述待处理图模型具有多个子图。优选地,所述顶点的类型包括固定节点值和可变节点值;相应地,所述根据所述查询图中的顶点数量、各顶点的类型以及顶点之间的权重对待处理图模型进行剪枝处理,并将剪枝处理后的图模型作为待查找图模型,具体包括:将所述待处理图模型中互为邻接顶点且顶点类型为固定节点值的顶点进行合并,生成固定节点值合并点;将所述待处理图模型中互为邻接顶点且顶点类型为可变节点值的顶点进行合并,生成可变节点值合并点;根据所述固定节点值合并点和所述可变节点值合并点生成所述待处理图模型的压缩图;根据所述查询图中的顶点数量对所述压缩图进行第一剪枝处理;根据所述查询图中顶点之间的权重对第一剪枝处理后的压缩图进行第二剪枝处理,并将第二剪枝处理后的压缩图作为待查找图模型。优选地,所述根据所述查询图中的顶点数量对所述压缩图进行第一剪枝处理,具体包括:统计所述压缩图的各固定节点值合并点中已被合并的固定类顶点数量;获取所述查询图中的固定类顶点数量,删除所述压缩图中少于所述查询图中固定类顶点数量对应的固定节点值合并点;统计所述压缩图的各可变节点值合并点中已被合并的可变类顶点数量;获取所述查询图中的可变类顶点数量,删除所述压缩图中少于所述查询图中可变类顶点数量对应的可变节点值合并点。优选地,所述根据所述查询图中顶点之间的权重对第一剪枝处理后的压缩图进行第二剪枝处理,具体包括:将所述查询图中各固定类顶点之间的权重相加,得到所述查询图中各固定类顶点之间的第一总权重;分别将所述压缩图的各固定节点值合并点中已被合并的固定类顶点之间的权重相加,获得所述压缩图中各固定节点值合并点的第二总权重;将所述压缩图的各第二总权重分别与所述查询图的第一总权重进行比较,删除所述压缩图中小于所述第一总权重对应的固定节点值合并点。优选地,所述根据所述查询图中的顶点数量、各顶点的类型以及顶点之间的权重对待处理图模型进行剪枝处理之前,还包括:确定所述待处理图模型中各顶点的编号、各顶点的类型、以及各顶点之间的权重;根据所述待处理图模型中各顶点的编号、各顶点的类型、以及各顶点之间的权重构建所述待处理图模型的第一索引;结合所述第一索引对所述待处理图模型中的各顶点的邻接顶点进行统计,并根据统计结果构建所述待处理图模型的第二索引;相应地,所述从所述待查找图模型中查找与所述查询图的结构相匹配的目标子图,具体包括:结合所述第二索引从所述待查找图模型中查找与所述查询图的结构相匹配的目标子图。优选地,所述结合所述第二索引从所述待查找图模型中查找与所述查询图的结构相匹配的目标子图,具体包括:根据所述查询图中的顶点数量、顶点之间的权重以及查询图的结构,并结合所述第二索引分别对所述待查找图模型中的固定节点值合并点进行内部子图搜索,获得与所述查询图相匹配的固定节点值合并点子图;根据获取到的固定节点值合并点子图、所述查询图中的顶点之间的权重以及查询图的结构,并结合所述第二索引分别对所述待查找图模型中的可变节点值合并点进行内部子图搜索,获得与所述查询图相匹配的可变节点值合并点子图;根据已获得的所述固定节点值合并点子图和可变节点值合并点子图确定目标子图。可选地,所述从所述待查找图模型中查找与所述查询图的结构相匹配的目标子图之后,所述方法还包括:对所述目标子图进行展示。此外,为实现上述目的,本专利技术还提出一种子图查询装置,所述装置包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的子图查询程序,所述子图查询程序配置为实现如上所述的子图查询的方法的步骤。此外,为实现上述目的,本专利技术还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有子图查询程序,所述子图查询程序被处理器执行时实现如上所述的子图查询的方法的步骤。本专利技术首先获取用户输入的查询图,在确定所述查询图中的顶点数量、各顶点的类型以及顶点之间的权重,并获取所述查询图的结构后,再根据所述查询图中的顶点数量、各顶点的类型以及顶点之间的权重对待处理图模型进行剪枝处理,以减少不必要的查询匹配次数,将剪枝处理后的图模型作为待查找图模型,最后从所述待查找图模型中查找与所述查询图的结构相匹配的目标子图,进而实现了当用户输入的查询图包含特定的查询条件时,快速有效地对待处理图进行子图查询,获得精确的子图查询结果。附图说明图1是本专利技术实施例方案涉及的硬件运行环境的子图查询装置的结构示意图;图2为本专利技术一种子图查询方法一实施例的流程示意图;图3为本专利技术一实施例中待处理图模型的结构示意图;图4为本专利技术一实施例中查询图的结构示意图;图5为本专利技术一实施例中又一待处理图模型的结构示意图;图6为本专利技术一实施例中满足搜索条件的子图;图7为本专利技术一实施例中待处理图模型的压缩图;图8为本专利技术一实施例中待处理图模型第二索引示意图;图9为本专利技术一种子图查询方法又一实施例的流程示意图。本专利技术目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。具体实施方式应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。参照图1,图1为本专利技术实施例方案涉及的硬件运行环境的子图查询装置结构示意图。如图1所示,该子图查询装置可以包括:处理器1001,例如CPU,通信总线1002,用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1本文档来自技高网...

【技术保护点】
1.一种子图查询方法,其特征在于,所述方法包括:获取用户输入的查询图;确定所述查询图中的顶点数量、各顶点的类型以及顶点之间的权重,并获取所述查询图的结构;根据所述查询图中的顶点数量、各顶点的类型以及顶点之间的权重对待处理图模型进行剪枝处理,并将剪枝处理后的图模型作为待查找图模型;从所述待查找图模型中查找与所述查询图的结构相匹配的目标子图。

【技术特征摘要】
1.一种子图查询方法,其特征在于,所述方法包括:获取用户输入的查询图;确定所述查询图中的顶点数量、各顶点的类型以及顶点之间的权重,并获取所述查询图的结构;根据所述查询图中的顶点数量、各顶点的类型以及顶点之间的权重对待处理图模型进行剪枝处理,并将剪枝处理后的图模型作为待查找图模型;从所述待查找图模型中查找与所述查询图的结构相匹配的目标子图。2.如权利要求1所述的方法,其特征在于,所述获取用户输入的查询图之前,所述方法还包括:对所述待处理图模型进行子图划分,以使得所述待处理图模型具有多个子图。3.如权利要求1所述的方法,其特征在于,所述顶点的类型包括固定节点值和可变节点值;相应地,所述根据所述查询图中的顶点数量、各顶点的类型以及顶点之间的权重对待处理图模型进行剪枝处理,并将剪枝处理后的图模型作为待查找图模型,具体包括:将所述待处理图模型中互为邻接顶点且顶点类型为固定节点值的顶点进行合并,生成固定节点值合并点;将所述待处理图模型中互为邻接顶点且顶点类型为可变节点值的顶点进行合并,生成可变节点值合并点;根据所述固定节点值合并点和所述可变节点值合并点生成所述待处理图模型的压缩图;根据所述查询图中的顶点数量对所述压缩图进行第一剪枝处理;根据所述查询图中顶点之间的权重对第一剪枝处理后的压缩图进行第二剪枝处理,并将第二剪枝处理后的压缩图作为待查找图模型。4.如权利要求3所述的方法,其特征在于,所述根据所述查询图中的顶点数量对所述压缩图进行第一剪枝处理,具体包括:统计所述压缩图的各固定节点值合并点中已被合并的固定类顶点数量;获取所述查询图中的固定类顶点数量,删除所述压缩图中少于所述查询图中固定类顶点数量对应的固定节点值合并点;统计所述压缩图的各可变节点值合并点中已被合并的可变类顶点数量;获取所述查询图中的可变类顶点数量,删除所述压缩图中少于所述查询图中可变类顶点数量对应的可变节点值合并点。5.如权利要求4所述的方法,其特征在于,所述根据所述查询图中顶点之间的权重对第一剪枝处理后的压缩图进行第二剪枝处理,具体包括:将所述查询图中各固定类顶点之间的权重相加,得到所述查询图中各固定类顶点之间的第一总权重;分别将所述压缩图的各固定节点值合并点中已被合并的固定类顶点之间的权重相...

【专利技术属性】
技术研发人员:孙翀胡一然张蕾宋中山帖军郑禄
申请(专利权)人:中南民族大学
类型:发明
国别省市:湖北,42

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1