Neo4j-Foreach句
ザ・ FOREACH 句は、パスのコンポーネントであるか、集計の結果であるかに関係なく、リスト内のデータを更新するために使用されます。
構文
以下は、FOREACH句の構文です。
MATCH p = (start node)-[*]->(end node)
WHERE start.node = "node_name" AND end.node = "node_name"
FOREACH (n IN nodes(p)| SET n.marked = TRUE)
例
例に進む前に、パスを作成してください p 以下に示すように、Neo4jデータベースで。
CREATE p = (Dhawan {name:"Shikar Dhawan"})-[:TOPSCORRER_OF]->(Ind{name:
"India"})-[:WINNER_OF]->(CT2013{name: "Champions Trophy 2013"})
RETURN p
以下は、FOREACH句を使用してパスに沿ったすべてのノードにプロパティを追加するサンプルのCypherクエリです。
MATCH p = (Dhawan)-[*]->(CT2013)
WHERE Dhawan.name = "Shikar Dhawan" AND CT2013.name = "Champions Trophy 2013"
FOREACH (n IN nodes(p)| SET n.marked = TRUE)
上記のクエリを実行するには、次の手順を実行します-
Step 1− Neo4jデスクトップアプリを開き、Neo4jサーバーを起動します。URLを使用してNeo4jの組み込みブラウザーアプリを開きますhttp://localhost:7474/ 次のスクリーンショットに示すように。
Step 2 −目的のクエリをコピーしてドルプロンプトに貼り付け、次のスクリーンショットで強調表示されている再生ボタンを押します(クエリを実行します)。
結果
実行すると、次の結果が得られます。
検証
ノードの作成を確認するには、ドルプロンプトで次のクエリを入力して実行します。
MATCH (n) RETURN n
このクエリは、データベース内のすべてのノードを返します(このクエリについては、次の章で詳しく説明します)。
実行すると、このクエリは次のスクリーンショットに示すように作成されたノードを表示します。