2012-10-15 26 views
28

Sử dụng Cypher làm cách nào để có được tất cả các nút trong biểu đồ? Tôi đang chạy một số thử nghiệm đối với đồ thị và tôi có một số nút mà không có mối quan hệ vì vậy đang gặp khó khăn khi tạo một truy vấn.Neo4j: Nhận tất cả các nút trong biểu đồ, ngay cả những nút không được kết nối bằng các mối quan hệ

Lý do tôi muốn có tất cả chúng là tôi muốn xóa tất cả các nút trong biểu đồ khi bắt đầu mỗi lần kiểm tra.

Trả lời

61

Vì vậy, điều này mang đến cho bạn tất cả các nút:

MATCH (n) 
RETURN n; 

Nếu bạn muốn xóa tất cả mọi thứ từ một đồ thị, bạn có thể làm một cái gì đó như thế này:

MATCH (n) 
OPTIONAL MATCH (n)-[r]-() 
DELETE n, r; 

Cập nhật cho 2.0+

Chỉnh sửa: Hiện tại trong 2.3 họ có DETACH DELETE, vì vậy, bạn có thể làm điều gì đó như:

MATCH (n) 
DETACH DELETE n; 
+1

Thao tác này có xóa nút gốc không? Tôi muốn giữ anh ta. –

+1

Ok, sau đó thêm 'trong đó ID (n) <> 0' sau' match'. –

13

Điều này có phù hợp với bạn không?

START a=node:index_name('*:*') 

Giả sử bạn có chỉ mục với các nút mồ côi này.

+0

Cảm ơn Jason, chưa bao giờ thấy cú pháp mà trước 1 –

+1

Cú pháp được tham chiếu ở đây: http://docs.neo4j.org/chunked/snapshot/query -start.html # start-node-by-index-query –

4

này chỉ hoạt động tốt trong 2.0:

MATCH n RETURN n 
Các vấn đề liên quan