/neo4j-streams

Neo4j Kafka Integrations, Docs =>

Primary LanguageKotlinApache License 2.0Apache-2.0

Neo4j Streaming Data Integrations

neo4j loves confluent

This project integrates Neo4j with streaming data solutions.

Currently it provides an integration with Apache Kafka and the Confluent Platform.

The project contains these components:

Neo4j Kafka Connect Neo4j Connector

A Kafka Connect Sink plugin that allows to ingest events from Kafka to Neo4j via templated Cypher statements. (docs, article)

Kafka Connect Neo4j Sink

Neo4j Server Extension

  • Source: a Change-Data-Capture (CDC) implementation sends change data to Kafka topics (docs)

  • Sink: a Neo4j extension that ingest data from Kafka topics into Neo4j via templated Cypher statements (docs)

  • Neo4j Streams Procedures (Read & Write): Procedures to write to and read from topics interactively/programmatically (docs)

Documentation & Articles

Here are articles, introducing the Neo4j Extension and the Kafka Connect Neo4j Connector.

And practical applications of the extension for Building Data Pipelines with Kafka, Spark, Neo4j & Zeppelin (part 2).

And for exchanging results of Neo4j Graph Algorithms within a Neo4j Cluster.

Feedback & Suggestions

Please raise issues on GitHub, we also love contributions, so don’t be shy to send a Pull Request.

We would also love you to fill out our survey to learn more about your Kafka + Neo4j use-cases and deployments.

Installation Server Extension

You can run/test the extension locally with Docker, or install it manually into your existing Neo4j server.

  1. Download the jar-file from the latest release

  2. Copy neo4j-streams-<VERSION>.jar into $NEO4J_HOME/plugins

  3. Update $NEO4J_HOME/conf/neo4j.conf with the necessary configuration.

  4. Restart Neo4j

Development & Contributions

Build locally

mvn clean install

You’ll find the build artifact in <project_dir>/target/neo4j-streams-<VERSION>.jar

License

Neo4j Streams is licensed under the terms of the Apache License, version 2.0. See LICENSE for more details.