Fourth openCypher Implementers Meeting (oCIM 4) - 22 May 2018

This was the fourth face-to-face meeting for people, projects and organizations who are interested in

  • implementing part or whole of the Cypher graph query language, including current implementers
  • the design and development of a standard declarative query language for graph databases, and want to see how Cypher could evolve to reach that goal

oCIM is a conference organised by the openCypher project.

One property graph query language: The GQL Manifesto


The fourth oCIM was held at Republikken at Vesterbrogade 26, 1620 Copenhagen in Copenhagen, Denmark from 22 - 24 May 2018.

Agenda and slides (where available)

Tuesday PM

Begin: 13:00

GQL Manifesto

  • openCypher and The GQL Manifesto
    • Alastair Green, Stefan Plantikow (Neo4j)
  • SQL and Property Graphs
    • Peter Furniss, Tobias Lindaaker (Neo4j)
  • Graph Schema
  • HyperGraphQL [slides]
    • Charles Ivie (Semantic Integration)
    • HyperGraphQL is a GraphQL interface for querying and serving linked data [RDF/SPARQL] on the Web. It is designed to support federated querying and exposing data from multiple linked data services using GraphQL query language and schemas. The basic response format is JSON-LD, which extends the standard JSON with the JSON-LD context enabling semantic disambiguation of the contained data.
  • Demo of Cypher for Gremlin (CfoG) and Gremlin Cypher Differences [slides]
    • Dimitry Solovyov, Dmitry Novikov (Neueda)
  • Comparing Cypher, PGQL, and G-CORE [slides]
    • Stefan Plantikow (Neo4j)

End: 17:30

Social dinner on Tuesday evening

Wednesday AM

Begin 09:00

Multiple Graphs and Composable Queries

  • Multiple graphs and graph projection [slides]
    • Alastair Green, Petra Selmer (Neo4j)
  • Updatable views and syntax options [slides]
    • Stefan Plantikow (Neo4j)
  • Incremental View Maintenance for openCypher Queries [slides]
    • Gábor Szárnyas, József Marton (Budapest University of Technology and Economics)
    • Numerous graph use cases require continuous evaluation of queries over a constantly changing data set, e.g. fraud detection in financial systems, recommendations, and checking integrity constraints. For relational systems, incremental view maintenance has been researched for three decades, resulting in a wide body of literature. The property graph data model and the openCypher language, however, are recent developments, and therefore lack established techniques to perform efficient view maintenance. In this talk, we give an overview of the view maintenance problem for property graphs, discuss why it is particularly difficult and present an approach that tackles a meaningful subset of the language.

GQL Manifesto

  • An overview of the recent history of Property Graph Query Languages [slides]
    • Tobias Lindaaker (Neo4j)
  • Support for the GQL Manifesto from Cypher Implementers

Wednesday PM

  • Learning Timed Automata with Cypher [slides]
    • Márton Elekes, Anna Gujgiczer, Gábor Szárnyas (Budapest University of Technology and Economics)
    • In this talk, we present a peculiar use case for Cypher queries: comprehending and prototyping a learning algorithm for timed automata. Originally, we tried to implement the learning algorithm in Java, but soon got stuck: the code was difficult to maintain and we had to develop custom tools to visualise learning process. Out of curiosity, we tried to use a graph database to solve the problem. We stored the automata as a property graph in Neo4j and used Cypher queries to specify the learning algorithm. This choice of tools turned out to be a very good fit for the problem and visualising the automaton graph greatly helped us understanding the algorithm. In this talk, we present the problem and demonstrate how we implemented the learning process in Cypher, including some lessons learnt on the strengths and limitations of this approach.
  • Formal Semantics for Cypher Queries and Updates [slides]
    • Martin Schuster (University of Edinburgh)
    • To create a precise standard specification for OpenCypher, Neo4j and the University of Edinburgh are working on a formal denotational semantics for the Cypher language. This work has already been completed for the core of Cypher queries and is still ongoing for aggregation, ordering and update statements. In this talk, we give an overview of our work so far and present the main open questions and challenges.
  • Graph Algebra - Graph operations in the language of linear algebra

End: 17:00

Thursday AM

Begin: 09:00

  • Cypher.PL: Specifying Cypher in Prolog [slides]
    • Jan Posiadała, Paweł Susicki (Cypher.PL)
  • Temporal support in Cypher
    • Tobias Lindaaker (Neo4j)
  • Graph abstraction [slides]
    • Hannes Voigt (formerly at TU Dresden)

End: 12:30


Please email us at if you have any questions about the event.