首页 > 解决方案 > 如何在 NEO4J 中创建友谊图

问题描述

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

我正在尝试创建人与人之间的友谊关系图,并且我还想做一些更新,例如:重命名人们的名字,更改友谊关系,最后我还想运行“谁是 Allen 的朋友”之类的查询。

我已经使用下面的代码加载了这些 csv:

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

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

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

标签: neo4jcypher

解决方案


您是否阅读过这里的教程: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)

推荐阅读