Skip to content

First Release Neo4j Kafka Integration Plugin

Choose a tag to compare

@jexp jexp released this 27 Nov 13:22
· 271 commits to master since this release

In the past year we got a lot of questions for an integration of Neo4j with Apache Kafka and other streaming data solutions. So a few weeks ago, with the help of our Italian partners LARUS (esp @conker84) and our colleague @sarmbruster, we started to work on a first integration.

Today we want to make this available in a first release under an Apache License for you to try out and test. It works with Neo4j from 3.4.x and Kafka from 0.10.x.

It offers three capabilities:

  1. a procedure to quickly send data to kafka
  2. a neo4j producer as a change data capture (CDC) source to transmit change events to downstream systems
  3. a neo4j consumer to turn Kafka messages into graph structures using templated Cypher statements

Just graph the attached JAR, drop it into your $NEO4J_HOME/plugins directory and add a config like:

kafka.zookeeper.connect=localhost:2181
kafka.bootstrap.servers=localhost:9092
# and
streams.procedures.enabled=true
# or
streams.source.enabled=true
streams.source.topic.nodes.<topic-name>=PATTERN
# or
streams.sink.enabled=true
streams.sink.topic.cypher.<topic-name>=CYPHER-QUERY

You can find the details in the documentation: https://neo4j-contrib.github.io/neo4j-streams

We also published a more detailed Blog post on Medium about it.

We would love you to test it out and give us feedback, either here as GitHub issues or by answering our short survey.