This Week in Neo4j – Learning taxonomies from user tagged data, Hierarchical community detection using Louvain, Case Law Network Graph


Welcome to this week in Neo4j where we round up what’s been happening in the world of graph databases in the last 7 days.

This week we have Hierarchical community detection using Louvain and a Case Law Network Graph. We also learn how to creating a schema.org linked data endpoint on Neo4j, do Authorization in the GRANDstack, learn taxonomies from user tagged data, and more!


This weeks featured community member is Will Lyon, a fellow Developer Relations Engineer at Neo4j.

Will Lyon - This Week’s Featured Community Member

Will Lyon – This Week’s Featured Community Member

I first came across Will when he built a prototype for interacting with Neo4j Spatial directly from Cypher as part of Google’s Summer of Code 2014.

Will joined Neo4j as part of the Developer Relations team since 2015, and has been a regular speaker at conferences and meetups, covering topics like Polyglot Persistence, Building Recommendation Engines, and of course the GRANDstack.

Will is the mastermind behind the GRANDstack, a set of modern tools for building full stack apps and has also been influential in driving the use of graphs for Data Journalism.

On that note, Will will be speaking on Monday 22nd October 2018 in New York City alongside the International Consortium of Investigative Journalists (ICIJ) New York University and Columbia University – Graduate School of Journalism at the Fast Company Innovation Festival. Don’t forget to say hi if you’re going!

On behalf of the Neo4j community, thanks for all your work Will!

Creating a schema.org linked data endpoint on Neo4j


Last week Jesús Barrasa released a new version of the neosemantics library that can be used to import RDF into Neo4j. This release includes model mapping and microinferencing capabilities.

Jesús has also written a blog post showing how to use the mapping feature to create a linked data endpoint on top of a Neo4j database containing data from IMDB. The schema for the endpoint comes from the widely used public schema repository schema.org.

Case Law Network Graph


Daniel Hoadley has been using Neo4j to depict the connections between English law cases, and has written a blog post explaining how he did it.

Daniel shows how to import the data from CSV files to Neo4j, run centrality and community detection algorithms, and visualize everything using neovis.js.

Neo4j-OGM SPI, Struct 3.0, Running Decision Trees in Neo4j


    • Gerrit Meier has written a deep dive on the new Service Provider Interface (SPI) introduced in Neo4j-OGM 3.1.4. It lets users manipulate the Cypher statements generated by using the object graph mapper or manually defined within your application.
    • The video from Max De Marzi‘s Running Decision Trees in Neo4j talk at GraphConnect NYC 2018 is now available on YouTube.
    • Muhammad N. Fawi has been using R to copy data from PostgreSQL to Neo4j and has recorded the approach taken in the neo4j-and-postgresql-with-R GitHub repository.
    • Structr 3.0, the graph application platform based on Neo4j, was released last week. You can watch a tutorial video to learn about some of the new features.

Authorization In GraphQL Using Custom Schema Directives


“How do I handle authorization with GraphQL?” is a question that I’ve heard after almost every talk that I’ve given about the GRANDstack.

Will Lyon has now answered everyone’s prayers with his latest blog post in which he shows how to implement authorization in a simple fullstack GraphQL demo application by building custom schema directives using the graphql-tools library.

Discovering hierarchical community structure in GoT world using Louvain


The Louvain algorithm is a modularity based community detection method that returns intermediate communities that nodes belong to as well as their final community. It is therefore very useful for finding small communities that may be missed by other algorithms.

Tomaz Bratanic shows how to use it to find communities at different levels of granularity in a Game of Thrones dataset, and then visualizes those communities using Gephi.

The Airport Graph


Michael Hunger has written a blog post showing how to turn a big JSON file of airports into a useful graph.

Michael uses a variety of different procedures from the APOC library to load the data and clean it, and then uses Neo4j Bloom to visualize the whole network and run some routing queries.

Learning taxonomies, Lighting Network Explorer, Build your own Knowledge Graph


    • I’ve written a blog post showing how to learn a Taxonomy of Yelp Categories using the Overlap Similarity algorithm that we recently added to the Neo4j Graph Algorithms library. I stole the idea for this approach from my colleague Jesús Barrasa and it seems to work well on any user tagged data.
    • I came across lngraph – a personal and private Lightning Network explorer based on Neo4j.
    • Katie Koschland has written an experience report of some load testing done to find the technical limits of their Neo4j based application. Katie explains the approach they took, as well as some of the changes made to their database to improve query performance.
    • Ignaz Wanders has written a blog post explaining how to go from unstructured textual data, apply topic-modelling and NLP techniques, together with machine-learning algorithms and store the resulting output in a Neo4j backed knowledge graph.

Tweet of the Week


My favourite tweet this week was by Stefan Schubert:

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

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

Cheers, Mark