首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Neo4j load csv命令的困难

使用Neo4j load csv命令的困难
EN

Stack Overflow用户
提问于 2020-05-25 08:12:40
回答 1查看 41关注 0票数 0

我有一个csv文件,有3800000,0000行,每一行都有两个名字,意思是两个人互相认识:

代码语言:javascript
复制
name,friend
a,b
a,c
a,d
f,a
e,a
d,g

我需要计算所有的人之间的关系。

首先,我使用密码:

代码语言:javascript
复制
CREATE (n:Patent {name:'a'})
CREATE (n:Patent {name:'b'})
CREATE (n:Patent {name:'c'})
CREATE (n:Patent {name:'d'})
CREATE (n:Patent {name:'e'})
CREATE (n:Patent {name:'f'})
CREATE (n:Patent {name:'g'})



MATCH (a:Patent {name:'a'}), 
      (b:Patent {name:'b'}) 
MERGE (a)-[:CITED]->(b)


MATCH (a:Patent {name:'a'}), 
      (b:Patent {name:'c'}) 
MERGE (a)-[:CITED]->(b)


MATCH (a:Patent {name:'a'}), 
      (b:Patent {name:'d'}) 
MERGE (a)-[:CITED]->(b)


MATCH (a:Patent {name:'f'}), 
      (b:Patent {name:'a'}) 
MERGE (a)-[:CITED]->(b)


MATCH (a:Patent {name:'e'}), 
      (b:Patent {name:'a'}) 
MERGE (a)-[:CITED]->(b)



MATCH (a:Patent {name:'d'}), 
      (b:Patent {name:'g'}) 
MERGE (a)-[:CITED]->(b)

然后,我得到了结果:

但是行数太大,我尝试了load csv批处理导入命令:

代码语言:javascript
复制
:auto USING PERIODIC COMMIT 1000
LOAD CSV WITH HEADERS FROM "file:///friend_relation.csv" AS line
MATCH (a:Friend {name: line.name}), 
      (b:Friend {name: line.friend}) MERGE (a)-[:KNOWS]->(b)

它失败了:

我把大文件分成多个样本文件,并使用csv load来实现我的目标,我的问题是什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-05-25 12:40:13

如果不返回任何内容,这是因为MATCH子句没有找到任何内容:

试着使用

代码语言:javascript
复制
:auto USING PERIODIC COMMIT 1000
LOAD CSV WITH HEADERS FROM "file:///friend_relation.csv" AS line
MERGE (a:Friend {name: line.name})
MERGE (b:Friend {name: line.friend}) 
MERGE (a)-[:KNOWS]->(b)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61998359

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档