openCypher 9 History

Prior to ISO/IEC 39075 GQL the evolution of the Cypher® language was driven by the openCypher Implementers Group.

However, many of these ideas that went in to openCypher 9 are predated by academic work, and we provide here a list of publications, grouped by topic and ordered by date (earliest first). We additionally list documents, talks and slides pertaining to these topics.

Please note that this list is not exhaustive.

Index to sections

Property graph data model and extensions

Publications

  1. Martínez-Bazan, N., Muntés-Mulero, V., Gómez-Villamor, S., Nin, J., Sánchez-Martínez, M-A., and Larriba-Pey, J-L. DEX: High-performance Exploration on Large Graphs for Information Retrieval. In Proc. 16th ACM Conference on Information and Knowledge Management (CIKM), pages 573–582, 2007.
  2. Rodriguez, M. A., and Neubauer, P. Constructions from Dots and Lines. Bulletin of the Association for Information Science and Technology, August 2010.
  3. Hartig, O. Reconciliation of RDF* and Property Graphs. CoRR, abs/1409.3288, 2014.
  4. Junghanns, M., Petermann, A., Gómez, K., and Rahm, E. GRADOOP: Scalable Graph Data Management and Analytics with Hadoop. CoRR abs/1506.00548, 2015.
  5. Angles, R., Arenas, M., Barceló, P., Hogan, A., Reutter, J., and Vrgoč, D. Foundations of Modern Query Languages for Graph Databases. ACM Computing Surveys, Volume 50 Issue 5, November 2017.
  6. Marton, J., Szárnyas, G. and Varró, D. Formalising openCypher Graph Queries in Relational Algebra. In Proc. 21st European Conference on Advances in Databases and Information Systems (ADBIS), 2017.
  7. Moffitt, V. Z., and Stoyanovich, J. Temporal Graph Algebra. In Proc. 16th International Symposium on Database Programming Languages (DBPL), 2017.

Links

  1. Textual description of the Property Graph Model: [link]
  2. Defining a Property Graph: [link]

GQL

2018 and 2019 Contributions from Neo4j SQL working group to INCITS DM32 Ad Hoc on Property Graph Extensions to SQL

Graph querying: regular path queries and graph pattern matching

Publications

  1. Cruz, I. F., Mendelzon A. O., and Wood, P. T. A graphical query language supporting recursion. In Proc. ACM SIGMOD, pages 323–330, 1987.
  2. Wood, P. T. Query Languages for Graph Databases. SIGMOD Record, pages 50-60, 2012.
  3. Barceló, P., Libkin, L., Lin, A. W., and Wood, P. T. Expressive Languages for Path Queries over Graph-Structured Data. ACM Transactions on Database Systems (TODS), pages 1-46, 2012.
  4. Barceló, P., Libkin, L., and Reutter, J. L. Querying Regular Graph Patterns. ACM Journal, pages 1-54, 2014.
  5. Angles, R., Arenas, M., Barceló, P., Hogan, A., Reutter, J., and Vrgoč, D. Foundations of Modern Query Languages for Graph Databases. ACM Computing Surveys, Volume 50 Issue 5, November 2017.
  6. Libkin, L., Martens, W., and Vrgoč, D. Querying Graphs with Data. ACM Journal, pages 1-53, 2016.
  7. van Rest, O., Hong, S., Kim, J., Meng, X., and Chafi, H. PGQL: A Property Graph Query Language. In Proc. 4th International Workshop on Graph Data-management Experiences & Systems (GRADES), 2016.

Cypher Improvement Proposals

  1. CIP2017-02-06 Path Patterns
  2. CIP2017-01-18 Configurable Pattern Matching Semantics

Talks

  1. Conjunctive regular path queries: [slides]
    First openCypher Implementers Meeting, 8 February 2017 (Tobias Lindaaker, Neo4j)
  2. Graph pattern matching semantics: [slides]
    First openCypher Implementers Meeting, 8 February 2017 (Oskar van Rest, Oracle)
  3. Expressivity of regular path pattern queries: [slides]
    March 2017 (Tobias Lindaaker, Neo4j)
  4. Path query patterns in Cypher (regular path queries): [slides]
    Second openCypher Implementers Meeting, 10 May 2017 (Tobias Lindaaker, Neo4j)
  5. Path pattern queries - regular path queries - in Cypher: [slides] [recording]
    Second openCypher Implementers Group Meeting, 6 July 2017 (Tobias Lindaaker, Neo4j)
  6. Configurable pattern matching semantics in Cypher: [slides] [recording]
    Third openCypher Implementers Group Meeting, 27 July 2017 (Stefan Plantikow, Neo4j)
  7. Path Query Patterns in Cypher: [slides]
    Ad Hoc on SQL Extensions Property Graphs, 10 October 2017 (Tobias Lindaaker, Neo4j)

Cypher

