Gradoop-CAPF: Cypher for Apache Flink

This GRADOOP operator is based on a work in progress master thesis (GitHub). CAPF is based on Neo4j's Morpheus project and supports the opencypher grammar. CAPF will be released alongside every Gradoop stable release.

Usage

Use CAPF with Gradoop

LogicalGraph graph = source.getLogicalGraph(...)

String cypherString = "MATCH ()-->() RETURN *";

//Create CAPFQuery Object and execute cypher query
CAPFResult result = new CAPFQuery(cypherString, getExecutionEnvirontment())
.execute(graph);

GraphCollection collection = result.getGraphs();

Use CAPF dependencies

  • Add the following dependency to your gradoop project.
<dependency>
    <groupId>org.gradoop</groupId>
    <artifactId>gradoop-capf</artifactId>
    <version>0.5.1</version>
</dependency>
  • Executed on a cluster the following lib's has to be included (maven-shade-plugin)
<include>org.gradoop:gradoop-capf</include>
<include>org.opencypher:*</include>
<include>org.apache.flink:flink-table_2.12</include>
<include>org.parboiled:parboiled-scala_2.12</include>
<include>com.lihaoyi:ujson_2.12</include>
<include>com.lihaoyi:upack_2.12</include>
<include>com.lihaoyi:upickle_2.12</include>
<include>com.lihaoyi:upickle-core_2.12</include>
<include>com.lihaoyi:upickle-implicits_2.12</include>
<include>org.typelevel:cats-kernel_2.12</include>
<include>org.typelevel:cats-core_2.12</include>
<include>org.atnos:eff_2.12</include>
<include>org.parboiled:*</include>

Build requirements

  • gradoop-capf requries Java 8
  • CAPF requires scala 2.12