Last active
January 4, 2016 20:00
-
-
Save richardbutler/8671505 to your computer and use it in GitHub Desktop.
Node Neo4j Indexing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var neo4j = require('neo4j'), | |
async = require('async'); | |
var db = new neo4j.GraphDatabase('http://localhost:7474'); | |
function createIndex(done) { | |
db.createNodeIndex('programmers', {}, done); | |
} | |
function createNode(done) { | |
var node = db.createNode({ | |
name: 'Frank' | |
}); | |
node.save(function(err, node) { | |
if (err) return done(err); | |
console.log('Saved', node.id); | |
addNodeToIndex(node, done); | |
}); | |
} | |
function addNodeToIndex(node, done) { | |
node.index('programmers', 'name', 'frank', done); | |
} | |
function readIndex(done) { | |
db.queryNodeIndex('programmers', 'name:*', function(err, data) { | |
if (err) return done(err); | |
console.log('Got indexed node', data[0].data.name); | |
done(); | |
}); | |
} | |
async.series([ | |
// Create the index 'programmers' | |
createIndex, | |
// Create a chap called Frank, and add him to the index | |
createNode, | |
// Read back the members of the index | |
readIndex | |
], function(err) { | |
if (err) { | |
// Arse | |
console.log('Error', err); | |
} else { | |
// Woohoo, donuts! | |
console.log('Complete'); | |
} | |
}); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment