Model Verification in Graph Databases and its Application in Neo4j

  • Christoph Praschl ,
  • Andreas Pointner,
  • Oliver Krauss,
  • Emmanuel Helm,
  • Andreas Schuler
  • a,b,c,d,e  University of Applied Sciences Upper Austria, Hagenberg i. M., Austria
Cite as
Praschl C., Pointner A., Krauss O., Helm E.and Schuler A. (2022).,Model Verification in Graph Databases and its Application in Neo4j. Proceedings of the 34th European Modeling & Simulation Symposium (EMSS 2022). , 020 . DOI: https://doi.org/10.46354/i3m.2022.emss.020

Abstract

This work introduces a concept for rule based model verification using a graph database on the example of Neo4j and its query language Cypher. An approach is provided that allows to define verification rules using a graph query language to detect transformation errors within a given domain model. The approach is presented based on a running example, showing its capability of detecting randomly generated errors in a transformation process. Additionally, the method’s performance is evaluated using multiple subsets of the IMDb movie data with a maximum of 17,000,000 nodes and 41,000,000 relationships. This performance evaluation is carried out in comparison to the Object Constraint Language, showing advantages in the context of highly connected datasets with a high number of nodes. Another benefit is the utilization of a well established graph database as verification tool without any need for re-implementing graph and pattern matching logic.

References

  1. Atkinson,C.andKuhne,T.(2003).Model-drivendevel-opment:ametamodelingfoundation.IEEESoftware,20(5):36–41.
  2. Barroca,B.,Lúcio,L.,Amaral,V.,Félix,R.,andSousa,V(2011). Dsltrans:Aturingincompletetransformationlanguage.InMalloy,B.,Staab,S.,andvandenBrand,M.,editors,SoftwareLanguageEngineering,pages296 305,Berlin,Heidelberg.SpringerBerlinHeidelberg.
  3. Deqing, W., & Ziyuan, S. (2001). Aluminothermicreduction of silica for the synthesis of alumina-aluminum-silicon composite. Journal of MaterialsSynthesis and Processing, 9(5), 241-246.
  4. Burgueno,L.,Wimmer,M.,TroyaCastilla,J.,andVal-lecillo Moreno, A (2013).Tractstool:Testingmodeltransformationsbasedoncontracts.InMODELS-JP2013: InvitedTalks,DemonstrationSession,PosterSession,andACMStudentResearchCompetitionco-locatedwiththe16thInt.Conf.onModelDrivenEngineeringLanguagesand  Systems,p76-80.CEUR-WS.
  5. Cariou,E.,Belloir,N.,Barbier,F.,andDjemam,N.(2010).Oclcontractsfortheverificationofmodeltransforma-tions.ElectronicCommunicationsoftheEASST,24.
  6. DeMichiel,L.andJungmann,L.(2017).Sr338: Java™persistenceapi,version2.2.https://jcp.org/en/jsr/detail?id=338;accessed10.May2022.
  7. DeMillo,R.A.,Lipton,R.J.,andSayward,F.G.(1978).Hintsontestdataselection:Helpforthepracticingprogram-mer.Computer,11(4):34–41.
  8. Gogolla,M.andVallecillo,A.(2011).Tractablemodeltrans-formationtesting.
  9. Guerra,E.,deLara,J.,Wimmer,M.,Kappel,G.,Kusel,A.,Retschitzegger,W.,Schönböck,J.,andSchwinger,W.(2012).Automated verification of model transfortions based on visual contracts. Automated Software Engineering,20(1) :5–46.
  10. Guerra, E., Sánchez Cuadrado, J., and de Lara, J. (2019). Towards effective mutation testing for atl. In 2019 ACM/IEEE 22nd International Conference on Model Driven Engineering Languages and Systems (MODELS), pages
    78–88  IMDb.com, Inc (2022). Imdb datasets. https://www.imdb.
    com/interfaces/. (Accessed on 12/07/2022).
  11. Ireland, C., Bowers, D., Newton, M., and Waugh, K. (2009). A classification of object-relational impedance mismatch. In 2009 First International Confernce on Advances in Databases, Knowledge, and Data Applications, pages 6–43. IEEE.
  12. Ko, J.-W., Chung, K.-Y., and Han, J.-S. (2013). Model transformation verification using similarity and graph comparison algorithm. Multimedia Tools and Applications, 74(20):8907–8920.
  13. Lano, K., Kolahdouz-Rahimi, S., and Clark, T. (2012a). Comparing verification techniques for model transformations. In Proceedings oftheWorkshop onModel-Driven Engineering, Verification and Validation, page 23–28. Association for Computing Machinery
  14. Lano, K., Kolahdouz-Rahimi, S., and Clark, T. (2012b). Verification of model transformations. Dept. of Informatics,
    King’s College London.
  15. Mottu, J.-M., Baudry, B., and Le Traon, Y. (2006). Mutation analysis testing for model transformations. In European Conference on Model Driven Architecture (ECMDA06), pages 376–390.
  16. Neo4j, Inc. (2021). Neo4j apoc library - developer guides.  https://neo4j.com/developer/neo4j-apoc/. (Accessed
    on 07/12/2022).
  17. OMG (2006). Object constraint language (ocl) specification, version 2.0. https://www.omg.org/spec/OCL/2.0/;
    accessed 10. May 2022.
  18. OMG (2007). Meta object facility (mof) 2.0 query / view / transformation specification. https://www.omg.org/
    cgi-bin/doc?ptc/2007-07-07; accessed 10. May 2022.
  19. OMG (2016). Mof meta object facility. https://www.omg. org/spec/MOF/; accessed 10. May 2022.
  20. Pointner, A. and Praschl, C. (2020). Fhooeaist/neo4j-imdb:
    v1.0. https://zenodo.org/record/4030726.
  21. Praschl, C. and Pointner, A. (2021). Fhooeaist/imdb-oclverification: v1.0.0. https://zenodo.org/record/5705169.
  22. Selim, G., Lúcio, L., Cordy, J. R., and Dingel, J. (2013). Symbolic model transformation property prover for dsltrans.
    Technical report, Technical Report 2013-616, Queen’s
    University
  23. Sunitha, E. and Samuel, P. (2019). Automatic code generation from uml state chart diagrams. IEEE Access, 7.