有向图包含查询:如剥洋葱般简单
1. 引言
在当今的数据应用中,图数据无处不在,像化学化合物、蛋白质结构以及社交网络等领域都广泛涉及。随着图数据库的使用日益频繁,如何在大规模图数据库中高效处理包含查询成为了一项关键挑战。在许多实际应用里,图数据库经常需要更新,例如SCF Finder数据库,每天大约会新增4000种新发现的化合物。因此,探索一种对更新友好的图包含查询处理算法具有重要意义。
传统的包含查询成本可能非常高。假设有两个对象T和T1,T有a、b、c、d、e、f六个部分,T1有x、y、z三个部分,要判断T1是否被T包含。传统方法需要进行大量的匹配操作,最多可能需要6 * 5 * 4 = 120次匹配。但如果将问题类比为剥洋葱,情况就会变得简单很多。把对象T看作一个有六层(从外到内为a/b/c/d/e/f)的洋葱O,对象T1看作一个有三层(x/y/z)的洋葱O1,通过逐层匹配,最多只需要4 * 3 = 12次匹配。
受此启发,我们提出了一种简单而高效的方法,利用有向图中的偏序约束来索引有向图并处理包含查询。这种方法可以将有向图转换为类似洋葱的分层顶点序列,数据库更新时只需处理新更新的图,不影响其他数据和索引项。通过引入两种优化的顶点序列,还能显著提高过滤能力。
主要贡献如下:
1. 证明了有向图中的偏序约束比常用的频繁图特征更容易获取,并且可以轻松用于过滤包含查询。
2. 将图顶点划分为不同层,把偏序集转换为分层顶点序列,基于此的序列匹配过滤方法高效且有效。
3. 引入两种优化的分层顶点序列,提高了基于序列匹配的过滤算法的性能。
2. 预备知识和相关工作
图,尤其是带标签的图,广泛用
超级会员免费看
订阅专栏 解锁全文
1242

被折叠的 条评论
为什么被折叠?



