Ben şu iki düğüm türleri vardır: Ben almaya çalışıyorumbelli ilişki (Cypher/Neo4j) yok düğümleri alın
(s)-[:offered_in]->(c)
:
c:City {name: 'blah'}
s:Course {title: 'whatever', city: 'New York'}
bu oluşturmak için Looking şehirlere bağlı olmayan ve kentle ilişkiyi oluşturmayan tüm dersler (eğer mevcut değilse şehir oluşur). Ancak, sorun şu ki, veri kümem yaklaşık 5 milyon düğüm ve zaman aşımı yaptığım herhangi bir sorgulamadır (10k'lık artış olmadan).
... herhangi birinin tavsiyesi var mı? DÜZENLEME
:. Burada
ben şimdi koşuyorum işler için bir sorgu (yani onu olduğu gibi birkaç dakika sürer çünkü) milyonlardan (10k parçalar halinde yapılmalıdır etmiyor ise kenti yaratır 't) mevcut:
match (j:Job)
where not has(j.merged) and has(j.city)
WITH j
LIMIT 10000
MERGE (c:City {name: j.city})
WITH j, c
MERGE (j)-[:in]->(c)
SET j.merged = 1
return count(j)
(şimdilik öyle yapmaya çalışıyor, zaten eşleştirilmiş olanları süzmek için iyi bir yol bilmiyorum özel ile etiketleyerek zaten bir var niteliği 'birleşti' index on)
Şu anda denediğiniz şeyi paylaşabilir misiniz? – JohnMark13
Bunun daha fazla bağlam olmadan yanıtlanabileceğini sanmıyorum (ve sorunuza güncellemenizle uyuşuyor, iş üstleniyorum == kurs ve == offer_in). Mevcut veriler üzerinde mi çalışıyorsunuz yoksa bu toplu bir içe aktarma mı? Sistem kurulumunuz hakkında biraz bilgi verir misiniz? 'Birleştirilmiş' yerine WHERE NOT (j) - [: in] ->() kullanabilirsiniz. – JohnMark13
Tarayıcı arayüzünden zaman aşımı görüyor musunuz? –