This Week in Neo4j – Using Neo4j 4.2 With Cloudflare Workers, Single Sign-On for Neo4j, Building a Spotify Dashboard


Hi everyone,

If you celebrate Thanksgiving I hope you had a good (but presumably quieter!) one this year. We’re almost at the end of our latest national lockdown in the UK, so we’ll soon be allowed to meet some people again.

Anyway…​on with the content. Will Lyon gets us started this week with a video showing us how to use the new JSON Bolt serialisation format.

Rik Van Bruggen analyses his Spotify playlist, Hantsy shows us how to test Spring Data Neo4j components, and there’s a Neo4j 4.x ready version of the Perl driver.

And finally, Egemen Zeytinci applies RFM analysis to an e-commerce graph.

Cheers, Mark and the Developer Relations team


This week’s featured community member is Will Reynolds.

Will Reynolds - This Week’s Featured Community Member

Will Reynolds – This Week’s Featured Community Member

Will has been developing software for the construction industry for around 15 years. He started with tools and utilities for AutoCAD and Autodesk Revit.

He discovered graphs a couple of years ago and is now a firm graph data enthusiast set on revolutionising the buildings services industry with the power of graphs.

I first came across Will when he presented one of my favourite talks of the NODES 2019 conference – Graph data for the construction industry using the GRANDstack, C#, and Azure.

Using Neo4j 4.2 With Cloudflare Workers


Our video this week is from Will Lyon‘s live stream.



This week, Will gives us an introduction to the new Jolt (JSON Bolt) serialisation format that was introduced in Neo4j 4.2. Jolt can be used with the HTTP transactional Cypher endpoint.

After giving an overview of the syntax and explaining how to enable it, Will shows how we can use Jolt with Cloudflare Workers to create a Function as a Service that queries a Neo4j database and returns localised results of the US election. Will has also written a blog post on the same topic.

Exporting Spotify Playlists into Neo4j – and creating a little dashboard


In Rik Van Bruggen’s latest blog post, he explores his Spotify playlist in Neo4j, building on a blog post written by Niels De Jong a couple of months ago.

Rik also builds a dashboard on top of the Spotify graph, using NeoDash, a dashboard that Niels recently released. NeoDash is available as a web app or Graph App, and makes it easy to create bar charts, line charts, graph visualisations, and more!

Testing Spring Data Neo4j Components


Hantsy continues the series of blog posts showing how to use Neo4j with Spring Boot.

In the third post, Hantsy explains how to test our Spring Data Neo4j applications, using Testcontainers and the Neo4j test harness.

Modeling nodes and relationships dynamically, 4.0 Perl Driver, Emil of Graphistania


    • Ola shows how to use APOC procedures to create and merge nodes and relationships that have dynamic labels and relationship types.
    • Andreas Kollegger published Neo4j Relate, a tool that makes it easy to build your own applications that provision Neo4j databases.
    • Mark Jensen writes about the recent release of REST:Neo4jp, the Neo4j 4.0 version of the Perl driver.
    • Christophe Willemsen announced the launch of neo4j-sso, a third party security extension that lets Neo4j Enterprise users connect with their LDAP, Okta, Google or Azure Active Directory accounts in a seamless and secure way.
    • Version 3.2 of Graphlytic was launched. This version has query templates, auto-refresh of data in the visualization, and more.
    • Rk interviews Neo4j’s CEO, Emil Eifrem, in the latest version of the Graphistania podcast.

RFM Analysis using E-Commerce Data


Egemen Zeytinci has written a blog post in which he applies RFM analysis to an e-commerce graph. RFM analysis is an approach that groups customers into segments based on previous purchase behaviour.

After loading some sample data, Egemen shows how to use py2neo and some custom logic in Python to categorise the best customers, those with no recent purchases, and new customers. Once the segmentation is done, we’d then want to decide on a course of action for each segment.

Tweet of the Week


My favourite tweet this week was by Kristijan:

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