neo4j批量导入数据操作备忘
全量导入
$ neo4j stop &&
neo4j-import --into /path/to/neo4j/neo4j-community-3.3.0/data/databases/graph.db --id-type string --delimiter "csv文件列分隔符" --ignore-missing-nodes=true --skip-duplicate-nodes=true --skip-bad-relationships=true --ignore-extra-columns=true --bad-tolerance=100000000000 --nodes:实体名称 实体csv文件路径 --relationships:关系名称 关系csv文件路径 &&
neo4j start
增量导入
导入实体
USING periodic commit 100000
LOAD CSV FROM "file:/some_csv/entity/KNOWLEDGE_keyword.csv" AS line fieldterminator ","
MERGE (:KNOWLEDGE_keyword {word:line[0], left:toFloat(line[1]), right: toFloat(line[2]), agg: toFloat(line[3])})
导入关系
USING periodic commit 100000
LOAD CSV FROM "file:/some_csv/relation/PARENT_KW.csv" AS line fieldterminator ","
MATCH (s:KNOWLEDGE_keyword {word:line[0]})
MATCH (t:KNOWLEDGE_keyword {word:line[1]})
MERGE (s)-[r:PARENT_KW]->(t)
如果csv文件有header,可以用 LOAD CSV WITH HEADERS 完成导入:
word,left,right,agg
manifest,3.809602881889254,3.6618589888170905,2766148415982.0
for,6.485841589318351,5.915330168943567,2299.469830672736
cline,5.457153646587089,7.185567251887322,93.63024602727756
函数,6.380031459882535,5.543128117048201,167.34347518358996
但是,5.868707992709903,5.962722075878112,170.1050099123602
USING periodic commit 100000
LOAD CSV WITH headers FROM 'file:///some_csv/entity/filename.csv' AS line
CREATE (:KNOWLEDGE_keyword {word:line.word, left:toFloat(line.left), right:toFloat(line.right), agg:toFloat(line.agg)})
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)