GraphConnect Europe 2017 Schedule Graph
Yey! It’s that time of the year again! We are full-steam getting ready for the Bi-Yearly Festival of Graphs also known as GraphConnect. There’s another great conference lined up for us. The entire Neo4j crew will be there in full force - and of course we had to create another Schedule graph - just for fun.
A Google Sheet as the main repository
I had to of course start from the schedule on the GraphConnect website, and convert that into a google sheet with all the data. Once I had that, I could add the data pretty easily with this model:
Very simple - but it’s so much nicer when you can make it interactive and load it into Neo4j. Let’s do that. Let’s load that data into this graphgist.
Let’s take a look at what we have now:
Ok - so that looks like a big fat hairball. Not very useful. So let’s try to zoom in a bit, and run a simple query over our graph: let’s find a couple of sessions in Day 1:
match (t:Time)<--(s:Session)--(connections)
return t,s,connections
limit 50
and here’s a sample of the graph:
Let’s do another query:
match path = allshortestpaths( (p1:Person)-[*]-(p2:Person) )
where p1.name contains "Morgner"
and p2.name contains "Webber"
return path
and display the result
Let’s now look at a link between a person (Jim Webber, of Neo fame) and an Organisation (The Guardian.
match (c:Company {name:"The Guardian"}), (p:Person {name:"Jim Webber"}),
path = allshortestpaths( (c)-[*]-(p) )
return path
and again diplay the result:
Last one for fun: let’s look at the sessions that have more than one speaker:
match (s:Session)-[r:SPEAKS_IN]-(p:Person)
with s, collect(p) as person, count(p) as count
where count > 1
return s,person
and display it:
Just a start…
There are so many other things that we could look at. Use the console below to explore if you are interested in more.
I hope this gist was interesting for you, and that we will see each other soon.
This gist was created by Rik Van Bruggen
Is this page helpful?