Here’s what we talked about:
Q: Talk to me about you guys use Neo4j at the Financial Times.
Dan Murphy: At the Financial Times, we’re interested in being able out to take the content that we provide to readers, and being able to link that with other information we’ve got, so that we can give our readers a richer experience. So that when they’re reading an article, we can show them other articles they might be interested in based on different topics, and also what kind of reading habits they have as well.
We’ve now taken all that information and run some work to put that into Neo4j. It has been quite an amazing experience, I think it’s fair to say.
Q: And then why did you guys choose Neo4j?
Dan: So, we had previously been using an RDF triple store for it, and we decided we wanted to try and experiment a bit. Because although a triple store is an obvious thing to use if you’re trying to link data together, we weren’t really leveraging any of the kind of inferencing and things like that with the triple stores.
So we decided to lock ourselves away for a week and to experiment with various things, and one of the things we tried was Neo4j. We tried Neo4j both with Java and with Go drivers to access it. We ran a comparison to see whether it was going to fix our problems, whether it would fit our requirements, and whether we enjoyed using it, really.
Q: And what have been some of the most surprising or interesting results that you’ve seen since getting started with Neo4j?
Dan: I think the thing that’s probably astounded the team most of all, is how quickly we managed to rewrite about 12 months worth of work in probably about 3 months. That was a huge productivity gain. It was a fantastic time and probably a combination of both Go and Neo4j because we found that was a real sweet spot for us.
The other thing we’ve really enjoyed is the ability that you have to talk about models amongst developers. In the world of semantics, it’s kind of a specialized art, whereas everyone can join in with doing stuff for Neo4j or collaborate around whiteboards, and that was great. That was great fun.
Q: If you could take everything you know about Neo4j now and go all the way back to the beginning, what would you do differently?
Dan: I’m struggling to find something we do differently, because I think what we learned in that week period was we could probably do things just fine.
I think the one thing that we would do possibly a bit differently is we wouldn’t be so scared about creating lots of nodes. One of the things we learned about – whilst we were developing after that one-week period – was actually changing the model iteratively to fit the queries we’re trying to do.
To fit in more data is one of the strengths in Neo4j, and that was a really powerful thing. Whereas, I think we often tried to come up with perfect data models to begin with, and you don’t need to worry about that. So that ease of data modeling was a great thing.
Q: Any other thoughts or anything else you want to add?
Dan: I think the one thing I would like to add is that the new Neo4j drivers are great, and I’d really love to see what can be done with Bolt and those drivers. Because from what I see in the Java, Python and the other languages that Bolt driver looks like it’s going to be really good. it’ll be interesting to see how that might work with Go a bit better.
I think as a team, we’ve had a great experience because what we did was, we took control of the technology that we were building. We demonstrated we could use this technology, and then we had support from management. We became the people who changed what we were doing and took responsibility for it, and I think that was a real good experience for the team to do that rather than being passive and responding to other people’s requirements.
Want to share about your Neo4j project in a future 5-Minute Interview? Drop us a line at email@example.com
Learn why your next recommendation engine needs to be powered by Neo4j with this white paper, Powering Recommendations with a Graph Database. Click below to download your copy and start offering relevant recommendations to your users today.