在Cypher查询语言中使用属性组合来设置唯一性



我有一个csv形式的航班数据库,其中包括日期和航班号等列。

date                        flight
01-01-2011 12:00                428
02-01-2011 12:00                428
03-01-2011 12:00                428
01-01-2011 12:00                429
02-01-2011 12:00                429
03-01-2011 12:00                429

因此,在特定的日期和时间,可以安排多个航班。我想使用cql在neo4j中导入这个数据库,创建一个日期和航班号组合的约束,使其唯一。我的研究表明,两个属性的组合不能用来设置唯一性。有什么办法做到这一点吗?

如果我在日期上设置索引,当我只想要一个关系时,它还会创建具有其他属性的多个关系。

根据建议,应该使用merge。我早些时候也使用了merge,但只在date属性上使用。一旦我在merge语句中同时使用了日期和航班,它就解决了我的问题。谢谢

CREATE INDEX ON :Flights (date)
MERGE (flights:Flights {date: UPPER(line.`date`),flight_no: TOINT(line.`flight`)} )

最新更新