您的位置:首页 > 产品设计 > UI/UE

FG-Index: Towards Verification-Free Query Processing on Graph Databases

2017-01-06 16:58 796 查看

简介

这篇paper是香港中文大学James Cheng 郑老师发在sigmod 2007上的一篇paper。这篇paper主要用频繁子图来建索引,来加速图同构算法。


众所周知,图数据的查询因为涉及到子图同构的问题(NPC),所以非常消耗时间。图同构常见的步骤都是生成候选集合(candidate set)将不可能入选结果集的结果过滤掉,第二部就是对候选集合进行验证。

假设现在存在一组频繁子图FG(Frequent subGraph),如果查询图是FG当中的一个元素,那么FG-index就可以直接把对应的结果返回给用户。如果查询不存在FG当中,那么FG-index会给出一个跟正确结果很相近的候选集合,那么这样的验证也相应的可以减少很多。

为了可以让索引载入到内存当中,文章中提出了δ-Tolerance Closed Frequent Graphs。可以调整索引的大小。

背景

图同构两大步骤:过滤=>验证

频繁出现的图意味着过滤以后的候选集合会非常大,那么就需要验证很多的候选结果。

较少出现的图意味着利用FG-index可以返回基本和结果一样的候选集合。

需要解决的一个问题是,如果选定的阈值太小δ,那么index将会太大。这也是文章想解决的一个问题。

问题定义

子图同构(subgraph isomorphism)。可自行查阅wiki或者原文。

文章基于无向带标签连通图。有向图可在下述方法中做扩展。

基本定义

图频率 给定一个图数据库D,给定一个图g,所有g’满足g是g’的子图,g’是D中的一个元素,这样g’的数量表示g的频率。直观来讲就是g是D中多少个图的子图。计作freq(g).

频繁子图 用户给定σ,当一个图g的freq(g)大于σ时,那么就称g是一个频繁子图。

最大频繁子图MFG 对于一个频繁子图的集合F,对于F中的一个元素g,不存在其他的元素g’是g的超图,那么g是F当中的一个MFG。

闭频繁子图CFG 对于一个频繁子图的集合F,对于F中的一个元素g,不存在g’是g的超图,并且freq(g’)=freq(g),那么我们称g是F的一个CFG。

#

======To be continue=========
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息