neo4j - 创建不会使所有节点和关系出现
问题描述
我刚刚下载并安装了 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)
但我有这样的出现:
我想知道为什么我有这个。
我提前感谢任何需要时间帮助我的人。
解决方案
是的,同意@cybersam,这是“名称”和“国家”变量区分大小写的问题。我的建议:
MERGE (Name)-[:WORK_AT]->(Nation)
我看到您正在对节点使用 MERGE,因此以防万一 Name 或 Nation 的任何值重复,您应该使用 MERGE 而不是 CREATE。
推荐阅读
- python - python将内置关键字分配给变量
- r - 合并 row.names 上的数据框:列以大写字母表示
- sql - 何时创建子类型或仅使用可选属性
- react-native - 如何隐藏反应原生焦点输入边框?
- validation - 如何在 NestJS 中使用 Prisma 和 ValidationPipe?
- c - 除了使用字符串文字之外,还有其他方法可以在 C 中指定或输入 Unicode 代码点吗?
- database - app.blade.php laravel5.4 中未定义的变量
- android - 当应用程序不在前台时,如何删除通知而不删除其气泡?
- sql - 基于其他表中特定值的外键约束
- java - Java的方法参考