首页 文章

从csv导入文件创建Neo4j关系

提问于
浏览
2

我是Neo4j的新手,并且已经过了一些示例,并且从csv文件(从关系数据库)导入数据取得了适度的成功 . 我已经设法为Persons轻松创建节点:

USING PERIODIC COMMIT                                                                                                 
LOAD CSV WITH HEADERS FROM "file:/home/xxx/Development/Database/exports/persons.csv" AS row               
MERGE (:Person {id: toInt(row.id)});

我有第二个csv文件,其中包含2个人之间的每个关系的行,我正在尝试使用以下Cypher查询来创建关系但没有成功(没有返回数据,并且没有任何更改):

USING PERIODIC COMMIT                                                                                                 
LOAD CSV WITH HEADERS FROM "file:/home/xxxx/Development/Database/exports/person_relationship.csv" AS row                   
MATCH (f:Person {id: toInt(row.from_person_id)}), (t:Person {id: toInt(row.to_person_id)})                            
CREATE (f)-[:RELATED_TO]->(t);

就像我说的那样,人物被创造得很好,但没有多少摇晃或例子可以让我找到正确的语法来创建关系RELATED_TO .

任何帮助赞赏 .

1 回答

  • 2

    你的第二个陈述是正确的 . 你能分享几行文件的 Headers 吗?

    您还可以通过尝试以下内容来检查cypher使用的内容:

    LOAD CSV WITH HEADERS FROM "file:/home/xxxx/Development/Database/exports/person_relationship.csv" AS row                   
    RETURN row,  toInt(row.from_person_id), toInt(row.to_person_id)
    LIMIT 5;
    

    还要确保创建约束以加快速度:

    CREATE CONSTRAINT ON (p:Person) ASSERT p.id IS UNIQUE;
    

相关问题