Streaming graph loading with APOC triggers


(M. David Allen) #1

I've been working on some elements of streaming data loading & analysis with neo4j. Recently I learned a lot about how to use APOC triggers and how they work, and I wrote it up to share how they function and some cool things you can do with them.

With triggers in particular, if anyone else is using them please follow up and let us know how, it'd be interesting to see the various uses they get put to.

(The Graph Giraffe) #2

Thanks for submitting!

I’ve added a tag that allows your blog to be displayed on the community home page!

(Michael McKenzie) #3

Thanks for posting this article @david.allen. I have been interesting in learning more how you can connect streaming data to Neo4j.

(M. David Allen) #4

So I've kind of got a technical sketch in my mind of how you can build a sliding window analysis app in Neo4j. I'm working on pieces of it as time allows with some of our partners. I didn't want to promise because I don't know how time will go, but I'm hoping this is the first of a series of posts that altogether would tell the story in pieces. You can probably see how this is a piece of how to get the data in from a source and format it correctly.

There's a lot happening on this front though. Relative to streaming, you may want to be aware of a couple of other things:

  • neo4j-serverless-functions, modules which implement google cloud functions to take JSON objects and put them into neo4j directly. Things like kafka topics and Google PubSub queues can be configured to call an HTTP endpoint, so getting data from any queuing system into here should be fairly straightforward but I haven't written it up. Once you get JSON -> Neo4j using this technique, the blog post above can be used to get it to whatever graph format you want.
  • Neo4j Kafka Integrations
  • Confluent Neo4j Kafka Connector

There are a number of customers who are already doing stuff like this, generally though their code is app-specific.