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