Publications

  1. Hölsch, J., and Grossniklaus, M. An Algebra and Equivalences to Transform Graph Patterns in Neo4j. In Proc. of the Workshops of the EDBT/ICDT Joint Conference, 2016.
  2. Yang, M. A Study of Execution Strategies for openCypher on Apache Flink. Master's thesis, Eindhoven University of Technology., 2016.
  3. Angles, R., Arenas, M., Barceló, P., Hogan, A., Reutter, J., and Vrgoč, D. Foundations of Modern Query Languages for Graph Databases. ACM Computing Surveys, Volume 50 Issue 5, November 2017.
  4. Marton, J., Szárnyas, G. and Varró, D. Formalising openCypher Graph Queries in Relational Algebra. In Proc. 21st European Conference on Advances in Databases and Information Systems (ADBIS), 2017.
  5. Junghanns, M., Kiessling, M., Averbuch, A., Petermann, A. and Rahm, E. Cypher-based Graph Pattern Matching in Gradoop. In Proc. 5th International Workshop on Graph Data-management Experiences & Systems (GRADES), 2017.
  6. Steer, B.A., Alnaimi, A., Lotz, M.A.B.F.G., Cuadrado, F., Vaquero, L.M., and Varvenne, J. Cytosm: Declarative Property Graph Queries Without Data Migration. In Proc. 5th International Workshop on Graph Data-management Experiences & Systems (GRADES), 2017.
  7. Kankanamge, C., Sahu, S., Mhedbhi, A., Chen, J., and Salihoglu, S. Graphflow: An Active Graph Database. In Proc. 2017 ACM SIGMOD International Conference on Management of Data, 2017.
  8. Weber, J. H. GRAPE – A Graph Rewriting and Persistence Engine. In Proc. 10th International Conference on Graph Transformation (ICGT), 2017.

Talks

  1. Formal semantics of SQL (and Cypher): [slides]
    First openCypher Implementers Meeting, 8 February 2017 (Paolo Guagliardo, University of Edinburgh)
  2. Incremental graph queries for Cypher: [slides]
    First openCypher Implementers Meeting, 8 February 2017 (Gábor Szárnyas, József Marton, Budapest University of Technology and Economics)
  3. Extended Property Graphs and Cypher on Gradoop: [slides]
    First openCypher Implementers Meeting, 8 February 2017 (Martin Junghanns, University of Leipzig)
  4. Formal specification of Cypher: [slides]
    Second openCypher Implementers Meeting, 10 May 2017 (Nadime Francis, University of Edinburgh)
  5. The ingraph project and incremental evaluation of Cypher queries: [slides]
    Second openCypher Implementers Meeting, 10 May 2017 (Gábor Szárnyas, József Marton, Budapest University of Technology and Economics)

Cypher and SQL

Talks and slides

  1. ISO/INCITS initiatives on property graph querying in SQL: [slides] [recording]
    Third openCypher Implementers Group Meeting, 27 July 2017 (Jan Michels, Oracle, Group Chair: Ad Hoc on SQL Extensions Property Graphs)
  2. SQL and Cypher (and PGQL): [slides] [recording]
    Third openCypher Implementers Group Meeting, 27 July 2017 (Alastair Green, Neo4j)
  3. An overview of a proposal for SQL/Graph Query Procedures: [slides] [recording]
    Fourth openCypher Implementers Group Meeting, 17 August 2017 (Peter Furniss, Neo4j)
  4. SQL Standards 2017: [slides]
    20 October 2017 (Keith W. Hare, SC32 WG3 Convenor, JCC Consulting, Inc.)

Multiple graphs, graph composition and operations

Publications

  1. He, H., and Singh, A. K. Graphs-at-a-time: Query Language and Access Methods for Graph Databases. In Proc. 2008 ACM SIGMOD International Conference on Management of Data, 2008.
  2. He, H., and Singh, A. K. Query Language and Access Methods for Graph Databases. Managing and Mining Graph Data, pages 125-160. Springer Publishing, 2010.
  3. Junghanns, M., Petermann, A., Gómez, K., and Rahm, E. GRADOOP: Scalable Graph Data Management and Analytics with Hadoop. CoRR abs/1506.00548, 2015.
  4. Junghanns, M., Petermann, A., Teichmann, N., Gómez, K., and Rahm, E. Analyzing extended property graphs with Apache Flink. In Proc. 1st ACM SIGMOD Workshop on Network Data Analytics (NDA), 2016.

Cypher Improvement Proposals

  1. CIP2016-06-22 Nested Subqueries
  2. CIP2017-03-29 Scalar Subqueries and List Subqueries
  3. CIP2017-04-20 Query Combinators
  4. CIP2017-06-18 Multiple Graphs

