Neo4j -admin方式导数

Neo4j的导数方式有多种,想看详细对比请参见:https://mp.weixin.qq.com/s/ZYqDSx333nTCYBpHydfYMg

以前用过Cypher load csv,用Java写的导入工具Jar,那速度慢的可以,这里就不再推荐了。前不久改用neo4j -admin方式,速度有明显的提升。下面就介绍下Neo4j -admin的用法。

  1. 保证neo4j为停止状态。切换到neo4j安装目录的bin目录 ./noe4j status;(./neo4j start 启动;./neo4j stop 停止;./neo4j status 状态;)
  2. 清除neo4j的默认库。切换到安装目录的data/database目录,rm -rf graph.db;
  3. 切换到neo4j安装目录的data/database目录;rm -rf graph.db/ 清除
  4. 将csv文件放至neo4j安装目录下的import目录下;(节点csv、关系csv)
    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为关系类型

  5. nodes : mynodes.csv 节点数据文件;relationships : myrelations.csv 关系数据文件
  6. 切换到neo4j安装文件目录(bin的上一层),执行命令
  7.  bin/neo4j-admin import --database=graph.db --nodes import/mynodes.csv --relationships import/myrelations.csv
  8. 等待完成。
  9. 完成后切换到bin目录 ./neo4j start 启动服务。

为了更方便快捷的进行导数操作,我们会自己写个脚本,要更新数据时,把数据文件放到指定位置,直接执行脚本等待完成就行了。完成之后为了提升查询性能还要加上索引,不通过脚本方式,这还得访问浏览器一个个的输入创建也是挺费事儿的。通过脚本快速建立索引传送门:脚本建索引

用这种方式导数的速度是提升上去了,但让人感觉还是很麻烦。因为这种方式是脱机操作、全量更新,对于数据更新频繁的场景而言,若是数据量不大还不会有什么大的影响,要是数据量大的这就不是一个好的方式了。所以对不同的应用场景我们还得考虑不同的方式,实际怎么用还得看用在什么地方。

 

 

你可能感兴趣的:(neo4j)