Верните узлы, которые были успешно удалены

#neo4j #cypher

Вопрос:

Я использую следующий запрос для удаления узлов и связей:

 MATCH (p:Post), (u:User)
WHERE
 p.name IN ["Latest Post"]
 AND u.id = 1
 AND (p)-[:POST_OWNED_BY]->(u)
 DETACH DELETE p
 

Если я передам несколько имен записей, я хотел бы иметь возможность возвращать имена узлов, которые были успешно удалены.
Я использую менеджер neo4j, использующий существующую новую транзакцию(сеанс, tx, запрос) для фиксации запроса.
Любая ссылка или руководство о том, как вернуть успешно удаленные узлы?

Ответ №1:

Это должно сделать это

 MATCH (p:Post), (u:User)
WHERE
 p.name IN ["Latest Post"]
 AND u.id = 1
 AND (p)-[:POST_OWNED_BY]->(u)

// make sure you store the p.name
WITH p, p.name AS deletedName

 DETACH DELETE p

// return the name
RETURN deletedName