2012-06-27 8 views
6

मैं अपने मुख्य नियो 4 जी ग्राफ (मेनडीबी) का एक अन्य ग्राफ (डीपीडीबी) में भाग ले रहा हूं, जबकि ऐसा करने पर मैं डुप्डबी में एक नोड कैसे बना सकता हूं जिसमें मुख्य डीबी में समान गुण होते हैं।Neo4j में एक नोड से डुप्लिकेट नोड कैसे बनाएं?

मैं क्या करना होगा

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

अब मैं मुख्य की प्रत्येक प्रॉपर्टी कॉपी करने के लिए मैन्युअल रूप से dup करने के लिए है, वहाँ यह करने के लिए किसी भी एक लाइन पद्धति है?

+0

क्या आप नोड और गुणों या यहां तक ​​कि इसके संबंधों को डुप्लिकेट कर रहे हैं, उदा। एक उपलेख? आम तौर पर, प्रोपर्स पर लूपिंग द्वारा कॉपी करना, साइफर के साथ आप इसे डालने के लिए पैरामीटर के रूप में एक मानचित्र का उपयोग कर सकते हैं, http://docs.neo4j.org/chunked/snapshot/query-create.html#create-create- एकल-नोड-से-मानचित्र –

+0

केवल गुण। वैसे भी मैंने उन्हें मैन्युअल रूप से कॉपी किया था, अगर कोई सीधी विधि थी तो बस उत्सुक था। – Sravan

+1

कोई नहीं है। –

उत्तर

2

मुझे नहीं लगता कि यह एक साल पहले अस्तित्व में था। हालांकि यह आज समस्या को हल कर सकता है। 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; 

फिर आप इस के उत्पादन लेने के लिए और उन नोड्स, गुण और सभी बनाने के लिए एक और डेटाबेस के लिए भेज सकता है:

Neo4j खोल एक डंप आदेश है।

3

आप Ne04j 2.1 (पहले के बारे में सुनिश्चित नहीं)

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

आप गुण में से किसी पर एक विशिष्टता बाधा है, तो यह हालांकि संदेश के साथ असफल हो जायेगी में एक नक्शे के साथ एक नकली बना सकते हैं ...

नोड पहले से ही लेबल XX और संपत्ति "संपत्ति" = [value] के साथ मौजूद है

आप विशिष्टता बाधा के साथ संपत्ति के लिए एक नया मूल्य प्रदान करके, नया नोड बनाने और मूल नोड से अन्य गैर-अद्वितीय संपत्ति मूल्यों की प्रतिलिपि बनाकर इससे बच सकते हैं।

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