web-dev-qa-db-ja.com

プロパティ配列に値をプッシュする方法Cypher-Neo4j

私はNeo4jを初めて使用し、関係:containsを持つ2つのノードuserfilesがあり、関係には次のように表される配列であるプロパティidがあります。

(:user)-[:contains{id:[12345]}]->(:files)

ただし、プロパティ配列idに値1111および14567順次Cypherクエリを使用して入力したいのですが、メソッドが見つかりません。値を配列にプッシュします。

プロパティidに1111を挿入すると、次のようになります。

(:user)-[:contains{id:[12345,1111]}]->(:files)

14567をプロパティidに挿入すると、次のようになります。

(:user)-[:contains{id:[12345,1111,14567]}]->(:files)

プロパティ配列に値を順番に入力する方法がわかりません

助けてください、よろしくお願いします

21
SarathSprakash

配列に値を追加することは、整数をインクリメントしたり文字列を連結したりすることに似ており、同じように意味されます(c[c:contains {id:[12345]}]とします)。

c.id = c.id + 1111             //  [12345,1111]
c.id = c.id + 14567            //  [12345,1111,14567]

または

c.id = c.id + [1111,14567]     //  [12345,1111,14567]
42
jjaderberg

属性の1つがnullの場合のjjaderbergの回答に加えて、ひどいエラーが発生する可能性があります。

SET n.id = coalesce(n.id, []) + n.additionalId

合体は、左から右にコンマ区切りのリスト(角かっこ内)を通過し、Null値である変数をスキップします。したがって、この場合、n.idは最初はNullであり、合体は空の配列である2番目のパラメーターを取ります。

4
Christian Meyer