2015-02-19 10 views
12

मैंने अभी शुरू किया है Neo & इस विषय पर पूर्व प्रश्नों को देखने का प्रयास किया। मुझे संपत्ति कुंजी में से किसी एक का नाम बदलने में मदद चाहिए।नियो 4 जे: संपत्ति कुंजी का नाम बदलना

CREATE (Commerce:Category {title:' Commerce', Property:'Category', Owner:'Magic Pie', Manager:'Simple Simon'}) 

अब नाम के शीर्षक का नाम बदलना चाहते:

मैं निम्नलिखित नोड बनाया। क्या इसे करने का कोई तरीका है? मैं नोड को हटाना नहीं चाहता क्योंकि संपत्ति "शीर्षक" के साथ 100 नोड्स हैं।

उत्तर

17

हां, आप पुरानी संपत्ति title के मूल्य के साथ name पर एक नई संपत्तिचाहते हैं। और फिर REMOVE पुरानी संपत्ति title। इस तरह कुछ ...

MATCH (c:Category) 
WHERE c.name IS NULL 
SET c.name = c.title 
REMOVE c.title 

यदि आपके पास कई नोड्स हैं, तो छोटे बैचों में ऑपरेशन करने की सलाह दी जाती है। ऑपरेशन को एक समय में 10k तक सीमित करने का एक उदाहरण यहां दिया गया है।

MATCH (c:Category) 
WHERE c.name IS NULL 
WITH c 
LIMIT 10000 
SET c.name = c.title 
REMOVE c.title 
+0

यह काम करता है !! – kkulkarn

+0

आकर्षक तथ्य, लेकिन जब आप Neo4j पर कोई क्वेरी पास करते हैं, तो यह ऑपरेशन करने से पहले स्मृति में सबकुछ लोड करता है। यही कारण है कि जब आप राक्षस प्रश्नों को चलाते हैं तो Neo4j ब्राउज़र लंबे समय तक पिघला देता है। एक 'साइफर शैल प्रोग्राम' है जिसे आप स्पष्ट रूप से उपचार प्राप्त कर सकते हैं, लेकिन ऊपर वर्णित अनुसार, यह बैचिंग की कमी के कारण है। – agm1984

संबंधित मुद्दे