When I joined Neo4j, I didn’t know how to write Java. I was a SQL developer who knew some Ruby and that’s about it. Luckily I had Michael Hunger, Stefan Armbruster, David Montag and others to help me out. I realize however that you may not be so lucky. So today I’m going to share with you a set of slides to help you start you on your journey of using the full power of Neo4j.
The slides are meant to go along with a class I teach, but you won’t have the pleasure of my wonderfully inane commentary and mistimed punchlines, but at least you’ll learn something. The source code for the stored procedures as well as the performance test source code are on github, but try to write these yourself use the repository only for reference. It’s broken out into two parts, before and after lunch, but do these at your own pace.
Level Set – Get everyone on the same page. Neo4j Internals, modeling for performance.
Stored Procedures – Get IntelliJ installed, understand the stored procedure API, using the Java API,
Testing – Using JUnit and Neo4jRule to test the stored procedures
Traversal API – How does it work, when to use this monster, when not to.
Performance Testing – Using Gatling to simulate load.
Profiling – Using Yourkit to see what’s really going on.
Traversal API Part 2 – Expanders, Evaluators and Bidirectional Traversals
Caching – using Roaring Bitmaps to do less work
Analytics – Writing query results to disk.
I won’t be there to deal with Questions, but if you run into any trouble please reply in this community post.
That is awesome. I kinda have same path by myself. Implemented flight model and algorithm to get transfer routes.
Wish i could read this article a year ago :)
WOW! “When I joined Neo4j, I didn’t know how to write Java. I was a SQL developer who knew some Ruby and that’s about it.” You have no idea how this motivates me. I am coming from a .NET background, and Java is somewhat new to me–though I have done a few things with Java here and there over the years. I have seen some of the Java code you have written in your articles and your repositories on GitHub. Seeing how well you picked up Java makes me feel it is possible–maybe not to be as good as you–but at least to be competent–particularly as it relates to Neo4j. Thank you for sharing this tidbit. It may seem trivial, but it is really inspirational.