Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
带有collect和delete子句的neo4j查询问题_Neo4j_Cypher - Fatal编程技术网

带有collect和delete子句的neo4j查询问题

带有collect和delete子句的neo4j查询问题,neo4j,cypher,Neo4j,Cypher,我是neo4j的新手。根据我的要求,我需要获取ID列表(collect)并在同一查询中删除节点 在下面的查询中,当我只返回ID时,我得到了正确的结果,即;2个ID START n=node:galleryid(galleryid='f0666ac5-9f61-4431-80b1-c9719ef8c1f9') MATCH n-[rels*1..]->p WITH n, rels, p, collect(p.photouniqueid) as photoids RETURN photoi

我是neo4j的新手。根据我的要求,我需要获取ID列表(collect)并在同一查询中删除节点

在下面的查询中,当我只返回ID时,我得到了正确的结果,即;2个ID

START n=node:galleryid(galleryid='f0666ac5-9f61-4431-80b1-c9719ef8c1f9') 
MATCH n-[rels*1..]->p 
WITH n, rels, p, collect(p.photouniqueid) as photoids 
RETURN photoids;
结果与预期一致并已获得:
[“3dcd792b-9eed-4a74-826a-6801c9f2b707”][“e5c91a60-41cf-4afb-8aa6-49a4af00dd38”]

但是当我尝试将delete子句附加到查询时,我只得到一个id

START n=node:galleryid(galleryid='f0666ac5-9f61-4431-80b1-c9719ef8c1f9') 
MATCH n-[rels*1..]->p WITH n, rels, p, collect(p.photouniqueid) as photosid 
FOREACH(rel IN rels: DELETE rel) 
DELETE p 
WITH n, photosid 
MATCH n<-[r]-() 
DELETE n, r 
RETURN photosid;

Result - ["3dcd792b-9eed-4a74-826a-6801c9f2b707"]
==> 1 row
==> Nodes deleted: 3
==> Relationships deleted: 3
START n=node:galleryid(galleryid='f0666ac5-9f61-4431-80b1-c9719ef8c1f9')
将n-[rels*1..]>p与n,rels,p,collect(p.photouniqueid)匹配为photoid
FOREACH(rel中的rel:删除rel)
删除p
用n,photoId
匹配n 1行
==>已删除节点:3个
==>删除的关系:3
有人能提出第二个问题吗?谢谢你的帮助。

试试这个:

START n=node:galleryid(galleryid='f0666ac5-9f61-4431-80b1-c9719ef8c1f9') 
MATCH n-[rels*1..]->p 
WITH n, collect(path as paths) collect(p.photouniqueid) as photosid 
FOREACH(p IN paths: 
  FOREACH(r in rels(p) :  DELETE rel)
  FOREACH(x in tail(nodes(p)) : DELETE x)
)
WITH n, photosid
MATCH n<-[r]-() 
DELETE n, r 
RETURN photosid;
START n=node:galleryid(galleryid='f0666ac5-9f61-4431-80b1-c9719ef8c1f9')
匹配n-[rels*1..]->p
使用n,collect(路径作为路径)collect(p.photouniqueid)作为photoid
路径中的FOREACH(p:
FOREACH(rels中的r(p):删除rel)
FOREACH(尾部的x(节点(p)):删除x)
)
用n,photoId

匹配您可能会删除下一个匹配所需的中间关系。试着事先汇总你需要的结果。