【发布时间】:2015-03-31 06:59:45
【问题描述】:
我有一个查询,我不确定如何实现或者在cypher 中执行是否有效。无论如何,这就是我想要做的。
我基本上有这个图表:
我想获取从1 到3 的所有nodes/relationships(注意:空节点可以是任意数量的节点)。我还想要所有,如果有,来自最后两个节点的传入边,并且只有最后两个不在原始路径中的节点。在这种情况下,红色的边也应该添加到结果中。
我已经知道我想要的路径。所以在这个例子中,我会得到节点 ID 1, ..., 2, 3,我想我知道如何获取第一部分的路径。
MATCH (n)-->() WHERE n.nid IN ['1', '...', '2', '3'] RETURN n
我只是不知道如何获得路径中最后两个节点的红色边缘。另外,我没有得到节点 ID 4 和 5。我们可以假设连接 1, ..., 2, 3 的边都具有相同的 label,而所有其他边都有不同的 label。
我想我需要使用merge,但还不知道怎么做。
或者如果有人知道如何在 gremlin 中执行此操作,我会全力以赴。
【问题讨论】: