Project Overview

The Kafka Connect Neo4j Connector is the recommended method to integrate Kafka with Neo4j, as Neo4j Streams is no longer under active development and will not be supported after version 4.4 of Neo4j.

The most recent version of the Kafka Connect Neo4j Connector can be found here.

Many user and customers want to integrate Kafka and other streaming solutions with Neo4j. Either to ingest data into the graph from other sources. Or to send update events (change data capture - CDC) to the event log for later consumption.

This extension was developed to satisfy all these use-cases and more to come.

Neo4j Streams runs as a Neo4j plugin:

  • Neo4j Streams Source: a transaction event handler events that sends data to a Kafka topic

  • Neo4j Streams Sink: a Neo4j application that ingest data from Kafka topics into Neo4j via templated Cypher Statements

  • Neo4j Streams Procedures: two procedures streams.publish, which allows custom message streaming from Neo4j to the configured environment, and streams.consume which allows to consume messages from a given topic.

Neo4j Streams Plugin

As a Neo4j plugin, neo4j-streams runs inside of the database, and can both consume and produce messages to Kafka.

Compatibility between Neo4j and Neo4j Streams

Following is a compatibility table between Neo4j and Neo4j Streams database plugin.

Neo4j Neo4j Streams

5.x

Not supported, use Kafka Connect Neo4j Connector instead.

4.4.x

4.1.x (Deprecated, no new feature development)