2016-08-05 57 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`)})