如何在NEO4J中创建友谊图

时间:2018-06-12 00:59:49

标签: neo4j cypher

我是neo4j的新手并尝试了一些东西。我有两个csv文件:一个有人,一个有友谊关系。

我正在尝试创建一个人与人之间友谊关系的图表,我也想做更新,例如:重命名人名,改变友谊关系,最后我还要运行“谁是艾伦的朋友”之类的查询

  • people.csv看起来像这样:

    id, name
    1, Allen
    2, John
    
  • friendship.csv看起来像这样:

    TO, FROM
    Allen, John
    

我已使用以下代码加载了这些csv:

LOAD CSV FROM 'file:///friendship.csv' AS line WITH line LIMIT 100 RETURN line

我找到了创建关系的不同代码,但我对它们感到困惑。

谁能告诉我如何从csv创建友情映射的简单关系?然后如何使用neo4j添加更多关系?

1 个答案:

答案 0 :(得分:1)

您是否在此阅读了教程:https://neo4j.com/developer/guide-importing-data-and-etl/

一个简单的入门方法是,首先从people.csv创建节点(假设它们是唯一值,您可以使用CREATE而不是MERGE),例如

CREATE (:Person {id:line.id, name:line.name})

根据您的情况,在人名上设置索引。

CREATE INDEX ON :Person(name);

然后通过在friendship.csv上运行LOAD CSV并匹配先前创建的节点来创建关系

USING PERIODIC COMMIT
LOAD CSV FROM 'file:///friendship.csv' AS line WITH line
MATCH (to:Person {name: line.TO})
MATCH (from:Person {name: line.FROM})
MERGE (to)-[:FRIEND]->(from)