Die Abfrage Sie zunächst ein kartesisches Produkt zwischen allen Paarungen von Person Knoten erstellt schrieb, dann auf jeder Paarung diejenigen zu finden, dass das Filtern, die tatsächlich verwandt sind, erstellt dann die Beziehung. Das ist sehr teuer, eine Operation.
Stattdessen möchten Sie möglicherweise nur einmal durch alle Personenknoten gehen und den entsprechenden Personenknoten mit der Eigenschaft suchen und die Beziehung erstellen.
Auch sollten Sie eine stark erhöhte Leistung sehen, wenn Sie entweder einen Index oder eine eindeutige Einschränkung für die betreffende Eigenschaft haben. Andernfalls wird bei jedem Vergleich ein Knoten-Scan über alle Knoten in diesem Label durchgeführt, ein weiterer Faktor für die Langsamkeit Abfrage.
Ich ermutige Sie auch, die Knoten und die Beziehung nicht zurückzugeben, vorausgesetzt, dass es in der Nachbarschaft von Tausenden oder Hunderttausenden von Ergebnissen ist. Das ist wahrscheinlich ein weiterer Faktor.
match (p1:Person)
with p1
match (p2:Person)
where p2.someproperty = p1.someproperty and p1 <> p2
merge(p1)-[r:Relationship]-(p2)
sollten Sie in der Lage sein, sowohl diese Abfrage und Ihre alten zu erklären und sehen, wie sie sind beide gehen zu laufen.
vielen dank! Das funktioniert gut für mich –