it-swarm-vi.com

Làm cách nào để xóa / tạo cơ sở dữ liệu trong Neo4j?

Có thể tạo/xóa các cơ sở dữ liệu khác nhau trong cơ sở dữ liệu đồ thị Neo4j như trong MySQL không? Hoặc, ít nhất, làm thế nào để xóa tất cả các nút và mối quan hệ của biểu đồ hiện có để có được thiết lập sạch cho các thử nghiệm, ví dụ: sử dụng các lệnh Shell tương tự như rmrel hoặc rm?

101
rmv

Bạn chỉ có thể xóa toàn bộ thư mục biểu đồ bằng rm -rf, vì Neo4j không lưu trữ bất cứ thứ gì bên ngoài đó:

rm -rf data/*

Ngoài ra, tất nhiên bạn có thể lặp qua tất cả các nút và xóa các mối quan hệ của chúng và chính các nút đó, nhưng điều đó có thể quá tốn kém chỉ để thử nghiệm ...

95
Peter Neubauer

lệnh thậm chí đơn giản hơn để xóa tất cả các nút và mối quan hệ:

MATCH (n)
OPTIONAL MATCH (n)-[r]-()
DELETE n,r
96
John Bachir

Từ Neo4j 2.3,

Chúng ta có thể xóa tất cả các nút có mối quan hệ ,

MATCH (n)
DETACH DELETE n

Hiện tại không có bất kỳ tùy chọn nào để tạo nhiều cơ sở dữ liệu trong Noe4j. Bạn cần tạo nhiều cửa hàng dữ liệu Neo4j. Xem tham khảo .

47
Somnath Muluk

Tạo cơ sở dữ liệu mới trong Neo4j

Trước khi bắt đầu cộng đồng neo4j, nhấp vào tùy chọn duyệt

enter image description here

và chọn một thư mục khác

enter image description here

enter image description here

và bấm vào nút bắt đầu.

enter image description here

Cơ sở dữ liệu mới được tạo trên direcory đó

47
Bharathiraja

cách nhanh chóng và bẩn mà hoạt động tốt:

bin/neo4j stop
rm -rf data/
mkdir data
bin/neo4j start
12
Scott

Đối với bất kỳ ai khác cần một biểu đồ sạch để chạy bộ kiểm tra - https://github.com/japi/neo4j-clean-remote-db-addon là một tiện ích mở rộng tuyệt vời để cho phép xóa db thông qua một cuộc gọi REST. Rõ ràng, mặc dù, không sử dụng nó trong sản xuất!

11
Matt Luongo

Chạy mã kiểm tra của bạn trên một cá thể neo4j khác.

  1. Sao chép thư mục neo4j của bạn vào một vị trí mới. Sử dụng này để thử nghiệm. cd vào thư mục mới.
  2. Thay đổi cổng để bạn có thể chạy thử nghiệm và sử dụng đồng thời. Để thay đổi cổng mở conf/neo4j-server.properties và đặt org.neo4j.server.webserver.port thành một cổng không sử dụng.
  3. Bắt đầu máy chủ thử nghiệm khi thiết lập. Làm ./neo4j stoprm -rf data/graph.db khi xé.

Để biết thêm chi tiết, xem neo4j: Cách chuyển đổi cơ sở dữ liệu?docs .

7
Pramod

Trong Neo4j 2.0.0 thì sao? không còn được hỗ trợ. Sử dụng MATCHAL MATCH thay thế:

START n=node(*)
OPTIONAL MATCH (n)-[r]-()
delete n,r;
6
charles

Câu trả lời dễ nhất là: NO

Cách tốt nhất để "bắt đầu lại" là

  • di chuyển đến thư mục dữ liệu trống khác

hoặc là

  • đóng Neo4j hoàn toàn
  • làm trống thư mục dữ liệu cũ
  • khởi động lại Neo4j và đặt thư mục trống làm thư mục dữ liệu

Có một cách để xóa tất cả các nút và mối quan hệ (như được mô tả ở đây )

MATCH (n)
OPTIONAL MATCH (n)-[r]-()
DELETE n,r
6
user3194532

Trong 2.0.0 -M6 Bạn có thể thực thi tập lệnh Cypher sau để xóa tất cả các nút và quan hệ:

start n=node(*)
match (n)-[r?]-()
delete n,r
1
Martin Seeler

Kể từ phiên bản 3, tôi tin rằng bây giờ có thể tạo các trường hợp cơ sở dữ liệu riêng biệt và do đó vị trí của chúng hơi khác nhau.

Tham khảo: https://neo4j.com/developer/guide-import-csv/

--Into Retail.db rõ ràng là cơ sở dữ liệu đích, không được chứa cơ sở dữ liệu hiện có.

Trên hộp Ubuntu của tôi, vị trí nằm trong:

/var/lib/neo4j/data/databases nơi tôi hiện chỉ thấy graph.db mà tôi tin rằng phải là mặc định.

1
Antony

Bạn có thể xóa các tệp dữ liệu của mình và nếu bạn muốn thực hiện theo cách này, tôi sẽ khuyên bạn chỉ nên xóa graph.db của mình. Nếu không, bạn sẽ làm rối thông tin xác thực của bạn.

0
raeffray