2016-08-05 85 views
1

我有一个csv格式的航班数据库,其中包含日期和航班号。使用属性组合来设置Cypher查询语言的唯一性

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中导入这个数据库,并在日期和航班号的组合上创建一个约束来保持唯一性。我的研究表明,2个属性的组合不能用来设置唯一性。有什么办法可以做到这一点?

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

+0

的可能的复制[如何创建的Neo4j涉及多个属性唯一约束](http://stackoverflow.com/questions/22498054/how-to-create-unique-constraint-involving-multiple-properties- in-neo4j) – cybersam

+0

只需使用'merge'而不是'create'? –

回答

0

如上所述,应该使用合并。我之前也在使用合并,但仅限于date属性。一旦我在merge语句中一起使用date和flight,它解决了我的问题。谢谢。

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