1.一种基于相同后继节点压缩的子图匹配查询方法,其特征在于,所述方法包括:根据查询图和数据图生成与所述查询图对应的辅助结构,所述辅助结构包括每个查询图节点对应的候选节点集和每个查询图边对应的候选边集;根据所述查询图和所述辅助结构采用最大删除边算法生成所述查询图中节点集合的最优的排列,得到最优的查询计划;将所述查询计划中具有相同后继的节点归为一个等价集合,并根据所述等价集合对所述查询计划进行微调;根据微调后的所述查询计划执行查询过程,获取子图匹配查询结果;其中,所述根据查询图和数据图生成与所述查询图对应的辅助结构,包括:根据所述数据图对所述查询图中的每个查询图边初始化一个侯选边集合;去除各所述侯选边集合中假阳候选边,生成与所述查询图对应的辅助结构;其中,所述根据所述数据图对所述查询图中的每个查询图边初始化一个侯选边集合,包括:对于所述查询图中的任一查询图边 ,如果所述数据图中存在一个数据图边 ,查询图节点 的标签和数据图节点 的标签相同,且查询图节点 的度小于等于数据图节点 的度,则确定所述数据图边 为所述查询图边 的候选边;扫描所述数据图中的各边,获取所述查询图边 的所有候选边,得到初始化的侯选边集合;其中,所述根据所述等价集合对所述查询计划进行微调,包括:根据所述查询计划按照各所述等价集合中最后一个查询图节点的排列顺序确定各所述等价集合的顺序;按照各所述等价集合的顺序从后到前,依次将各等价集合中最后一个查询图节点之外的其他节点移动到所述最后一个查询图节点之前,并保持原节点排列顺序不变,得到微调后的所述查询计划。
2.如权利要求1所述的方法,其特征在于,所述去除各所述侯选边集合中假阳候选边,生成与所述查询图对应的辅助结构,包括:将每个所述查询图边的所述候选边集视为一个关系表;将所述关系表与所述查询图边所有的邻居边所对应的关系表进行半连接处理,去除所述侯选边集合中假阳候选边;重复多次直至过滤所有假阳候选边,生成与所述查询图对应的辅助结构。
3.如权利要求1所述的方法,其特征在于,所述根据微调后的所述查询计划执行查询过程,获取子图匹配查询结果,包括:为每个所述等价集合初始化一个对应的用于缓存匹配结果的缓存区;根据微调后的所述查询计划执行深度优先搜索;对于当前第 层的状态 ,计算匹配第 个节点 的节点集合,所述节点集合中的节点是从节点 的候选节点集合中选取的,与所有匹配节点 前驱邻居的节点相邻接的节点,将所述节点集合中的每个节点与节点 进行匹配,得到新的下一层状态 ;对于任一等价集合 ,当搜索过程回溯到最深层 所在的深度时,将此时匹配节点集合缓存起来,作为缓存键, 为所述等价集合 中位于所述查询计划最深层的节点;将匹配节点集合中各节点按照所述查询计划中的节点顺序进行重排,得到新的子图匹配查询结果。
4.如权利要求3所述的方法,其特征在于,所述根据微调后的所述查询计划执行查询过程,获取子图匹配查询结果,还包括:对于一个等价集合,如果当往前搜索到最深层节点 所在的深度时,将已经匹配等价集合 的节点集合放入到缓存区中进行查询,如果命中,则裁剪掉当前分支,否则继续搜索;如果当前回溯到最浅层节点 所在的深度,则将等价集合 对应的缓存区清空。
5.一种基于相同后继节点压缩的子图匹配查询装置,其特征在于,所述装置包括:辅助结构生成模块,用于根据查询图和数据图生成与所述查询图对应的辅助结构,所述辅助结构包括每个查询图节点对应的候选节点集和每个查询图边对应的候选边集;计划生成模块,用于根据查询图和辅助结构采用最大删除边算法生成查询图中节点集合的最优的排列,得到最优的查询计划;计划微调模块,用于将所述查询计划中具有相同后继的节点归为一个等价集合,并根据所述等价集合对所述查询计划进行微调;匹配查询模块,用于根据微调后的所述查询计划执行查询过程,获取子图匹配查询结果;其中,所述根据查询图和数据图生成与所述查询图对应的辅助结构,包括:根据所述数据图对所述查询图中的每个查询图边初始化一个侯选边集合;去除各所述侯选边集合中假阳候选边,生成与所述查询图对应的辅助结构;其中,所述根据所述数据图对所述查询图中的每个查询图边初始化一个侯选边集合,包括:对于所述查询图中的任一查询图边 ,如果所述数据图中存在一个数据图边 ,查询图节点 的标签和数据图节点 的标签相同,且查询图节点 的度小于等于数据图节点 的度,则确定所述数据图边 为所述查询图边 的候选边;扫描所述数据图中的各边,获取所述查询图边 的所有候选边,得到初始化的侯选边集合;其中,所述根据所述等价集合对所述查询计划进行微调,包括:根据所述查询计划按照各所述等价集合中最后一个查询图节点的排列顺序确定各所述等价集合的顺序;按照各所述等价集合的顺序从后到前,依次将各等价集合中最后一个查询图节点之外的其他节点移动到所述最后一个查询图节点之前,并保持原节点排列顺序不变,得到微调后的所述查询计划。
6.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1-4中任一项所述的一种基于相同后继节点压缩的子图匹配查询方法。
7.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-4中任一项所述的一种基于相同后继节点压缩的子图匹配查询方法。