neo4j在同一个标​​签内建立关系

时间:2016-09-18 06:48:06

标签: neo4j cypher

我在.csv文件中有以下数据

uid fid  
1   2  
1   3  
2   3

如何创建

  1. 基于uid的节点
  2. 在uid和fid上名为“user”的标签中的双向关系
  3. 与密码?

    我尝试像

    这样的东西
    USING PERIODIC COMMIT  
    LOAD CSV WITH HEADERS FROM "file:xxx.csv" AS csvLine FIELDTERMINATOR "\t"   
    merge (usr:User{uid: toInt(csvLine.uid)})-[:friendof]-(frd:User { fid: toInt(csvLine.fid)})
    

    但它不像我预期的那样有效。 抱歉我的英语不好。

1 个答案:

答案 0 :(得分:1)

1)neo4j没有双向关系的概念,它总是有一个方向(如果对应用程序不重要,可以忽略方向)。

2)不要使用属性fid。对所有节点仅使用一个属性:uid

3)要排除额外节点的创建,首先合并节点,然后是关系:

USING PERIODIC COMMIT  
LOAD CSV WITH HEADERS FROM "file:///xxx.csv" AS csvLine FIELDTERMINATOR "\t"   
merge (usr1:User { uid: toInt(csvLine.uid)})
merge (usr2:User { uid: toInt(csvLine.fid)})
merge (usr1)-[:friendof]-(usr2)