Neo4j-数据导入

1.1.1 导入对比

常用的导入形式对比
在这里插入图片描述
1.1.2 csv文件导出

(1).注意CSV文件需要使用utf8-无Bom格式

(2).如果字段串中有逗号,需要给字符串的前后两端加上",

(3).如果字符串中有双引号,需要把双引号替换成"“,再在字符串的前后两端加上”

注意:导出csv不需要包含表头,增量和全量统一一种格式即可

1.1.3 neo4j-admin import

csv内容格式:把表头和数据分开存放,以便于多个数据文件共用同一个header

1.1.3.1 公司节点

gs_node_header.csv

eid:ID,name

gs_node.csv

06b53d2f-99b7-45c8-992e-6c86c88fdd1c,"三安光电股份有限公司"

06ad8296-3730-4d32-b7ad-e11c1e505384,"武汉澳华装饰设计工程有限公司"

0673f95f-6911-461a-8182-99c5732875f7,"无锡神探电子科技有限公司"

06ac3f73-8b22-44ca-b1cd-b9778814948b,"淄博市勘察测绘研究院有限公司"

1.1.3.2 投资信息节点

tz_node_header.csv

invest_eid:ID,invest_name

tz_node.csv

00029d21-820d-46da-8ff7-df745ebf67e0,北京麦可利商业管理有限公司

00040b09-f8b8-4ec2-8e79-b35d2e297749,齐齐哈尔温氏粮食有限公司

00052dbc-889a-4d26-a03d-652a5f50dc40,郑州郑煤岚新能源股份有限公司

00097423-f719-42c7-8e54-e4184ea8ec9f,青岛凯联精细化学有限公司

000af5fb-d892-4bfd-b34c-eba61400f445,郑煤集团(登封)教学二矿有限公司

1.1.3.3 关系节点

tz_relation_header.csv

:START_ID,:END_ID,gdpm:string,is_history:int,stock_percent:float,real_capi:float

tz_relation.csv

03c9ac77-f1e8-4bee-b0f4-9e4a073c64fb,ffd14d90-e3aa-4339-8485-2210b8ccd5bf,0,0.3,0

04f2a169-c277-4bbb-a27c-987a570d95ff,4c480c43-8bc2-4297-a24a-0e513bc51f47,0,1,300

04f2a169-c277-4bbb-a27c-987a570d95ff,d7c09a7e-3e50-49f9-968e-809d7d06038b,0,0.0001,0

052f010b-563d-401b-bb0f-13444d6c00de,023cbfa3-d096-4cc6-94dc-5fadd477b0b1,0,0.3855510313,0

052f010b-563d-401b-bb0f-13444d6c00de,3743e922-4318-4dce-a0c7-d3eb4403afe2,0,1,0

1.1.3.4 全量导入数据

./neo4j-admin import \

--mode=csv \

--database=graph.db  \

--nodes:gs_node "../import/all/gs_node_header.csv,../import/all/gs_node.csv" \

--nodes:tz_node  "../import/all/tz_node_header.csv,../import/all/tz_node.csv" \

--relationships:对外投资者关系  "../import/all/tz_relation_header.csv,../import/all/tz_relation.csv" \

--ignore-duplicate-nodes=true \

--ignore-missing-nodes=true

1.1.3.5 新增索引

create index on :gs_node(eid);

create index on :tz_node(invest_eid);

1.1.4 Load csv

1.1.4.1 语法释义

  1. using periodic commit 100 使用自动提交,每满100条提交一次,防止内存溢出

  2. load csv 加载csv

  3. from 引用文件地址

WITH HEADERS

从文件中读取第一行作为参数名,只有在使用了该参数后,才可以使用line.name这样的表示方式,否则需使用line[0]的表示方式

  1. AS line为每行数据重命名

5 .create/merge

首次导入node时一般用create语句,后面新增导入时用merge语句,防止重复导入

1.1.4.2 公司节点

gs_node_20210127.csv

06b53d2f-99b7-45c8-992e-6c86c88fdd1c,"三安光电股份有限公司"

06ad8296-3730-4d32-b7ad-e11c1e505384,"武汉澳华装饰设计工程有限公司"

0673f95f-6911-461a-8182-99c5732875f7,"无锡神探电子科技有限公司"

06ac3f73-8b22-44ca-b1cd-b9778814948b,"淄博市勘察测绘研究院有限公司"

1.1.4.3 投资信息节点

tz_node_20210127.csv

00029d21-820d-46da-8ff7-df745ebf67e0,北京麦可利商业管理有限公司

00040b09-f8b8-4ec2-8e79-b35d2e297749,齐齐哈尔温氏粮食有限公司

00052dbc-889a-4d26-a03d-652a5f50dc40,郑州郑煤岚新能源股份有限公司

00097423-f719-42c7-8e54-e4184ea8ec9f,青岛凯联精细化学有限公司

000af5fb-d892-4bfd-b34c-eba61400f445,郑煤集团(登封)教学二矿有限公司

1.1.4.4 关系节点

tz_relation_20210127.csv

03c9ac77-f1e8-4bee-b0f4-9e4a073c64fb,ffd14d90-e3aa-4339-8485-2210b8ccd5bf,0,0.3,0

04f2a169-c277-4bbb-a27c-987a570d95ff,4c480c43-8bc2-4297-a24a-0e513bc51f47,0,1,300

04f2a169-c277-4bbb-a27c-987a570d95ff,d7c09a7e-3e50-49f9-968e-809d7d06038b,0,0.0001,0

052f010b-563d-401b-bb0f-13444d6c00de,023cbfa3-d096-4cc6-94dc-5fadd477b0b1,0,0.3855510313,0

052f010b-563d-401b-bb0f-13444d6c00de,3743e922-4318-4dce-a0c7-d3eb4403afe2,0,1,0

1.1.4.5 导入公司信息节点

using periodic commit 100

load csv

from 'file:data/tdx/neo4j-community-3.4.5/import/update/gs_node_20210127.csv' AS line

merge (:gs_node {eid:toString(line[0]),name:toString(line[1])})

1.1.4.6 导入投资信息节点

using periodic commit 100

load csv

from 'file:data/tdx/neo4j-community-3.4.5/import/update/tz_node_20210127.csv' as line

merge (:tz_node {invest_eid:toString(line[0]),invest_name:toString(line[1])})

1.1.4.7 新增索引

增量新增的节点需要增加索引,如果全量已经增加了索引,此处无需增加

create index on :gs_node(eid);

create index on :tz_node(invest_eid);

1.1.4.8 导入增量关系

using periodic commit 100

load csv

from 'file:data/tdx/neo4j-community-3.4.5/import/update/tz_relation_20210127.csv' as line

match (from:tz_node{invest_eid:line[1]}),(to:gs_node {eid:line[0]})

merge (from)-[:对外投资者关系 {is_history:toInteger(line[2]),stock_percent:toFloat(line[3]),real_capi:tofloat(line[4])}]->(to)
  • 10
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值