1. Updating graph databases with Cypher
- Author
-
Leonid Libkin, Hannes Voigt, Petra Selmer, Stefan Plantikow, Victor Marsault, Alastair Green, Martin Schuster, Tobias Lindaaker, Paolo Guagliardo, Neo4j, School of Informatics, University of Edinburgh, Laboratoire d'Informatique Gaspard-Monge (LIGM), Centre National de la Recherche Scientifique (CNRS)-Fédération de Recherche Bézout-ESIEE Paris-École des Ponts ParisTech (ENPC)-Université Paris-Est Marne-la-Vallée (UPEM), Abbot Informatics, and Université Paris-Est Marne-la-Vallée (UPEM)-École des Ponts ParisTech (ENPC)-ESIEE Paris-Fédération de Recherche Bézout-Centre National de la Recherche Scientifique (CNRS)
- Subjects
Atomicity ,SQL ,[INFO.INFO-DB]Computer Science [cs]/Databases [cs.DB] ,Information retrieval ,Graph database ,Syntax (programming languages) ,Computer science ,Relational database ,05 social sciences ,General Engineering ,010501 environmental sciences ,Relational operator ,computer.software_genre ,01 natural sciences ,[INFO.INFO-CL]Computer Science [cs]/Computation and Language [cs.CL] ,Set (abstract data type) ,0502 economics and business ,Graph (abstract data type) ,computer ,ComputingMilieux_MISCELLANEOUS ,050203 business & management ,0105 earth and related environmental sciences ,computer.programming_language - Abstract
The paper describes the present and the future of graph updates in Cypher, the language of the Neo4j property graph database and several other products. Update features include those with clear analogs in relational databases, as well as those that do not correspond to any relational operators. Moreover, unlike SQL, Cypher updates can be arbitrarily intertwined with querying clauses. After presenting the current state of update features, we point out their shortcomings, most notably violations of atomicity and non-deterministic behavior of updates. These have not been previously known in the Cypher community. We then describe the industry-academia collaboration on designing a revised set of Cypher update operations. Based on discovered shortcomings of update features, a number of possible solutions were devised. They were presented to key Cypher users, who were given the opportunity to comment on how update features are used in real life, and on their preferences for proposed fixes. As the result of the consultation, a new set of update operations for Cypher were designed. Those led to a streamlined syntax, and eliminated the unexpected and problematic behavior that original Cypher updates exhibited.
- Published
- 2019
- Full Text
- View/download PDF