Neo4j将路径大小大于3合并到我的查询中,该查询定义了2个不同的节点标签

问题描述 投票:0回答:1

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

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
neo4j cypher
1个回答
1
投票

也许是这样?

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

因此,您首先查询具有3个以上FAILED_TO关系的x个节点。找到他们之后,您将搜索他们的收件人。

© www.soinside.com 2019 - 2024. All rights reserved.