Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Neo4j load csv命令有困难_Csv_Neo4j - Fatal编程技术网

使用Neo4j load csv命令有困难

使用Neo4j load csv命令有困难,csv,neo4j,Csv,Neo4j,我有一个3800000000行的csv文件,每行有两个名字,这意味着两个人彼此认识: name,friend a,b a,c a,d f,a e,a d,g 我需要计算所有人的关系。 首先,我使用cypher: 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'}

我有一个3800000000行的csv文件,每行有两个名字,这意味着两个人彼此认识:

name,friend
a,b
a,c
a,d
f,a
e,a
d,g
我需要计算所有人的关系。

首先,我使用cypher:

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
batch import命令:

: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)
它失败了:


我将大文件拆分为多个samll文件,并使用
csv load
来实现我的目标,我的问题是什么?

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

试用

: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)