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