我根据日期在链中订购了事件。见example。我想获得在特定日期发生的子路径。让我们说日期已知。我写了这个:
START d=node(73) // date node
MATCH node=d-[:WHEN]->(l)<-[:FOLLOWS*0..]-(f)<-[:WHEN]-d RETURN f,l;
它似乎或多或少都有效。但我有两个问题:
l
中的第一个元素是否可能是路径中的最后一个元素?我认为如果我知道要查找的子路径中的最后一个元素,那么构造路径会更容易。获得属于这个日期的最后一个元素是否可行(这意味着最后一个元素应该属于这个日期,而他旁边应该缺席或属于另一个日期)?
更新:我找到了一种将值合并到收集中的方法:
START d=node(74)
MATCH node=d-[:WHEN]->(l)<-[:FOLLOWS*0..]-(f)<-[:WHEN]-d WITH [ f,l ] as qwe
RETURN qwe;
答案 0 :(得分:1)
如果您对可以做的路径感兴趣:
START d=node(73) // date node
MATCH (d)-[:WHEN]->(l),(d)-[:WHEN]->(f),
path=(l)<-[:FOLLOWS*0..]-(f)
RETURN path;
or
RETURN nodes(path)
关于订单,当您提供方向时,这是在您的路径中订购节点的顺序。