Mercurial > repos > ryotas > cypher_tools
comparison neo4j_remove.js @ 0:aa7a5cc0f59b default tip
commit
| author | ryo_tas <yamanaka@genome.rcast.u-tokyo.ac.jp> |
|---|---|
| date | Tue, 30 Dec 2014 18:27:26 +0900 |
| parents | |
| children |
comparison
equal
deleted
inserted
replaced
| -1:000000000000 | 0:aa7a5cc0f59b |
|---|---|
| 1 // $ node neo4j_remove.js a a localhost 7474 1 | |
| 2 | |
| 3 var | |
| 4 esc = require('querystring').escape, | |
| 5 neo4j = require('./neo4j_driver.js'); | |
| 6 | |
| 7 var | |
| 8 file_nodes = process.argv[2], | |
| 9 file_relations = process.argv[3], | |
| 10 host = process.argv[4], | |
| 11 port = process.argv[5] | |
| 12 debug = Number(process.argv[6]), | |
| 13 neo4jClient = neo4j.createClient({'host':host, 'port':port}), | |
| 14 uri_base = 'http://' + host + ':' + port + '/db/data/'; | |
| 15 | |
| 16 var start = process.hrtime(); | |
| 17 | |
| 18 var elapsed_time = function(note){ | |
| 19 var precision = 3; // 3 decimal places | |
| 20 var elapsed = process.hrtime(start)[1] / 1000000; // divide by a million to get nano to milli | |
| 21 console.log(process.hrtime(start)[0] + " s, " + elapsed.toFixed(precision) + " ms - " + note); // print message + time | |
| 22 start = process.hrtime(); // reset the timer | |
| 23 } | |
| 24 | |
| 25 deleteRelationships(0, 11694, function(){ | |
| 26 deleteNodes(1, 545, function(){}); | |
| 27 }); | |
| 28 | |
| 29 | |
| 30 function deleteNodes(base, num, callback){ | |
| 31 var cnt = 0; | |
| 32 for(var i = base + 1; i <= base + num; i++){ | |
| 33 deleteNode(i, function(){ | |
| 34 cnt += 1; | |
| 35 if(cnt % 100 == 0){ | |
| 36 if(debug) console.log('DELETING NODES STATUS:', cnt); | |
| 37 } | |
| 38 if(cnt == num){ | |
| 39 console.log('DELETING NODES FINISHED:', cnt); | |
| 40 callback(); | |
| 41 } | |
| 42 }); | |
| 43 } | |
| 44 } | |
| 45 function deleteNode(id, callback){ | |
| 46 // USE BATCH BECAUSE DELETE METHOD IS NOT DEFINED IN THE DRIVER | |
| 47 data = [{'method':'DELETE', 'to':'node/' + id, 'body':'', 'id':0}]; | |
| 48 neo4jClient.post('batch/', data, function(obj){ | |
| 49 console.log(obj); | |
| 50 callback(); | |
| 51 }); | |
| 52 } | |
| 53 function deleteRelationships(base, num, callback){ | |
| 54 var cnt = 0; | |
| 55 for(var i = base + 1; i <= base + num; i++){ | |
| 56 deleteRelationship(i, function(){ | |
| 57 cnt += 1; | |
| 58 if(cnt % 100 == 0){ | |
| 59 if(debug) console.log('DELETING RELATIONSHIPS STATUS:', cnt); | |
| 60 } | |
| 61 if(cnt == num){ | |
| 62 console.log('DELETING RELATIONSHIPS FINISHED:', cnt); | |
| 63 callback(); | |
| 64 } | |
| 65 }); | |
| 66 } | |
| 67 } | |
| 68 function deleteRelationship(id, callback){ | |
| 69 // USE BATCH BECAUSE DELETE METHOD IS NOT DEFINED IN THE DRIVER | |
| 70 data = [{'method':'DELETE', 'to':'relationship/' + id, 'body':'', 'id':0}]; | |
| 71 neo4jClient.post('batch/', data, function(obj){ | |
| 72 //console.log(obj); | |
| 73 callback(); | |
| 74 }); | |
| 75 } | |
| 76 | |
| 77 | |
| 78 | |
| 79 | |
| 80 | |
| 81 |
