2014-01-06 11 views
5

我已经在这些内创建了一些节点和关系。但是在做这些事情时发生了错误。我想删除有“SGS”的所有节点,除了与ID 2如何使用密码在neo4j 2.0中删除节点或与NULL属性的关系

以下节点的剧本我跑到创建节点和关系:

(也请建议如何修改这一条,如果可能的话)

我试着用一些不同的试验和错误方法删除(与匹配,其中,IS NULL等),但无法实现相同。请帮忙。

+0

嗨,因为这是我对SE的第一个问题,你可能会发现它凌乱。这次我要求你给我裸露。 – ShreyansS

+0

关于您的查询,您在15行 –

回答

7

它看起来像所有的节点都有一个名称,除了你想要删除的节点。 所以,你可以尝试

match n 
WHERE NOT (HAS (n.name)) //find all nodes with no name property 
with n 
match n-[r]-() //find all nodes connected to that node 
delete r,n //delete its relations and then the node itself 

(注意不是测试)

看起来像你上面创建的语句,你使用(RKN),而不是(RK),也可能是(写回信),而不是其他其他。因此(rkn) - [:READ] - >(bk1)将只创建一个没有属性的节点来表示rkn,并且与OneNight @ CallCenter具有READ关系​​。你只需要验证和修复这些。

例如这些关系都指向一个名为(rkn)的节点,所以我将create语句中的rk节点重命名为rkn。还请确认您在关系中引用的每个节点实际上都映射到create语句中的一个节点。

NOTE: HAS is no longer supported in Cypher, please use EXISTS instead!

+0

感谢卢安妮在那里有一个“
”,它的工作。我刚刚在3天前开始研究这项技术,所以不知道“WITH/HAS”等。是否可以回答如何编辑相同的内容(我在创作时犯了什么错误)? – ShreyansS

+0

编辑,请 – Luanne

+0

我试着用这个早(我所知,关于使用唯一的),但得到了(可是越来越)同样的错误:不支持CREATE UNIQUE这种模式。 – ShreyansS

0

这一个为我工作

match (n) WHERE NOT (EXISTS (n.name)) DETACH DELETE n 
相关问题