Я пытаюсь создать связанный список с neo4j и иметь корневой узел без связей. Вот псевдо высчитывать Я пытаюсь создать, но я не знаю, как, или даже, если это возможно:Создание отношения условно с cypher (neo4j)
START root=node(1), item=node(2)
MATCH root-[old?:LINK]->last
WHERE old IS NOT NULL
CREATE root-[:LINK]->item-[:LINK]->last
DELETE old
WHERE old IS NULL
CREATE root-[:LINK]->item
В основном я пытаюсь вставить узел в список, если список существует, и просто создайте первый элемент списка иначе. Очевидно, вы не можете сделать несколько WHERE
s, как я сделал выше. Любые идеи, как я могу достичь этой желаемой функциональности с помощью cypher?
Документы разрешают проблему, сначала создавая повторяющееся отношение :LINK
к корневому узлу, но я бы хотел решить эту проблему, не делая этого (поскольку тогда вам необходимо создать возможно ненужные отношения для каждого узла).
Я посмотрел на обоих этих Документах. Как я уже сказал в своем вопросе, пример связанного списка требует, чтобы вы сначала создали повторяющиеся отношения, которые я хотел избежать. «MERGE» будет замечательным, за исключением того, что вы не можете выполнить условное 'CREATE'. –