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

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

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