如何找到在查询一个节点的其他关系,Cypher支架
问题描述:
我的图是这样的:如何找到在查询一个节点的其他关系,Cypher支架
a-[sends]->b-[sends]->d
c-[sends]->d
a-[hostedOn]->S1
a-[hostedOn]->S3
b-[hostedOn]->S1
b-[hostedOn]->S2
我有过滤器上的财产“发送”的关系,并返回所期望的结果的查询。现在我也希望在同一个查询中,如果我也可以让它返回“hostedOn”。说,我的输出是B - [发送] - > D,我怎么也可以在同一个输出b- [hostedOn] - > S1 & S2?根据应用在“发送”关系上的滤波器,每次都会改变d&。
答
鉴于所提供的信息非常少,以下是一种可能的解决方案。许多解决方案都是可能的,具体取决于您需要返回的内容以及是否需要进行汇总。
MATCH (a)-[r:sends]->(b)
WHERE r.foo = "bar"
MATCH (a)-[r1:hostedOn]->(s1), (b)-[r2:hostedOn]->(s2)
RETURN a, r, b, r1, s1, r2, s2;
这个查询假设所有a
和b
节点也必须有:hostedOn
关系,所以没有OPTIONAL MATCH
条款。
+0
非常感谢!这有助于增加我的理解:) – Aseem
也许分享你所指的查询? – Luanne