【问题标题】:Extraction of unique nodes from csv in neo4j从neo4j中的csv中提取唯一节点
【发布时间】:2015-11-23 02:51:34
【问题描述】:

以最短的方式,我的问题如下: 我需要从下面的 csv 文件中获取

(https...)drive.google.com/file/d/0B-y9nPaqlH6XdXZsYzAwLThacTg/view?usp=sharing

neo4j 中的以下数据结构(使用密码导入):

https://drive.google.com/file/d/0B-y9nPaqlH6XdlZHM216eDRSX3c/view?usp=sharing

代替:

[https://drive.google.com/file/d/0B-y9nPaqlH6XdE9vZ0gyNU1lR0U/view?usp=sharing]

更长的解释:

我想,我的问题的解决方案只需要了解(未)绑定的元素。

但我尝试了很多次,在很多方面(首先创建单个节点,或者在空数据库中):

LOAD CSV with headers FROM "file:///C:/Users/user/Desktop/neo4j help/calling.csv"
AS csvLine

MERGE (u1:Person { number:(csvLine.A), name:(csvLine.name_A)}) MERGE (u2:Person { number:(csvLine.B), name:(csvLine.name_B)})

MERGE (u1:Person { number:(csvLine.A), name:(csvLine.name_A)})-[c:called]->(u2:Person { number:(csvLine.B), name:(csvLine.name_B)})
RETURN u1.name,c,u2.name

我得到的不是奇怪的结果,而是错误消息:

无法在此处创建带有属性或标签的u1。它已经存在于 这个上下文

如果没有“预合并”节点,我有上面的结果(在粉红色的图片中)

我需要什么才能获得想要的结果(在第一张图片中)?

【问题讨论】:

    标签: neo4j duplicates cypher unique csv-import


    【解决方案1】:

    您不需要重新定义 u1 和 u2 节点。只需重用标识符并合并关系:

    LOAD CSV with headers FROM "file:///C:/Users/user/Desktop/neo4j help/calling.csv"
    AS csvLine
    
    MERGE (u1:Person { number:(csvLine.A), name:(csvLine.name_A)}) 
    MERGE (u2:Person { number:(csvLine.B), name:(csvLine.name_B)})
    MERGE (u1)-[c:CALLED]->(u2)
    RETURN u1.name,c,u2.name
    

    Nb:我认为你的图片都是一样的,你可以在你的问题中发布它们,很多人会跳过你的问题,因为他们需要再打开 2 或 3 个浏览器窗口

    【讨论】:

    猜你喜欢
    • 2023-03-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-16
    • 2015-11-10
    • 1970-01-01
    • 2021-12-18
    • 2013-04-28
    相关资源
    最近更新 更多