Neo4j的导数方式有多种,想看详细对比请参见:https://mp.weixin.qq.com/s/ZYqDSx333nTCYBpHydfYMg
以前用过Cypher load csv,用Java写的导入工具Jar,那速度慢的可以,这里就不再推荐了。前不久改用neo4j -admin方式,速度有明显的提升。下面就介绍下Neo4j -admin的用法。
nodeId:ID,custName,certNo,custType,certType,:LABEL
1111,a,111,个人,1,Customer
1112,b,222,对公,2,Customer
1113,c,333,个人,1,Customer
1114,d,444,对公,3,Customer
1115,e,555,个人,1,Customer
1116,f,666,个人,1,CustRel
1117,g,777,对公,2,CustRel
1118,h,888,个人,1,CustRel
1119,j,999,对公,2,CustRel
1120,k,1212,个人,1,CustRel
:START_ID,value,:END_ID,:TYPE
1111,1,1112,A
1111,2,1113,B
1111,3,1114,C
1111,4,1115,D
1116,5,1117,E
1116,6,1118,F
1116,7,1119,G
1116,8,1120,H
上为mynodes.csv,下为myrelations.csv。要注意的是Excel编辑保存时格式必须为CSV,否则导数时会报错、:ID项不能重复、:START_ID和:END_ID即起始节点与结束节点的ID、:TYPE为关系类型
为了更方便快捷的进行导数操作,我们会自己写个脚本,要更新数据时,把数据文件放到指定位置,直接执行脚本等待完成就行了。完成之后为了提升查询性能还要加上索引,不通过脚本方式,这还得访问浏览器一个个的输入创建也是挺费事儿的。通过脚本快速建立索引传送门:脚本建索引
用这种方式导数的速度是提升上去了,但让人感觉还是很麻烦。因为这种方式是脱机操作、全量更新,对于数据更新频繁的场景而言,若是数据量不大还不会有什么大的影响,要是数据量大的这就不是一个好的方式了。所以对不同的应用场景我们还得考虑不同的方式,实际怎么用还得看用在什么地方。