我正在尝试删除除一个子节点之外的子节点。
当我执行这个Cypher时:
MATCH (n{name:'Java'})-[r]-(c)
return c.name
我得到了可能的节点名称,但我只需要最长的节点名称,我必须删除其余的节点及其关系。
答案 0 :(得分:1)
此查询应该有效:
MATCH (n{name:'Java'})--(c)
WHERE EXISTS(c.name)
WITH c ORDER BY LENGTH(c.name) DESC
SKIP 1
DETACH DELETE c;
它找到具有c
属性的所有name
个节点,按name
值的长度按降序排序,跳过最长的c
节点名称,并使用DETACH DELETE
删除其他c
个节点及其所有关系。