Вы иметь переменную длину пути без указания верхней границы в этой строке:
MATCH (c)<-[r:DEPT_OF]-(dept:Dept)-[*]-(n2) WITH r, dept, n2 LIMIT 10
Это приведет много прохождений. Позволяет ли ваша модель данных определять верхнюю границу числа переходов в соответствии с n2
. Кроме того, вы должны указать ярлык или метки для n2
.
Кроме того, вам не нужно включать r
в инструкцию DETACH DELETE
. Любые существующие отношения удаляемого узла также будут удалены при использовании DETACH DELETE
.
Редактировать
Шаблон (dept:Dept)-[*]-(n2)
указует на двунаправленный пути любой длины (без верхнего предела). Чтобы указать верхнюю границу пути переменной длины, просто замените фигуру (dept:Dept)-[*]-(n2)
рисунком (dept:Dept)-[*1..3]-(n2)
. Это ограничит длину путей, пройденных до трех отношений между (dept:Dept)
и (n2)
(хотя это может быть неприемлемо для вашей модели данных). Также было бы хорошо, чтобы добавить метки и направление отношения к образцу (подходит для вашей модели данных), что-то вроде:
MATCH (c)<-[r:DEPT_OF]-(dept:Dept)<-[:BELONGS_TO*1..2]-(n2:Product) WITH r, dept, n2 LIMIT 10
Я не уверен, что такое изменение или должно быть? Я очень новичок в neo4j. Можете ли вы изменить мой шифр, чтобы я мог понять, что вы имеете в виду? –
@ skone Я добавил некоторые особенности в моем редактировании –