This Week in Neo4j – Event-driven Graph Analytics using Neo4j and Apache Kafka, SRE Knowledge Graphs, Modeling Events in Neo4j


This week Lju Lazarevic and Andrea Santurbano show us how to do event driven graph analytics using Neo4j and Apache Kafka, and we have the Spring Release of the APOC library.

We also learn how to load data into a remote Neo4j instance, model Instancart data, and build an Incident Response Knowledge Graph.


Our featured community member this week is Vlad Batushkov.

Vlad Batushkov - This Week’s Featured Community Member

Vlad Batushkov – This Week’s Featured Community Member

Vlad is a Senior Software Engineer in Bangkok, Thailand. He’s a graph nerd, like all of us, however, he gave himself a pretty hefty goal for the month of May. In his ‘1-Month Graph Challenge’ , Vlad committed to writing 1 blog post per day for one full month (and that’s a 31-day month, not a 30-day month!).

If you’ve ever written a blog post, you know how much of a commitment it is. We’re so proud of you, Vlad! You did it!!!!!

Vlad has created a graphs of flights from the Cayman Islands, applied similarity algorithms to European flags, computed shortest paths in the Hero City, and much more!

Now that he’s completed his challenge, he’s challenging someone in our community to do an OMGChallenge for June…​ who knows…​maybe the next challenger is you…​?

Event-driven Graph Analytics using Neo4j and Apache Kafka


In this week’s Neo4j Online Meetup, Lju Lazarevic and Andrea Santurbano showed us how to do event driven graph analytics using Neo4j and Apache Kafka.



Andrea first gives an overview of Kafka and the Neo4j Streams library, before Lju shows how Kafka can be used to stream data between causal cluster instances.

Methods for Loading Data into a Remote Neo4j Instance — Part 1


Andrew Jefferson has started a series of posts describing solutions to deal with the situation where you want to import data into Neo4j, but can’t put the source data on the same filesystem as the Neo4j instance or make it available from a URL that the Neo4j instance can access.

In the first article Andrew shows how to make a local directory accessible over the internet using the ngrok.io tunneling service, before importing CSV data using the LOAD CSV command.

SRE: Knowledge Graphs: Increased Context in Human Involved Incident Response(IR)


dm03514 explains how to build an Incident Response Knowledge Graph that stores the structure of services and their dependencies. We then see some of the queries that users can write on such a graph, like:

    • understanding why an increase in latency has been detected on a service
    • finding the deploy status for all the components that a user depends on.

APOC Spring Release, Loading tweets into Kafka and Neo4j, Bible in a Graph


    • Michael released version 3.5.0.4 of the APOC library. This release contains new functions for working with dates, procedures for merging nodes and relationships, as well as the usual bug fixes.
    • I wrote a blog post showing how to load tweets into Kafka, and then use the Kafka Connect Sink to load them into Neo4j as well.
    • Kavitha Raju has written a post explaining her experience using Neo4j to build a graph of the Bible. Kavitha also shared a video of her presenting on this topic.

Modeling Events in Neo4j


Max De Marzi shows us how to create a graph model of The Instacart Online Grocery Shopping Dataset.

He then writes powerful queries to find frequently co-ordered items from the same aisle in the supermarket, both in the same order and across previous orders.

Tweet of the Week


My favourite tweet this week was by Eddy Wong:

Don’t forget to RT if you liked it too.

That’s all for this week. Have a great weekend!

Cheers, Mark