Я пытаюсь вернуть два набора узлов, а затем вернуть их как один набор.
У меня есть предложение WHERE ALL, которое разбивает запрос, и я не могу понять, почему.
Я также хотел бы знать, как объединить два набора узлов, поэтому добавьте childItems к parentItems в одном списке уровней. Я не верю, что я делаю это правильно с «+».
MATCH (ic: itemCollection)-[:CONTAINS]->(ii: itemInstance)
WITH COLLECT(ii) AS parentItem, ic, ii
OPTIONAL MATCH p = (ii)-[*]->(:item)-[:INSTANCE]->(childItem: ItemInstance)
// get asset children
SET ic.lastAccess = timestamp()
WITH parentItem, [n IN nodes(p) WHERE 'itemInstance'
IN labels(n) AND NOT(n.id = ii.id) | n] AS childItems, p, ic
// RETURN parentItem, childItems - will return the parentItem node, and the childItem nodes here, but not after the WHERE ALL clause
WHERE ALL(n IN childItems WHERE (ic)-[:CONTAINS]-(n))
//merge parent with children
WITH parentItem , childItems, p
WITH parentItem + childItems AS itemList, p
UNWIND itemList AS item
RETURN item
Любая помощь будет оценена.