neo4j在同一标签内建立关系

neo4j在同一标签内建立关系,neo4j,cypher,Neo4j,Cypher,我在.csv文件中有如下数据 uid fid 1 2 1 3 2 3 我怎样才能创造 基于uid的节点 uid和fid上的“用户”标签中的双向关系 和塞弗 我试着做些类似的事情 USING PERIODIC COMMIT LOAD CSV WITH HEADERS FROM "file:xxx.csv" AS csvLine FIELDTERMINATOR "\t" merge (usr:User{uid: toInt(csvLine.uid)})-[:fri

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

uid fid  
1   2  
1   3  
2   3
我怎样才能创造

  • 基于uid的节点
  • uid和fid上的“用户”标签中的双向关系
  • 和塞弗

    我试着做些类似的事情

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