2016-08-05 13 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 

したがって、特定の日時に複数のフライトをスケジュールすることができます。私はneo4jでcqlを使ってこのデータベースをインポートして、日付と便番号の組み合わせで一意になるように制約を作成します。私の研究では、2つの属性を組み合わせることで一意性を設定することはできません。これを達成する方法はありますか?

インデックスに日付を設定すると、1つの関係が必要なときに、他の属性との複数の関係も作成されます。

+0

可能な重複(http://stackoverflow.com/questions/22498054/how-to-create-unique-constraint-involving-multiple-properties- [のNeo4jに複数のプロパティを含むユニーク制約を作成する方法] in-neo4j) – cybersam

+0

'create'の代わりに' merge'を使うだけですか? –

答えて

0

提案したように、マージを使用する必要があります。以前はmergeも使っていましたが、dateプロパティでのみ使用しました。私はマージステートメントで一緒に日付とフライトを使用した後、それは私の問題を解決しました。ありがとう。

CREATE INDEX ON :Flights (date) 
MERGE (flights:Flights {date: UPPER(line.`date`),flight_no: TOINT(line.`flight`)}) 
関連する問題