2012-06-27 42 views
6

Tôi đang sao chép một phần của Biểu đồ Neo4j Chính (mainDB) vào một Đồ thị (dupDB), trong khi làm như vậy làm thế nào tôi có thể tạo một Nút trong dupDB có các thuộc tính tương tự như một trong mainDB.Làm thế nào để tạo một nút trùng lặp từ một nút trong Neo4j?

tôi sẽ làm

Node main = mainDB.getNodeByID(477); 
Node dup = dupDB.createNode(); 

Bây giờ tôi phải sao chép từng sở hữu trong chính để dup bằng tay, là có bất kỳ một dòng phương pháp để làm điều này?

+0

Bạn chỉ cần sao chép nút và thuộc tính hoặc thậm chí mối quan hệ của nó, ví dụ: một biểu đồ con? Nói chung, hãy sao chép bằng cách lặp qua các đạo cụ, với Cypher bạn có thể sử dụng một bản đồ làm tham số để chèn nó, xem http://docs.neo4j.org/chunked/snapshot/query-create.html#create-create- single-node-from-map –

+0

Chỉ các thuộc tính. Dù sao tôi đã sao chép chúng bằng tay, chỉ là tò mò nếu có một phương pháp trực tiếp. – Sravan

+1

không có. –

Trả lời

2

Tôi không nghĩ rằng điều này đã tồn tại một năm trước. Tuy nhiên điều này có thể giải quyết vấn đề ngày hôm nay.

Các Neo4j vỏ có một lệnh bãi: http://docs.neo4j.org/chunked/preview/shell-commands.html#_dumping_the_database_or_a_cypher_result_to_cypher_statements

dump START n=node({self}) MATCH (n)-[r]-(m) return n,r,m; 

Sau đó, bạn có thể mất sản lượng này và gửi cho cơ sở dữ liệu khác để tạo các nút, tài sản và tất cả.

3

Bạn có thể tạo một bản sao với một bản đồ trong Ne04j 2.1 (không chắc chắn về trước)

match (n:Node {name: 'abc'}) 
with n as map 
create (copy:Node) 
set copy=map return copy 

Nếu bạn có một hạn chế duy nhất về bất kỳ thuộc tính nó sẽ thất bại mặc dù với thông điệp ...

Node đã tồn tại với nhãn XX và tài sản "bất động sản" = [giá trị]

Bạn có thể tránh điều đó bằng cách cung cấp một giá trị mới cho thuộc tính với ràng buộc duy nhất, tạo nút mới và sao chép các giá trị thuộc tính không duy nhất khác từ nút gốc.

match (n:Node {name: 'abc'}) 
with n as map 
create (copy:Node {name: 'def'}) 
set copy.property1 = map.property1 
, copy.property2 = map.property2 
return copy 
Các vấn đề liên quan