Abstract
Nowadays graphs have become very popular in domains like social media analytics, healthcare, natural sciences, BI, networking, etc. Graph databases (GDB) allow simple and rapid retrieval of complex graph structures that are difficult to model in traditional information systems based on a relational DBMS. GDB are designed to exploit relationships in data, which means they can uncover patterns difficult to detect using traditional methods. We introduce a new method for indexing graph patterns within a GDB modelled as a labelled property graph. The index is based on so called graph pattern trees of variations and stored in the same database where the database graph. The method is implemented for Neo4j GDB engine and analysed on three graph datasets. It enables to create, use and update indexes that are used to speed-up the process of matching graph patterns. The paper provides details of the implementation, experiments, and a comparison between queries with and without using indexes.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsNotes
- 1.
https://www.gartner.com/doc/3100219/making-big-data-normal-graph, last accessed 2018/11/14.
- 2.
https://neo4j.com/, last accessed 2018/11/14.
- 3.
http://neo4j.com/developer/cypher-query-language/, last accessed 2018/11/14.
- 4.
http://orientdb.com/orientdb, last accessed 2018/11/14.
- 5.
http://www.sparsity-technologies.com/, last accessed 2018/11/14.
- 6.
http://titan.thinkaurelius.com, last accessed 2018/11/14.
- 7.
http://www.mapdb.org/, last accessed 2018/11/14.
- 8.
https://github.com/graphaware/neo4j-framework, last accessed 2018/11/14.
- 9.
http://neo4j.com/developer/example-data/, last accessed 2018/11/14.
References
Aggarwal, C.C., Wang, H.: Managing and Mining Graph Data. Springer, Boston (2010). https://doi.org/10.1007/978-1-4419-6045-0
Goldenberg, A., Zheng, A.X., Fienberg, S.E., Airoldi, E.M.: A survey of statistical network models. Found. Trends Mach. Learn. 2(2), 129–233 (2009)
Mpinda, S.A.T., Ferreira, L.C., Ribeiro, M.X., Santos, M.T.P.: Evaluation of graph databases performance through indexing techniques. Int. J. Artif. Intell. Appl. (IJAIA) 6(5), 87–98 (2015)
O’Neil, P.E.: The SB-tree: an index-sequential structure for high-performance sequential access. Informatica 29, 241–265 (1992)
Pokorný, J.: Graph databases: their power and limitations. In: Saeed, K., Homenda, W. (eds.) CISIM 2015. LNCS, vol. 9339, pp. 58–69. Springer, Cham (2015). https://doi.org/10.1007/978-3-319-24369-6_5
Pokorny, J., Snášel, V.: Big graph storage, processing and visualization. In: Pitas, I. (ed.) Graph-Based Social Media Analysis, Chap. 12, pp. 391–416. Chapman and Hall/CRC, Boca Raton (2016)
Pokorný, J., Valenta, M., Ramba, J.: Graph patterns indexes: their storage and retrieval. In: Proceedings of the 19th International Conference on Information Integration and Web-Based Applications and Services (iiWAS 2018), Yogykarta, Indonesia, November 2018, 5 pages (2018)
Pokorný, J., Valenta, M., Troup, M.: Indexing patterns in graph databases. In: Proceedings of the DATA 2018, pp. 313–321 (2018)
Ramba, J.: Indexing graph structures in graph database machine Neo4j II. Master’s thesis, Faculty of Information Technology, Czech Technical University in Prague (2015). (in Czech)
Robinson, I., Webber, J., Eifrém, E.: Graph Databases. O’Reilly Media, Menlo Park (2013)
Sakr, S., Al-Naymat, G.: Graph indexing and querying: a review. Int. J. Web Inf. Syst. 6(2), 101–120 (2010)
Srinivasa, S.: Data, storage and index models for graph databases. In: Sakr, S., Pardede, E. (eds.) Graph Data Management: Techniques and Applications, Chap. 3, pp. 47–70. IGI Global, Hershey (2012)
Tivari, S.: Professional NoSQL. Wiley/Wrox, Hoboken (2015)
Troup, M.: Indexing of patterns in graph DB engine Neo4j I. Master’s thesis, Faculty of Information Technology, Czech Technical University in Prague (2015). https://dspace.cvut.cz/bitstream/handle/10467/65061/F8-DP-2015-Troup-Martin-thesis.pdf?sequence=1&isAllowed=y
Ullmann, J.R.: An algorithm for subgraph isomorphism. J. ACM 23(1), 31–42 (1976)
Yan, X., Yu, P.S., Han, J.: Graph indexing: a frequent structure-based approach. In: Proceedings of SIGMOD Conference, pp. 335–346. ACM (2004)
Yan, X., Han, J.: Graph indexing. In: Aggarwal, C.C., Wang, H. (eds.) Managing and Mining Graph Data. Advances in Database Systems, vol. 40. Springer, Boston (2010). https://doi.org/10.1007/978-1-4419-6045-0_5
Yuan, D., Mitra, P.: Lindex: a lattice-based index for graph databases. VLDB J. 22, 229–252 (2013)
Zhao, P., Han, J.: On graph query optimization in large networks. VLDB Endow. 3(1–2), 340–351 (2010)
Zhu, L., Ng, W.K., Cheng, J.: Structure and attribute index for approximate graph matching in large graphs. Inf. Syst. 36(6), 958–972 (2011)
Acknowledgments
This work was supported by the Charles University project Q48.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2019 Springer Nature Switzerland AG
About this paper
Cite this paper
Pokorný, J., Valenta, M., Troup, M. (2019). Graph Pattern Index for Neo4j Graph Databases. In: Quix, C., Bernardino, J. (eds) Data Management Technologies and Applications. DATA 2018. Communications in Computer and Information Science, vol 862. Springer, Cham. https://doi.org/10.1007/978-3-030-26636-3_4
Download citation
DOI: https://doi.org/10.1007/978-3-030-26636-3_4
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-26635-6
Online ISBN: 978-3-030-26636-3
eBook Packages: Computer ScienceComputer Science (R0)