2015-02-19 28 views
12

Neo & üzerinde yeni başladım, bu konuyla ilgili önceki soruları aramaya çalıştım. Mülk anahtarlarından birini yeniden adlandırmak için yardıma ihtiyacım var. Neo4J: Mülk anahtarlarını yeniden adlandırma

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

Şimdi isme başlığını yeniden adlandırmak istiyorum:

aşağıdaki düğüm yarattı. Bunu yapmanın bir yolu var mı? Düğümü, "başlık" özelliğine sahip 100 düğüm noktası olduğu için silmek istemiyorum.

cevap

17

Evet, title numaralı mülkün değeri ile name yeni bir mülk SET istiyorum. Ve daha sonra REMOVE eski mülk title. Eğer BİRÇOK düğümlerin varsa, bu tavsiye edilir

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

Böyle bir şey ... daha küçük gruplar halinde işlemi gerçekleştirmek için. İşte, bir seferde işlemi 10k ile sınırlandıran bir örnek.

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

Bu, teşekkürler! – kkulkarn

+0

Büyüleyici gerçek, ancak Neo4j'ye bir sorguyu ilettiğinizde, işlemi gerçekleştirmeden önce her şeyi belleğe yükler. İşte bu yüzden Neo4j tarayıcısı canavar sorguları çalıştırdığınızda çok uzun bir süre için eriyebilir. Bir "cypher kabuk programı" var, görünüşte bu ilaçları alabilirsiniz, ama yukarıda belirtildiği gibi, bu, yığın eksikliğinden kaynaklanıyor. – agm1984

İlgili konular