Java cypher-neo4j中的FOREACH

Java cypher-neo4j中的FOREACH,java,neo4j,cypher,graph-databases,Java,Neo4j,Cypher,Graph Databases,我对CYPHER查询语言非常陌生,我正在研究节点之间的关系。 我有一个包含多列和1000行的表的CSV文件。 我的表格模板是: cdrType ANUMBER BNUMBER DUARTION 2 123 456 10 2 890 456 5 2 123 666 2 2 123 709

我对CYPHER查询语言非常陌生,我正在研究节点之间的关系。 我有一个包含多列和1000行的表的CSV文件。 我的表格模板是:

cdrType    ANUMBER    BNUMBER    DUARTION    
2          123        456        10 
2          890        456        5 
2          123        666        2 
2          123        709        7 
2          345        789        20 
我使用了这些命令来创建节点和属性键

LOAD CSV WITH HEADERS FROM "file:///2.csv" AS ROW
CREATE (:ANUMBER {aNumber:ROW.aNumber} ),
CREATE (:BNUMBER {bNumber:ROW.bNumber} )
现在我需要在表中的所有行之间创建关系,我认为FOREACH循环在我的情况下是最好的。我创建了这个查询,但它给了我一个错误。查询是:

MATCH (a:ANUMBER),(b:BNUMBER)
FOREACH(i in RANGE(0, length(ANUMBER)) | 
    CREATE UNIQUE (ANUMBER[i])-[s:CALLED]->(BNUMBER[i]))
错误是:

无效输入“[”:应为标识符字符、空格、, NodeLabel、属性映射“)”或关系模式(第3行, 第29列(偏移量:100))“创建唯一 (a:a编号[i])-[s:CALLED]->(b:b编号[i])”

我需要每一行的关系。就像我的例子。123-调用->456,890-调用->456。所以我需要这个调用数据的可视化表示,哪个号码调用了哪个。为此,我需要在所有行之间创建关系

有人知道如何解决这个问题吗?

那么:

LOAD CSV WITH HEADERS FROM "file:///2.csv" AS ROW
CREATE (a:ANUMBER {aNumber:ROW.aNumber} )
CREATE (b:BNUMBER {bNumber:ROW.bNumber} )
MERGE (a)-[:CALLED]->(b);
这并不比i.m.o.更复杂

希望这有帮助

问候,, 汤姆

那么:

LOAD CSV WITH HEADERS FROM "file:///2.csv" AS ROW
CREATE (a:ANUMBER {aNumber:ROW.aNumber} )
CREATE (b:BNUMBER {bNumber:ROW.bNumber} )
MERGE (a)-[:CALLED]->(b);
这并不比i.m.o.更复杂

希望这有帮助

问候,, 汤姆