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 语法释义
-
using periodic commit 100 使用自动提交,每满100条提交一次,防止内存溢出
-
load csv 加载csv
-
from 引用文件地址
WITH HEADERS
从文件中读取第一行作为参数名,只有在使用了该参数后,才可以使用line.name这样的表示方式,否则需使用line[0]的表示方式
- 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)
标签:node,tz,1.1,导入,Neo4j,line,csv,数据,gs
From: https://blog.csdn.net/qq_45796594/article/details/140135127