2.0 では、ラベルは優れた機能です。自動インデックス作成の考え方はお勧めしません。ラベルのカスタム インデックスを使用すると、オブジェクトの独自の作成を実現できます。流れとしては、最初にラベルにインデックスを作成し、「ユーザー」がユーザーを識別するためのラベルだとします。
create index on :User(username)
これで、ラベル「ユーザー」を持つすべてのノードの「ユーザー名」に対するインデックスが作成されました。一意のノードを作成するには、作成時に関連付けるものが必要です。現時点ではそのようなものはありません
create unique (n:User {username:"tsartsaris"})
しかし、あなたは使うことができます
CREATE UNIQUE (b)-[:ISUSER]->(m:User {username:"tsartsaris"})
この一意の作成は、label:User および username:tsartsaris で m を検索し、存在しない場合は作成します。コードを再度実行すると、既存のノードが返され、新しいノードは作成されません。2.0 m2 を使用する場合、一意のノードを作成する方法としてマージを使用できます。
merge (n:User {username:"tsartsaris"})
RETURN n
merge はグラフ内で一致するものを検索し、見つかった場合はそれを返し、そうでない場合はノードを作成して返します。