Multi-Query Optimization for Subgraph Isomorphism Search

Existing work on subgraph isomorphism search mainly focuses on a-query-at-a-time approaches: optimizing and answering each query separately. When multiple queries arrive at the same time, sequential processing is not always the most efficient. In this paper, we study multi-query optimization for subgraph isomorphism search. We first propose a novel method for efficiently detecting useful common sub-graphs and a data structure to organize them. Then we propose a heuristic algorithm based on the data structure to compute a query execution order so that cached intermediate results can be effectively utilized. To balance memory usage and the time for cached results retrieval, we present a novel structure for caching the intermediate results. We provide strategies to revise existing single-query subgraph isomorphism algorithms to seamlessly utilize the cached results, which leads to significant performance improvement. Extensive experiments verified the effectiveness of our solution.

[1]  Jeong-Hoon Lee,et al.  Turboiso: towards ultrafast and robust subgraph isomorphism search in large graph databases , 2013, SIGMOD '13.

[2]  Ambuj K. Singh,et al.  Query Language and Access Methods for Graph Databases , 2010, Managing and Mining Graph Data.

[3]  Shuigeng Zhou,et al.  QUBLE: towards blending interactive visual subgraph search queries on large networks , 2014, The VLDB Journal.

[4]  Junhu Wang,et al.  Exploiting Vertex Relationships in Speeding up Subgraph Isomorphism over Large Graphs , 2015, Proc. VLDB Endow..

[5]  Sing-Hoi Sze,et al.  Path Matching and Graph Matching in Biological Networks , 2007, J. Comput. Biol..

[6]  Chao Tian,et al.  Keys for Graphs , 2015, Proc. VLDB Endow..

[7]  Xin Wang,et al.  Association Rules with Graph Patterns , 2015, Proc. VLDB Endow..

[8]  Jeong-Hoon Lee,et al.  An In-depth Comparison of Subgraph Isomorphism Algorithms in Graph Databases , 2012, Proc. VLDB Endow..

[9]  Lijun Chang,et al.  Efficient Subgraph Matching by Postponing Cartesian Products , 2016, SIGMOD Conference.

[10]  Jianzhong Li,et al.  Efficient Subgraph Matching on Billion Node Graphs , 2012, Proc. VLDB Endow..

[11]  Yinghui Wu,et al.  Functional Dependencies for Graphs , 2016, SIGMOD Conference.

[12]  Timos K. Sellis,et al.  Multiple-query optimization , 1988, TODS.

[13]  Johannes Gehrke,et al.  Massively multi-query join processing in publish/subscribe systems , 2007, SIGMOD '07.

[14]  Timos K. Sellis,et al.  On the Multiple-Query Optimization Problem , 1990, IEEE Trans. Knowl. Data Eng..

[15]  Luis Gravano,et al.  Navigation- vs. index-based XML multi-query processing , 2003, Proceedings 19th International Conference on Data Engineering (Cat. No.03CH37405).

[16]  Mario Vento,et al.  A (sub)graph isomorphism algorithm for matching large graphs , 2004, IEEE Transactions on Pattern Analysis and Machine Intelligence.

[17]  Anders Edenbrandt,et al.  Quotient tree partitioning of undirected graphs , 1986, BIT.

[18]  Jeffrey Xu Yu,et al.  Taming verification hardness: an efficient algorithm for testing subgraph isomorphism , 2008, Proc. VLDB Endow..

[19]  Julian R. Ullmann,et al.  An Algorithm for Subgraph Isomorphism , 1976, J. ACM.

[20]  Sheldon J. Finkelstein Common expression analysis in database applications , 1982, SIGMOD '82.

[21]  Jiawei Han,et al.  On graph query optimization in large networks , 2010, Proc. VLDB Endow..

[22]  Feifei Li,et al.  Scalable Multi-query Optimization for SPARQL , 2012, 2012 IEEE 28th International Conference on Data Engineering.