This Week in Neo4j – Build a just-in-time data warehouse with Neo4j Streams, Releases of Graph Algorithms and Neo4j Desktop, Stored Procedure Masterclass


Welcome to the I can’t believe it’s already February edition of This Week in Neo4j.

This week we have five (FIVE!) releases of different projects in the ecosystem, including the Neo4j Desktop, Graph Algorithms Library, and a brand new Python library that’s great for ETL jobs.

Elsewhere there’s a a master class in writing a stored procedure with Max De Marzi, Jennifer Reif and Mark Heckler show us how to build an application of the Marvel Universe using Neo4j and Spring Boot, and Andrea Santurbano shows us how to build a just-in-time data warehouse with Neo4j Streams.


This week’s featured community members are Kunal Yadav, Paramveer Singh, and Raghu Madhava.

Kunal Yadav, Paramveer Singh, Raghu Madhava - This Week’s Featured Community Member

Kunal Yadav, Paramveer Singh, Raghu Madhava – This Week’s Featured Community Member

Kunal, Paramveer, Raghu are all on the engineering team at CAST Software in Bengaluru, India. With a desire to advocate graph-thinking in their community, the three of them took it upon themselves to start a local meetup group and just announced their first event for February 23!

We commend you for taking the initiative to spread graph thinking in your community! And if you live nearby, don’t forget to register for the meetup.

Getting Graphic: Extract maximum value from your data using Neo4j and Spring Data


In this week’s Neo4j Online meetup, Jennifer Reif and Mark Heckler showed us how to build a graph backed application using Spring Data Neo4j, Spring Boot, and data sourced from the Marvel API.



Highlights from the talk include the difficulties (and innovative solutions) getting the data out of Marvel’s API, getting the skeleton of the application built quickly with Spring Boot, and the challenges faced while modelling the Marvel Universe.

Neo4j Desktop Release: Command Bar, Deep Linking, Improved Security


Oskar Hane released version 1.1.14 of the Neo4j Desktop, a release which had a focus on tightening up security for our users and evolving integration support for third party app vendors.

Apart from that we also added a command bar as a neat feature that should make you more productive and happy, as well as deep-linking which improves integration inside and outside of Neo4j Desktop.

Don’t forget to update your desktop to get these new features!

How to leverage Neo4j Streams and build a just-in-time data warehouse


Andrea Santurbano has written a blog post showing how to to create a Just-In-Time Data Warehouse using the newly released Neo4j Streams module with Apache Spark’s Structured Streaming Apis and Apache Kafka.

Andrea takes us through a worked example, glueing everything together using Apache Zeppelin, a notebook runner that has native support for Neo4j.

Graph Algorithms Release: Pearson Similarity, ArticleRank, Louvain Performance Improvements


This week we also released a new version of the Graph Algorithms library for Neo4j 3.4 and 3.5.

This release introduces the ArticleRank and Pearson Similarity algorithms, Cypher projection support for similarity algorithms, and performance optimizations for the Louvain algorithm.

Timothy Holdsworth worked on the ArticleRank algorithm, so thanks to Timothy for this useful addition to the library!

Even moar releases: Neo4j Versioner Core, Neo4j Connector, Py2neo


You thought we’d finished with the releases for this week?! Think again, we’ve got 3 more:

    • Py2neo is a client library and toolkit for working with Neo4j from within Python applications and from the command line. Version 4.2 includes some upgraded dependencies, including a switch to now depend on the 1.7 connector, rather than the 1.6 driver as previously. There are also a load of bug fixes and proper support for temporal types.
    • Neo4j Versioner Core is a collection of procedures, aimed to help developers to manage the Entity-State model, by creating, updating and querying the graph. Version 2 sees support for Neo4j 3.5. and new procedures that let you version your relationships.
    • Neo4j Connector is a Python library that contains everything you need to execute single-request transactions for Neo4j 3.0 and above through its HTTP API. It is well suited for ETL jobs where we want to execute many statements in a single request.

Learn you a Neo4j stored procedure


Max De Marzi has written a blog post containing slide decks, source code, and performance test source code, to get you up and running with writing Neo4j stored procedures.

There’s more than 300 slides…​so more than enough to keep you busy this weekend! And if you get stuck Max is happy to help on the Neo4j community site.

Tweet of the Week


My favourite tweet this week was by Sergio Ramazzina:

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

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

Cheers, Mark