繁体   English   中英

密码学-Neo4j

[英]FOREACH in cypher - neo4j

我对CYPHER QUERY语言非常陌生 ,我正在研究节点之间的关系。 我有一个包含多列和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:ANUMBER [i])- [s:CALLED]->(b:BNUMBER [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);

没有比这更复杂的imo

希望这可以帮助 !

问候,汤姆

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM