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 *-目的のクエリをコピーしてドルプロンプトに貼り付け、次のスクリーンショットで強調表示されている(クエリを実行する)再生ボタンを押します。

For each

結果

実行すると、次の結果が得られます。

プロパティの設定

検証

ノードの作成を確認するには、ドルプロンプトで次のクエリを入力して実行します。

MATCH (n) RETURN n

このクエリは、データベース内のすべてのノードを返します(このクエリについては、以降の章で詳しく説明します)。

次のスクリーンショットに示すように、実行すると、このクエリは作成されたノードを表示します。

作成された結果