Neo4j - Mệnh đề Foreach

Các FOREACH mệnh đề được sử dụng để cập nhật dữ liệu trong danh sách cho dù các thành phần của một đường dẫn, hay kết quả của tổng hợp.

Cú pháp

Sau đây là cú pháp của mệnh đề 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)

Thí dụ

Trước khi tiếp tục với ví dụ, hãy tạo một đường dẫn p trong cơ sở dữ liệu Neo4j như hình dưới đây.

CREATE p = (Dhawan {name:"Shikar Dhawan"})-[:TOPSCORRER_OF]->(Ind{name: 
   "India"})-[:WINNER_OF]->(CT2013{name: "Champions Trophy 2013"}) 
RETURN p

Sau đây là một Truy vấn Cypher mẫu thêm một thuộc tính cho tất cả các nút dọc theo đường dẫn bằng cách sử dụng mệnh đề 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)

Để thực hiện truy vấn trên, hãy thực hiện các bước sau:

Step 1- Mở Ứng dụng máy tính để bàn Neo4j và khởi động Máy chủ Neo4j. Mở ứng dụng trình duyệt tích hợp sẵn của Neo4j bằng URLhttp://localhost:7474/ như thể hiện trong ảnh chụp màn hình sau.

Step 2 - Sao chép và dán truy vấn mong muốn trong dấu nhắc đô la và nhấn nút phát (để thực hiện truy vấn) được đánh dấu trong ảnh chụp màn hình sau.

Kết quả

Khi thực hiện, bạn sẽ nhận được kết quả sau.

xác minh

Để xác minh việc tạo nút, hãy nhập và thực hiện truy vấn sau trong dấu nhắc đô la.

MATCH (n) RETURN n

Truy vấn này trả về tất cả các nút trong cơ sở dữ liệu (chúng ta sẽ thảo luận chi tiết về truy vấn này trong các chương tới).

Khi thực thi, truy vấn này hiển thị nút đã tạo như trong ảnh chụp màn hình sau.