我正在尝试在两个节点r
和n
之间找到关系m
,并删除该关系。这是我尝试过的:
START n=node:uid(uid = 'f9c81808-976d-4d38-8038-76bb55463b3e')
WHERE HAS (m.uid) AND m.uid='84cfdbd1-33f1-44d5-9692-9b0663887973'
MATCH (n)-[r:attachedTo]-(m)
DELETE r
任何想法如何解决这个问题?
我收到以下错误:expected return clause
答案 0 :(得分:2)
正确的查询是:
START n=node:uid(uid = 'f9c81808-976d-4d38-8038-76bb55463b3e')
MATCH (n)-[r:attachedTo]-(m)
WHERE HAS (m.uid) AND m.uid='84cfdbd1-33f1-44d5-9692-9b0663887973'
DELETE r
因为WHERE子句位于MATCH子句之后,请查看documentation。
答案 1 :(得分:1)
由于您似乎已将您的节点编入索引uid
,您应该从该索引获取两个节点,然后匹配它们之间的关系
START n=node:uid(uid='f9c81808-976d-4d38-8038-76bb55463b3e'), m=node:uid(uid='84cfdbd1-33f1-44d5-9692-9b0663887973')
MATCH n-[r:attachedTo]-m
DELETE r
答案 2 :(得分:0)
我不清楚你为什么要这样做;
n=node:uid(uid = 'f9c81808-976d-4d38-8038-76bb55463b3e')
但我认为以下查询示例可能对您有所帮助。
START n=node(*), m=node(*)
match (n)-[r]->(m)
where has(n.name) and has(m.name) and n.name='Running' and m.name = 'Photo'
delete r