An Open-Source Object-Graph-Mapping Framework for Neo4j and Scala: Renesca

  • Felix Dietze
  • Johannes Karoff
  • André Calero Valdez
  • Martina Ziefle
  • Christoph Greven
  • Ulrik Schroeder
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9817)

Abstract

The usage and application of graph databases is increasing. Many research problems are based on understanding relationships between data entities. This is where graph databases are powerful. Nevertheless, software developers model and think in object-oriented software. Combining both approaches leads to a paradigm mismatch. This mismatch can be addressed by using object graph mappers (OGM). OGM adapt graph databases for object-oriented code, to relieve the developer. Most graph database access frameworks only support table-based result outputs. This defeats one of the strongest purposes of using graph databases. In order to harness both the power of graph databases and object-oriented modeling (e.g. type-safety, inheritance, etc.) we propose an open-source framework with two libraries: (1) renesca, which is a graph database driver providing graph-query-results and change-tracking. (2) renesca-magic, a macro-based ER-modeling domain specific language (DSL). Both were tested in a graph-based application and lead to dramatic improvements in code size (factor 10) and extensibility of the code, with no significant effect on performance.

Keywords

Graph databases Scala Neo4j REST API Object-graph-mapper OGM 

References

  1. 1.
    Dev, H.: Privacy preserving social graphs for high precision community detection. In: Proceedings of the 2014 ACM SIGMOD International Conference on Management of Data, pp. 1615–1616. ACM (2014)Google Scholar
  2. 2.
    Holzinger, A., Ofner, B., Stocker, C., Calero Valdez, A., Schaar, A.K., Ziefle, M., Dehmer, M.: On graph entropy measures for knowledge discovery from publication network data. In: Cuzzocrea, A., Kittl, C., Simos, D.E., Weippl, E., Xu, L. (eds.) CD-ARES 2013. LNCS, vol. 8127, pp. 354–362. Springer, Heidelberg (2013)CrossRefGoogle Scholar
  3. 3.
    Singh, M., Kaur, K.: Sql2neo: Moving health-care data from relational to graph databases. In: 2015 IEEE International on Advance Computing Conference (IACC), pp. 721–725. IEEE (2015)Google Scholar
  4. 4.
    Mpinda, S.A.T., Bungama, P.A., Maschietto, L.G.: Graph database application using neo4j (railroad planner simulation). Int. J. Eng. Res. Technol. 4, 999–1002 (2015). ESRSA PublicationsGoogle Scholar
  5. 5.
    Lampoltshammer, T.J., Wiegand, S.: Improving the computational performance of ontology-based classification using graph databases. Remote Sens. 7(7), 9473–9491 (2015)CrossRefGoogle Scholar
  6. 6.
    Urma, R.G., Mycroft, A.: Source-code queries with graph databases-with application to programming language usage and evolution. Sci. Comput. Program. 97, 127–134 (2015)CrossRefGoogle Scholar
  7. 7.
    Angles, R., Prat-Pérez, A., Dominguez-Sal, D., Larriba-Pey, J.L.: Benchmarking database systems for social network applications. In: First International Workshop on Graph Data Management Experiences and Systems, p. 15. ACM (2013)Google Scholar
  8. 8.
    Holzschuher, F., Peinl, R.: Querying a graph database-language selection and performance considerations. J. Comput. Syst. Sci. 82(1), 45–68 (2016)MathSciNetCrossRefMATHGoogle Scholar
  9. 9.
    Beis, S., Papadopoulos, S., Kompatsiaris, Y.: Benchmarking graph databases on the problem of community detection. In: Bassiliades, N., Ivanovic, M., Kon-Popovska, M., Manolopoulos, Y., Palpanas, T., Trajcevski, G., Vakali, A. (eds.) New Trends in Database and Information Systems II. AISC, vol. 312, pp. 3–14. Springer, Heidelberg (2015)Google Scholar
  10. 10.
    Jouili, S., Vansteenberghe, V.: An empirical comparison of graph databases. In: 2013 International Conference on Social Computing (SocialCom), pp. 708–715. IEEE (2013)Google Scholar
  11. 11.
    Fowler, M.: Patterns of enterprise application architecture. Addison-Wesley Longman Publishing Co., Inc., Reading (2002)Google Scholar
  12. 12.
    Davison, A.C., Hinkley, D.V.: Bootstrap Methods and Their Application, vol. 1. Cambridge University Press, Cambridge (1997)CrossRefMATHGoogle Scholar

Copyright information

© IFIP International Federation for Information Processing 2016

Authors and Affiliations

  • Felix Dietze
    • 1
  • Johannes Karoff
    • 2
  • André Calero Valdez
    • 1
  • Martina Ziefle
    • 1
  • Christoph Greven
    • 3
  • Ulrik Schroeder
    • 3
  1. 1.Human-Computer Interaction CenterRWTH Aachen UniversityAachenGermany
  2. 2.RWTH Aachen UniversityAachenGermany
  3. 3.Learning Technologies Research GroupRWTH Aachen UniversityAachenGermany

Personalised recommendations