Talks

  1. The case for multiple graph querying: [slides]
    First openCypher Implementers Meeting, 8 February 2017 (Alastair Green, Neo4j)
  2. Virtual graphs and graph views in Cypher: [slides]
    First openCypher Implementers Meeting, 8 February 2017 (Hannes Voigt, Sascha Peukert, Technical University of Dresden; Michael Hunger, Neo4j)
  3. Evolving Cypher for processing multiple graphs: slides
    First openCypher Implementers Meeting, 8 February 2017 (Stefan Plantikow, Neo4j)
  4. Nested subqueries: [slides]
    Second openCypher Implementers Meeting, 10 May 2017 (Petra Selmer, Neo4j)
  5. Query combinators: [slides]
    Second openCypher Implementers Meeting, 10 May 2017 (Stefan Plantikow, Neo4j)
  6. Multiple graph processing: naming and addressing: [slides]
    Second openCypher Implementers Meeting, 10 May 2017 (Alastair Green, Neo4j)
  7. Syntax and semantics of Cypher for multiple graphs: [slides]
    Second openCypher Implementers Meeting, 10 May 2017 (Stefan Plantikow, Neo4j)
  8. Draft graph URI scheme: [document] [slides] [recording]
    Third openCypher Implementers Group Meeting, 27 July 2017 (Peter Furniss, Neo4j)
  9. Multiple graphs in depth: [slides] [recording]
    Fourth openCypher Implementers Group Meeting, 17 August 2017 (Stefan Plantikow, Neo4j)
  10. Nested, updating, and chained subqueries: [slides] [recording]
    Sixth openCypher Implementers Group Meeting, 19 October 2017 (Stefan Plantikow, Petra Selmer, Neo4j)
  11. Scalar subqueries and list subqueries: [slides] [recording]
    Sixth openCypher Implementers Group Meeting, 19 October 2017 (Tobias Lindaaker, Neo4j)

Position papers and surveys

  1. Angles, R., and Gutierrez C. Survey of graph database models. ACM Computing Survey, 40(1):1:1–1:39, 2008.
  2. Sahu, S., Mhedhbi, A., Salihoglu, S., Lin J., and Özsu, M. T. The Ubiquity of Large Graphs and Surprising Challenges of Graph Processing. In Proceedings of the VLDB Endowment, Vol. 11, No. 4, 2017.

General talks

  1. Introduction to Graph Data Management EDBT Summer School 2017, Genoa, Italy (Tobias Lindaaker, Neo4j)
  2. Compiling openCypher graph queries with Spark Catalyst Montréal Spark meetup, December 2017, Canada (Gábor Szárnyas, Budapest University of Technology and Economics)
  3. Cypher: an evolving query language for property graphs FOSDEM, February 2018, Brussels, Belgium (Stefan Plantikow, Neo4j)
  4. Cypher for Apache Spark FOSDEM, February 2018, Brussels, Belgium (Martin Junghanns, Max Kiessling, Neo4j)
  5. Graph-based analysis of JavaScript source code repositories FOSDEM, February 2018, Brussels, Belgium (Gábor Szárnyas, Budapest University of Technology and Economics)
  6. openCypher: New Directions in Property Graph Querying EDBT/ICDT 2018 Joint Conference, March 2018, Vienna, Austria (Petra Selmer & Martin Junghanns, Neo4j)
  7. Writing a Cypher Engine in Clojure Third Budapest Clojure Meetup, March 2018, Budapest, Hungary (Dávid Szakállas & Gábor Szárnyas, Budapest University of Technology and Economics)
  8. GQL Scope & Features Graph Day, Austin, Texas, USA(Petra Selmer, Neo4j)

openCypher 9 events

openCypher 9 articles

  • SQL ... and now GQL

    By Alastair Green (Lead, Query Languages Standards and Research Group at Neo4j)  |  12 September 2019

    The international committees that develop the SQL standard have voted to initiate GQL (Graph Query Language) as a new database query language.
  • Critical milestone for ISO graph query standard GQL

    By Alastair Green (Lead, Query Languages Standards and Research Group at Neo4j)  |  19 June 2019

    The GQL standard project is up for the final vote in the ISO/IEC ballot: plans to create a standard property graph query language GQL took a critical step forward, this past Friday June 14th.
  • Apache Spark developers vote for Cypher in Spark 3.0

    By Alastair Green (Lead, Query Languages Standards and Research Group at Neo4j)  |  14 February 2019

    As part of the preparations for a forthcoming Spark 3.0 release, the Apache Spark development community has just completed a positive vote for a Spark Project Improvement Proposal to add Property Graphs based on DataFrames to Spark. Based on the achievements of the ongoing Cypher for Apache Spark project, Spark 3.0 users will be able to use the well-established Cypher language for graph query processing, as well as having access to graph algorithms stemming from the GraphFrames project.
  • Cypher(TM) for Apache Spark(TM) with support for multiple graph processing

    By Stefan Plantikow  |  25 October 2017

    The first public alpha release of the source code for Cypher(TM) for Apache Spark(TM) (CAPS) is now available. We discuss key features, such as support for working with multiple graphs and data source integration.
  • Research references and presentations on graph querying

    By Petra Selmer  |  20 October 2017

    We provide an overview of our new References page: a collection of research papers and presentations on the concepts underpinning the current and future versions of Cypher.
  • An update on the SQL Standard

    By Alastair Green  |  20 October 2017

    This presentation discusses the history of the SQL Standard, and describes upcoming work, including property graph querying.
  • The Summer of Syntax: Aggregation and grouping

    By Petra Selmer  |  27 July 2017

    We describe issues with the current aggregation and grouping semantics in Cypher, and discuss approaches to address these.
  • The Summer of Syntax: MANDATORY MATCH

    By Petra Selmer  |  17 July 2017

    In this article, we describe the new MANDATORY MATCH clause.