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 the World Cup Graph and GraphQL API, an article explaining how to tune Cypher queries by understanding cardinality, querying Spatial data points, and the Intro to Graph Databases YouTube series is back!
Featured Community Member: Bea Hernández
Bea Hernández – This Week’s Featured Community Member
Bea is part of the Neo4j community is Madrid as well as being the organiser of R-Ladies Madrid and a member of the NASADatanauts.
Bea presented Neo4j gRaphs at a combined R-Ladies and Neo4j Madrid meetup in February in which she showed how to analyse and visualise Neo4j data in R.
This week DATMEAN were accepted into the Neo4j startup program so Bea will get to work on Neo4j even more.
All of us in the DevRel team are excited to hear about your experiences, perhaps at a future GraphConnect or Neo4j event.
On behalf of the Neo4j community, thanks for all your work Bea!
The World Cup Graph
We’re well into the 2nd round of matches at World Cup 2018 and Michael and I decided to revive the World Cup Graph that we first created 4 years ago. The dataset contains the matches, players, and tournaments for every World Cup from 1930 to the present day.
If you want to play around with the data we have a hosted version on a Neo4j Cloud instance at c27d992b.databases.neo4j.io. You can login with the username
worldcup and password
worldcup and then run
:play worldcup-2018-queries for a guide that will show you some queries you can run against the dataset.
World Cup GraphQL API
This only took us a few hours thanks to the excellent GRANDstack Starter Kit. All the scaffolding had been done for us – all we had to do was fill in details about our database and create a GraphQL schema.
The World Cup GraphQL API and UI starter can be the foundation for your contribution to the GRANDstack Hackathon which still runs till June 30 and has some cool prizes.
Another set of GraphQL APIs that you can use, is running on top of our graphql community graph. My colleague Michael added these developer community APIs.
Each of these APIs is available as a separate branch of the grand-stack-starter project.
Michael describes the approach on the GRANDstack blog.
So make sure to submit your entry to the GRANDstack Hackathon by the end of the month and get a cool Brik Laptop Cover.
Intro to Graph Databases Episode #5 – Cypher, the Graph Query Language
Based on popular demand, Ryan this week resumed the Intro to Graph Databases YouTube series with a video explaining the Cypher query language.
Ryan starts by explaining how the developer surface of Neo4j has evolved over the years, from the embedded Java API, via the REST API, up to the present day of Bolt drivers and stored procedures and functions executed via Cypher.
You can find the full series of videos as part of a YouTube playlist.
Querying Spatial data points, The Strava Graph, Cypher snippets
- Last week we featured a blog post where Rik showed how to import the Open Beer Database along with Spatial data points, and in this week’s blog post he shows how to write queries against this new data type.
- For those runners out there I’ve written a couple of posts showing how to import your data from the Strava API into Neo4j and then query it via the newly released Py2neo.
- Krishnaraj Rajagopal shared some useful Cypher snippets – get label count and get label-relationship count.
- Sander Robijns wrote a blog post in which he explains the role that graph data modeling plays in a data modeler’s toolbox.
- On StackOverflow Fillard Millmore explained how to update nodes in an existing database based on data in CSV file.
Tuning Cypher queries by understanding cardinality
This week from the Neo4j Knowledge Base we have an entry by Andrew Bowman that explains how to tune Cypher queries by understanding cardinality.
Andrew starts with a high level overview of how Cypher execution works, and then takes us through a worked example from the in built movies dataset, showing various tricks to improve the performance of the query.
If you’ve ever wondered why your queries aren’t doing what you expected them to this is a great post to read.
Projects to play with: Knowledge Graph, Mortality Explorer, RDF → Graph
On my GitHub travels I came across a few interesting projects that you can take a look at if you get some time over the weekend.
- neo4j-knowledge-graph – an example of a simple, queryable knowledge graph implemented using Neo4j that can be used with Microsoft’s LUIS NLU or google’s Dialogflow.com NLU.
- mortality – a bit of a morbid dataset containing causes of deaths in the USA.
- rdf2neo – a tool to convert and load RDF into Neo4j.
What’s happening next week in the world of graph databases?
June 27th 2018
Tweet of the Week
My favourite tweet this week was by Tunisian Gunner:
I can tell you that neo4j will change your life forever as you will really enjoy playing with your data in graph models. Well you can also get instatnt help on slack from fellow developers.!— Tunisian Gunner (@HamzaGunnner) June 20, 2018
Don’t forget to RT if you liked it too.
That’s all for this week. Have a great weekend!
About the Author
Mark Needham , Developer Relations Engineer
Mark Needham is a graph advocate and developer relations engineer at Neo4j.
As a developer relations engineer, Mark helps users embrace graph data and Neo4j, building sophisticated solutions to challenging data problems. Mark previously worked in engineering on the clustering team, helping to build the Causal Clustering feature released in Neo4j 3.1. Mark writes about his experiences of being a graphista on a popular blog at markhneedham.com. He tweets at @markhneedham.