A General Powerful Graph Pattern Matching System for Data Analysis

  • Andrea Fornaia
  • Misael MongiovìEmail author
  • Giuseppe Pappalardo
  • Emiliano Tramontana
Conference paper
Part of the Studies in Computational Intelligence book series (SCI, volume 813)


Graph pattern matching is a powerful mechanism for searching on network data. Most of the graph pattern matching tools available are based on subgraph isomorphism, i.e. finding a one-to-one correspondence between nodes of a query graph and nodes of a target graph. Often this approach is not flexible enough, since it does not allow the query to represent sets of nodes of any size that share the same profile of connectivity. We propose a novel powerful graph matching approach that overcomes the existing limits and allows the user to define complex patterns in a simple and intuitive way. In our approach, queries are expressed as graphs, whose nodes and edges specify structural constraints and filtering criteria. We show that, despite its simplicity, the proposed approach can solve a large variety of practical problems.


Graph pattern matching Network analysis Subgraph isomorphism 



This work is supported by the CLARA - CLoud plAtform and smart underground imaging for natural Risk Assessment - project, SCN 00451, funded by the Italian Ministry of Education, Universities and Research, within the “Smart Cities and Communities and Social Innovation” initiative.


  1. 1.
    Angles, R., Arenas, M., Barceló, P., Hogan, A., Reutter, J., Vrgoč, D.: Foundations of modern query languages for graph databases. ACM Comput. Surv. (CSUR) 50(5), 68 (2017)CrossRefGoogle Scholar
  2. 2.
    Cohen, E., Datar, M., Fujiwara, S., Gionis, A., Indyk, P., Motwani, R., Ullman, J.D., Yang, C.: Finding interesting associations without support pruning. IEEE Trans. Knowl. Data Eng. 13(1), 64–78 (2001)CrossRefGoogle Scholar
  3. 3.
    Cordella, L.P., Foggia, P., Sansone, C., Vento, M.: A (sub) graph isomorphism algorithm for matching large graphs. IEEE Trans. Pattern Anal. Mach. Intell. 26(10), 1367–1372 (2004)CrossRefGoogle Scholar
  4. 4.
    Di Natale, R., Ferro, A., Giugno, R., Mongiovì, M., Pulvirenti, A., Shasha, D.: Sing: Subgraph search in non-homogeneous graphs. BMC Bioinform. 11(1), 1 (2010)CrossRefGoogle Scholar
  5. 5.
    Fan, W., Li, J., Ma, S., Tang, N., Wu, Y., Wu, Y.: Graph pattern matching: from intractable to polynomial time. Proc. VLDB Endow. 3(1–2), 264–275 (2010)CrossRefGoogle Scholar
  6. 6.
    Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object-oriented Software. Addison-Wesley, Boston (1994)Google Scholar
  7. 7.
    He, H., Singh, A.K.: Closure-tree: an index structure for graph queries. In: Proceedings of International Conference on Data Engineering (ICDE), pp. 38–38. IEEE (2006)Google Scholar
  8. 8.
    Henzinger, M.R., Henzinger, T.A., Kopke, P.W.: Computing simulations on finite and infinite graphs. In: Proceedings of Annual Symposium on Foundations of Computer Science, pp. 453–462. IEEE (1995)Google Scholar
  9. 9.
    Ma, S., Cao, Y., Fan, W., Huai, J., Wo, T.: Capturing topology in graph pattern matching. Proc. VLDB Endow. 5(4), 310–321 (2011)CrossRefGoogle Scholar
  10. 10.
    Ma, S., Cao, Y., Fan, W., Huai, J., Wo, T.: Strong simulation: capturing topology in graph pattern matching. ACM Trans. Database Syst. (TODS) 39(1), 4 (2014)MathSciNetCrossRefGoogle Scholar
  11. 11.
    Mongiovì, M., Di Natale, R., Giugno, R., Pulvirenti, A., Ferro, A., Sharan, R.: Sigma: a set-cover-based inexact graph matching algorithm. J. Bioinform. Comput. Biol. 8(02), 199–218 (2010)CrossRefGoogle Scholar
  12. 12.
    Mongiovì, M., Pappalardo, G., Tramontana, E.: Specifying and identifying widely used crosscutting concerns. Knowl.-Based Syst. 126, 20–32 (2017)CrossRefGoogle Scholar
  13. 13.
    Peng, P., Zou, L., Chen, L., Lin, X., Zhao, D.: Answering subgraph queries over massive disk resident graphs. World Wide Web 19(3), 417–448 (2016)CrossRefGoogle Scholar
  14. 14.
    Pienta, R., Tamersoy, A., Tong, H., Chau, D.H.: Mage: Matching approximate patterns in richly-attributed graphs. In: Proceedings of International Conference on Big Data (Big Data), pp. 585–590. IEEE (2014)Google Scholar
  15. 15.
    Pinter, R.Y., Rokhlenko, O., Yeger-Lotem, E., Ziv-Ukelson, M.: Alignment of metabolic pathways. Bioinformatics (Oxford, England) 21(16), 3401–8 (2005)CrossRefGoogle Scholar
  16. 16.
    Zhang, S., Hu, M., Yang, J.: Treepi: A novel graph indexing method. In: Proceedings of International Conference on Data Engineering (ICDE), pp. 966–975. IEEE (2007)Google Scholar
  17. 17.
    Zhang, S., Li, S., Yang, J.: GADDI: distance index based subgraph matching in biological networks. In: Proceedings of International Conference on Extending Database Technology: Advances in Database Technology, pp. 192–203. ACM (2009)Google Scholar
  18. 18.
    Zhang, S., Yang, J., Jin, W.: Sapper: subgraph indexing and approximate matching in large graphs. Proc. VLDB Endow. 3(1–2), 1185–1194 (2010)CrossRefGoogle Scholar

Copyright information

© Springer Nature Switzerland AG 2019

Authors and Affiliations

  • Andrea Fornaia
    • 1
  • Misael Mongiovì
    • 1
    Email author
  • Giuseppe Pappalardo
    • 1
  • Emiliano Tramontana
    • 1
  1. 1.Dipartimento di Matematica e InformaticaUniversità degli Studi di CataniaCataniaItaly

Personalised recommendations