(Cypher)-[:ON]-❯(ApacheFlink)❮-[:USING]-(Gradoop)
Channel: FOSDEM
Date: 06/03/2018

by Martin Junghanns and Max Kießling

At: FOSDEM 2017

### Abstract

Graph pattern matching is one of the most interesting and challengingoperations in graph analytics. However, it is primarily supported by graphdatabase systems such as Neo4j but, besides research prototypes, not generallyavailable for distributed (not-only graph) processing frameworks like ApacheFlink or Apache Spark.

In our talk, we want to give an overview of our current implementation ofCypher on Apache Flink. Cypher is the Neo4j graph query language and enablesthe intuitive definition of graph patterns including structural and semanticpredicates. As the Neo4j graph data model is not supported out-of-the box byApache Flink, we leverage Gradoop, a Flink-based graph analytics frameworkbased on Apache Flink that already provides an abstraction of schema-freeproperty 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 languagefeatures. Finally, we will discuss open challenges and missing featureshopefully motivating people to contribute.

The project is a cooperation between the University of Leipzig and NeoTechnology.

### Intended audience and goal of the talk

Developers and analysts, trying to express graph queries on distributed graphs

### Links to background information on the given talk for the hungry andimpatient

  * [OpenCypher](http://www.opencypher.org/)  * [Neo4j](https://neo4j.com/)  * [Apache Flink](http://flink.apache.org/)  * [Gradoop](http://www.gradoop.com/)

### Links to previous talks, code snippets or repositories

  * [GitHub](http://www.gradoop.com/)  * [Extended Property Graph Model](http://dbs.uni-leipzig.de/file/EPGM.pdf)  * [FlinkForward 2015](https://www.youtube.com/watch?v=WmP9xB_sG2o)  * [FOSDEM 2016](https://fosdem.org/2016/schedule/event/graph_processing_gradoop_flink_analytics)


Room: H.2214
Scheduled start: 2017-02-04 12:50:00