首页 > 解决方案 > 创建不会使所有节点和关系出现

问题描述

我刚刚下载并安装了 Neo4J。现在我正在使用一个看起来像这样的简单 csv:

在此处输入图像描述

所以首先我使用它来合并该文件的节点:

LOAD CSV WITH HEADERS FROM 'file:///Athletes.csv' AS line
MERGE(Rank:rank{rang: line.Rank})
MERGE(Name:name{nom: line.Name})
MERGE(Sport:sport{sport: line.Sport})
MERGE(Nation:nation{pays: line.Nation})
MERGE(Gender: gender{genre: line.Gender})
MERGE(BirthDate:birthDate{dateDeNaissance: line.BirthDate})
MERGE(BirthPlace: birthplace{lieuDeNaissance: line.BirthPlace})
MERGE(Height: height{taille: line.Height})
MERGE(Pay: pay{salaire: line.Pay})

这为该文件创建了一些约束:

CREATE CONSTRAINT ON(name:Name) ASSERT name.nom IS UNIQUE
CREATE CONSTRAINT ON(rank:Rank) ASSERT rank.rang IS UNIQUE

然后我想显示运动员住在哪个国家。为此,我使用:

Create(name)-[:WORK_AT]->(nation)

但我有这样的出现:

在此处输入图像描述

我想知道为什么我有这个。

我提前感谢任何需要时间帮助我的人。

标签: neo4jcypher

解决方案


是的,同意@cybersam,这是“名称”和“国家”变量区分大小写的问题。我的建议:

MERGE (Name)-[:WORK_AT]->(Nation)

我看到您正在对节点使用 MERGE,因此以防万一 Name 或 Nation 的任何值重复,您应该使用 MERGE 而不是 CREATE。


推荐阅读