Hello my fellow graph fans,
We’re almost at winter solstice and all the other celebrations commencing these weeks. To give you some material to have fun with during that time, this weeks issue is pretty packed.
In this week’s video from the NODES 2019 conference, Gerrit Meyer introduces the all new Spring Data Neo4j RX which uses the reactive driver architecture of Neo4j 4.0.
Jennifer published a guide on Bloom, we see breast cancer data visualized, the GraphXR folks have more training material. I really enjoyed Joe Depeaus article on matching music interests with our CEO.
Rik was very active and has published a new podcast, part 4 of the Carrefour analysis and an email analysis series.
Lots of fun stuff to read through,
Enjoy the time off if you have it!
Michael Hunger, and the Developer Relations team
Featured Community Member: Robin Moffatt
This week’s featured Neo4j Community member is Robin Moffatt the awesome developer advocate from Confluent, original creators of Apache Kafka. Robin’s talks are always a treat, if you get the opportunity to see him live make sure to do so. On his blog he not only covers Kafka related topics but also life lessons for developers (advocates).
I met him the first time in 2018 in Cracow, PL at the CoreDump conference, co-organized by my colleague Jarek Palka. Robins and my paths have crossed several times since, even presenting together in the Kafka+Neo4j meetup in Berlin.
Robin Moffatt – This Week’s Featured Community Member
As part of his quest to bring the power of data streams to the world he has frequently used Neo4j and our Kafka-Integration as an example. Robin has covered graph topics from fraud detection, railroad lines and most recently syslog attack vectors.
Thanks a lot for your relentless work Robin, hope you have some relaxing time at home now.
NODES 2019: All-new SDN-RX: Reactive Spring Data Neo4j
In this week’s video from the NODES 2019, Gerrit Meier introduces the all-new reactive variant of Spring Data Neo4j.
Starting with version 4.0 Neo4j will support the reactive programming model. To provide this feature for the Spring (Data) community, we decided to re-create Spring Data Neo4j from scratch purely based on the newest Java Driver and the Spring framework. With this foundation you can expect an even better support for mapping of your business domain in the Spring ecosystem.
Graph Algorithms Release: K1 Coloring, Modularity Optimisation, Node Similarity
Alicia Frame released version 18.104.22.168 of the Neo4j Graph Algorithms Library for the Graph Data Science team.
This release contains quite some goodies. K1-Coloring is a color mechanism that’s also used in geographic maps. The goal is to assign as few node colors so that each neighbour has a different color.
The node similarity algorithm is an optimized version of Jaccard, which works on neighborhood structures, i.e. how similar is a node to it’s 2nd degree neighbours based on shared intermediate nodes.
There are optimizations for Louvain modularity, especially around parallelization.
The graph loader now supports multiple nodes and some preview functionality for the upcoming Graph Data Science 1.0 which the team is currently working on.
Bloom Guide, Graphistana, Flight Search, GraphXR
- David Jegan created a short video showing how to build a GRANDstack application.
- Jennifer Reif published a new developer guide in which she shows how to use Neo4j Bloom, the graph visualisation tool and on top of that also one that shows you how to connect Bloom to Neo4j Aura
- Rik continues his series of blog posts based on data from a coding challenge for Carrefour a big French Retailer
- Paul Drangeid shares tips for configuring a Neo4j instance running on Windows for data import.
- Rik has investigated the Hillary Clinton email dump using the GraphAware NLP package in a 3-part blog series.
- An interesting demonstration of visualizing breast cancer data with GraphXR was published by Andrew Kamal. This was his contribution to the NODES 2019 GraphHack.
- Our prolific featured community member from June, Vlad Batushkov is back. He started a blog post series on creating a Flight Search GRANDstack app, and starts off with Dockerizing the Flight Search Application.
- The 2nd epsiode of the Graphistania Podcast 2.0 also aired this week. Rik and Stefan covered their highlights from the November’s “this week in neo4j” issues.
- I put the slides from the 3 YOW! conferences in Sydney, Brisbane and Melbourne “How Graphs Help Investigative Journalists to Connect the Dots” online.
- David Allen shares some tips on using epoch time for comparisons in Neo4j.
- The good folks from GraphXR created new tutorials and documentation to answer all of your GraphXR questions – learning resources, a youtube playlist and a user guide
- Michael Simons summarized the configuration options to connect graph applications that directly or indirectly use the Java driver to Neo4j Aura. That includes Spring Data Neo4j, SDN-RX and Quarkus.
- The jQAssistant plugin for SonarQube is now available in their marketplace, this puts graph based software analytics in the hands of SonarQube users
Make small talk with your boss – graph based music recommendations
An article I enjoyed a lot this week is from Joe Depeau the owner of Armstrong from our London office.
In his very entertaining style he describes his attempt of figuring out which music interests he would share with his boss Emil Eifrem and how they would overlap. To determine that, he imported parts of the large crowdsourced MusicBrainz database into Neo4j. Then he used his own and Emils interests – acquired through some detective social media investigation – to see where there are interesting connections.
Keeping track of graph changes using temporal versioning
My colleauge Lju Lazarevic gave a talk at NODES 2019 about the different means to represent time and versions in Neo4j.
In this article you find the essence of the talk explained in detail. She goes over reasons for versioning and use-cases for instance tracking changes in IAM, Infrastructure or Social networks. There are different ways to achieve this, from manual modeling of state and version nodes to using community projects like Versioner-core. In a number of examples she highlights the implications of the approaches and possible things to watch out for.
Tweet of the Week
My favourite tweet this week was also by Robin Moffatt posting about his love for Cypher 🙂
As a SQL user of 25+ years, I was a bit dubious about @neo4j’s Cypher, but I am becoming increasingly sold on its powerful ability to express certain kinds of relationships in data pic.twitter.com/YRE7Euh2ZG— Robin Moffatt 🍻🏃🥓 (@rmoff) December 18, 2019
I wish you all a enjoyable time in the next 2 weeks, hopefully with your families and loved ones.
Happy Winter Solstice, Christmas, Hanukkah, or whichever celebration you enjoy at the change of the year.
In the next year you will see even more developer goodness from Neo4j, I’m super excited about the prospect.
Next week we will skip this newsletter, we’re back in the new year.