Cypher-based Graph Pattern Matching in Apache Flink

Graph pattern matching is one of the most interesting and challenging operations on graph data. However, it is primarily supported by graph database systems such as Neo4j but not generally available for distributed processing frameworks like Apache Flink or Apache Spark. In our talk, we want to give an overview of our current implementation of Cypher on Apache Flink. Cypher is the Neo4j graph query language and enables the intuitive definition of graph patterns including structural and semantic predicates. As the Neo4j graph data model is not supported out-of-the box by Apache Flink, we leverage Gradoop, a Flink-based graph analytics framework that already provides an abstraction of schema-free property graphs. We will give a brief overview about the technologies used to implement Cypher, explain our query engine and give a demonstration of the available language features. In addition, we will present benchmark results from running Cypher queries on billion edge graphs.

Speakers involved

Martin Junghanns

PhD student,
University of Leipzig