Neo4j - Mệnh đề Where
Giống như SQL, Neo4j CQL đã cung cấp mệnh đề WHERE trong lệnh CQL MATCH để lọc kết quả của Truy vấn MATCH.
Cú pháp
Sau đây là cú pháp của mệnh đề WHERE.
MATCH (label)
WHERE label.country = "property"
RETURN label
Thí dụ
Trước khi tiếp tục với ví dụ, hãy tạo năm nút trong cơ sở dữ liệu như hình dưới đây.
CREATE(Dhawan:player{name:"shikar Dhawan", YOB: 1985, runs:363, country: "India"}
CREATE(Jonathan:player{name:"Jonathan Trott", YOB:1981, runs:229, country:"South Africa"}
CREATE(Sangakkara:player{name:"Kumar Sangakkara", YOB:1977, runs:222,
country:"Srilanka"})
CREATE(Rohit:player{name:"Rohit Sharma", YOB: 1987, runs:177, country:"India"})
CREATE(Virat:player{name:"Virat Kohli", YOB: 1988, runs:176, country:"India"})
CREATE(Ind:Country {name: "India", result: "Winners"})
Sau đây là một mẫu Cypher Query trả về tất cả các trình phát (nút) thuộc quốc gia Ấn Độ bằng cách sử dụng mệnh đề WHERE.
MATCH (player)
WHERE player.country = "India"
RETURN player
Để 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.
Mệnh đề WHERE với nhiều điều kiện
Bạn cũng có thể sử dụng mệnh đề WHERE để xác minh nhiều điều kiện.
Cú pháp
Sau đây là cú pháp để sử dụng mệnh đề WHERE trong Neo4j với nhiều điều kiện.
MATCH (emp:Employee)
WHERE emp.name = 'Abc' AND emp.name = 'Xyz'
RETURN emp
Thí dụ
Sau đây là một Truy vấn Cypher mẫu lọc các nút trong cơ sở dữ liệu Neo4j bằng cách sử dụng hai điều kiện.
MATCH (player)
WHERE player.country = "India" AND player.runs >=175
RETURN player
Để 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.
Sử dụng Mối quan hệ với Mệnh đề Where
Bạn cũng có thể sử dụng mệnh đề Where để lọc các nút bằng cách sử dụng các mối quan hệ.
Thí dụ
Giả sử chúng ta có đồ thị sau trong cơ sở dữ liệu.
Sau đây là một Cypher Query mẫu để truy xuất Vua phá lưới của Ấn Độ bằng mệnh đề WHERE như hình dưới đây.
MATCH (n)
WHERE (n)-[: TOP_SCORER_OF]->( {name: "India", result: "Winners"})
RETURN n
Để 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. Ở đây bạn có thể quan sát thấy Neo4j đã trả về nút có mối quan hệ TOP_SCORER_OF với quốc gia có nút có tên India.