Neo4j 1.3 “Abisko Lampa” M02- Moving Day



Peter Neubauer


Hi everyone,

It’s milestone release time again. For this time, let me just summarize what we’ve been up to the last two weeks, guided by the distant light of Abisko Lampa.

First of all, the community (that’s YOU!) has been fantastic over the last two weeks. Thanks for helping with questions, comments and remarks making Neo4j better – keep it up!

Forwarding address: https://github.com/Neo4j


We’ve packed up and moved our source repositories over to GitHub, now living at https://github.com/Neo4j. While settling into our new digs, we’ve re-arranged things into multi-module projects with top-level parents that make checking out and building a bit simpler.

Being sentimental, we’re keeping the old Subversion repository in read-only mode, for historical tours.

Stop by for a visit on GitHub, feel free to fork away and send in pull requests. We are always thankful for contributions – and you will get a Neo4j baseball cap from us!

Chris Gioran aka DigitalStain

Re-arranging the furniture


Our components are now in the same room together, easy to grab and build if you want to work from the source. What’s in that room? Neo4j 1.3.M02 now contains:

  • neo4j-kernel: core graphdb engine

  • neo4j-graph-algo: optimized graph algorithm library

  • neo4j-kernel-com: low-level communication implementations between Neo4j instances

  • neo4j-ha: high availability system

  • neo4j-lucene-index: a Lucene based index provider

  • neo4j-management: monitoring and JMX exposure facilities

  • neo4j-udc: usage data collector subsystem


  • Also, note that the version numbers of all core components now match the release – 1.3.M02 – dropping the previous prefixing of distinct component version.


    New backup library


    Taking advantage of the High Availability communication features, we’ve re-implemented the Neo4j backup library. Both incremental and full backups are now pretty simple, just borrow this little code snippet:

    GraphDatabaseService db = new EmbeddedGraphDatabase("db");
    OnlineBackup.from( "localhost" ).full( "backupdir" );
    //do stuff
    OnlineBackup.from( "localhost" ).incremental( "backupdir" );
    db.shutdown();

    Web administrivia


    The server’s Webadmin UI has been spruced up, we’ve added a bit of spit-n-polish to repair some blemishes and bashed out some small dents.

    Performance improvements


    Log rotation within the kernel has been significantly sped up, which will improve overall performance especially when small transactions are executed.


    High Availability setup improvements


    There have been a number of efforts being done to wrap the HA setup of Neo4j in different environments. Andreas Ronge has done a great job exposing a simple interface in the HA scripts for Neo4j JRuby and there are now some really useful Chef and Vagrant recipes

    Upgrade to Gremlin 0.7 in the server


    Our good friend, the graph cruncher Marko Rodriguez, has a revamped Groovy-based incarnation of the Gremlin graph language – an easy way to describe graph operations on top of the Groovy scripting language. With this, you can do supercool stuff on graphs directly in the Webadmin tool, check the state of your graph, or prototype stuff.



    That’s all for now, and let us know any comments, issues or thoughts you have!

    /peter




    Want to learn more about graph databases? Click below to get your free copy of O’Reilly’s Graph Databases ebook and discover how to use graph technologies for your application today.

    Download My Ebook