Updating Graph Databases with Cypher

Alastair Green, Paolo Guagliardo, Leonid Libkin, Tobias Lindaaker, Victor Marsault, Stefan Plantikow, Martin Schuster, Petra Selmer, Hannes Voigt

Research output: Contribution to journalArticlepeer-review

Abstract / Description of output

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 nondeterministic 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.
Original languageEnglish
Pages (from-to)2242-2253
Number of pages12
JournalProceedings of the VLDB Endowment (PVLDB)
Issue number12
Publication statusPublished - 1 Aug 2019


Dive into the research topics of 'Updating Graph Databases with Cypher'. Together they form a unique fingerprint.

Cite this