Neo4j wrapper (REST API client) for Node.js


This is a client library for accessing Neo4j, a graph database, from Node.js. It uses Neo4j's REST API.

Acknowledgements This is based on the great work of node-neo4j from thingdom but I had some problems and due to the use of coffeescript and streamline I couldn't debug my problems easily. I have rewitten the library into pure javascript and tidied up some elements along the way. I have increased the test coverage as well.

npm install neoprene

To start, create a new instance of the GraphDatabase class pointing to your Neo4j instance:

var neoprene = require('neoprene');
var db = new neoprene('http://localhost:7474');

Here's a simple usage example:

var node = db.createNode({hello: 'world'}, function(errnode){
  if (err) {
    console.err('Error saving new node to database:', err);
  } else {
    console.log('Node saved to database with id: ' +;

[10 Jan 2013] Please note that I would like to rewrite this library to make writing models easier. At present there is no functionality for marking fields as required in a model, automatic validation on saves etc. This is more difficult that I anticipated. Feel free to look at the schema branch and submit pull requests. To be honest without assistance it probably wont move fast (6 months or so)

If/ when this changes there will be breaking changes to the api.

If you're new to Neo4j, read the Getting Started page. Start the server:

db/bin/neo4j start

Stop the server:

db/bin/neo4j stop

To run the tests:

npm test

This library is licensed under the [Apache License, Version 2.0][license].

If you encounter any bugs or other issues, please file them in the [issue tracker][issue-tracker].