Neo4j 1.6.M02 “Jörn Kniv”

We have another milestone for you – 1.6.M02. As I’ve written before, we’re heavily into improving our infrastructure – our build, stress testing etc. But we have more: Faster and better Cypher and open beta on Heroku!

Heroku Public Beta

Our private beta on Heroku was going along just fine. We were getting positive feedback, tweaking provisioning and monitoring, and starting to feel comfortable about stepping into the cloud. Then Peter Neubauer showcased a great demo last week on how to get up and running on Heroku with Neo4j, topping it off with a Google Spreadsheets front-end. This clever hackery was even featured in the Heroku December newsletter. It seemed time to finally allow other people to join the fun. So, we’re pleased to announce that the Neo4j Add-on is now in public beta on Heroku. With a verified account, creating a Neo4j application in the cloud can now be as simple as:
sudo gem install heroku
git clone
cd heroku-neo4j-appscript-demo
heroku apps:create
heroku addons:add neo4j
git push heroku master
heroku open
curl -d"start n=node(0) return n"
heroku addons:open neo4j
If you no longer require it, please remove the heroku app with
heroku apps:destroy --app your-app-name --confirm your-app-name
Documentation on how to get started with the Heroku Neo4j Add-on can be found at the Heroku DevCenter. We’ll be posting additional guides for getting started on Heroku with Neo4j. Stay tuned.

Latest on Cypher

Most the work in Cypher for this milestone has been internal changes that are not immediately visible to an end user. The type system has been rebuilt and revamped, and a second, simpler, pattern matcher has been added. The first change makes the Cypher code base faster to work with, and the second makes your queries faster. End user facing changes include: possibility to get all shortest paths, the COALESCE function, column aliasing, and the possibility for variable length relationships to introduce an iterable of the relationships. Finally, there are two breaking changes – the syntax for the ALL/NONE/ANY/SINGLE predicates has changed, and the ExecutionResult is now a read-once, forward only iterable.

New on the web admin

I’m quite happy to announce that the web admin interface now supports Cypher calls directly in the data browser. It’s so sweet to be able to query your way around the node space! I luv it. Moreover, Gremlin has been updated to version 1.4.

Breaking changes and deprecating

We’re introducing a new way to handle breaking changes. They will be flagged in the change logs as “BREAKING CHANGE.” Where we do introduce a breaking change, we will continue to support the older functionality for 2 GA releases. This would typically be six months heads up and will allow you to adopt new GA releases quickly while giving plenty of time to develop against the new API. This policy applies to published and stable APIs, including Cypher. In the same vein: We now have a deprecated feature. Cypher execution is now part of the core REST API, the cypher plugin is deprecated. This policy does not cover third-party add-ons (like Gremlin from Tinkerpop) which have their own release strategy.

Bug fixes galore

This milestone has a slew of bug fixes incorporated. For more information please read more on the various “CHANGES.txt” files.

Go for it

Your feedback is of great value and we would love for you to join our community mailing list. The Neo4j 1.6.M02 is ready – download now and get involved! Björn Granvik et al Director of Engineering @ Neo Technology