· neo4j

Neo4j Meetup Coding Dojo Style

A few weeks ago we ran a http://www.meetup.com/graphdb-london/events/179211972/ meetup in the Neo4j London office during which we worked with the meta data around 1 million images recently released into the public domain by the British Library.

Feedback from previous meetups had indicated that attendees wanted to practice modelling a domain from scratch and understand the options for importing said model into the database. This data set seemed perfect for this purpose.

We started off by scanning the data set and coming up with some potential questions we could ask of it and then the group split in two and came up with a graph model:

Neo4j dojo

Having spent 15 minutes working on that, one person from each group explained the process they’d gone through to all attendees.

Each group took a similar approach whereby they scanned a subset of the data, sketched out all the properties and then discussed whether or not something should be a node, relationship or property in a graph model.

We then spent a bit of time tweaking the model so we had one everyone was happy with.

We split into three groups to work on input. One group imported some of the data by generating cypher statements from Java, one imported data using py2neo and the last group imported data using the batch inserter.

You can have a look at the github repository to see what we got up and specifically the https://github.com/mneedham/neo4j-bl/tree/solution branch to see the batch inserter code and the https://github.com/mneedham/neo4j-bl/tree/cypher-import branch for the cypher based approach.

The approach we used throughout the session is quite similar to a Kake coding dojo - something I first tried out when I was a trainer at ThoughtWorks University.

Although there were a few setup based things that could have been a bit slicker I think this format worked reasonably well and we’ll use something similar at the next version in a couple of weeks time.

Feel free to come along if it sounds interesting!

  • LinkedIn
  • Tumblr
  • Reddit
  • Google+
  • Pinterest
  • Pocket