Neo4j将路径大小大于3的地方合并到定义了两个不同节点标签的查询中

Neo4j将路径大小大于3的地方合并到定义了两个不同节点标签的查询中,neo4j,cypher,Neo4j,Cypher,以下查询返回试图发送包含链接或附件但未能发送给收件人的电子邮件的节点和关系 MATCH (s:Sender)-[:ATTEMPTED]->(x)-[:FAILED_TO]->(r:Recipient) WHERE x:Link OR x:Attachment return s,x,r 我想对此进行修改,这样我就可以通过添加以下内容来说明链中有3个以上的收件人: WITH a, COLLECT(path) AS paths WHERE SIZE(paths) > 3 RETUR

以下查询返回试图发送包含链接或附件但未能发送给收件人的电子邮件的节点和关系

MATCH (s:Sender)-[:ATTEMPTED]->(x)-[:FAILED_TO]->(r:Recipient)
WHERE x:Link OR x:Attachment
return s,x,r
我想对此进行修改,这样我就可以通过添加以下内容来说明链中有3个以上的收件人:

WITH a, COLLECT(path) AS paths
WHERE SIZE(paths) > 3
RETURN paths

也许是这样的

MATCH (s:Sender)-[:ATTEMPTED]->(x)
WHERE size((x)-[:FAILED_TO]->()) > 3 AND (x:Link OR x:Attachment)
MATCH (x)-[:FAILED_TO]->(r:Recipient)
return s,x,r
因此,您首先查询x个节点,这些节点有3个以上失败的\u-TO关系。找到他们后,您将搜索他们的收件人