我在设计密码查询时遇到了一些麻烦。
我有一个图形数据结构,可以及时记录一些数据,使用
(starting_node)-[:last]->(data1)-[:previous]->(data2)-[:previous]->(data3)->...
每个数据节点都有一个日期,还有一些数据作为我想要求和的属性。
现在,为了这个例子,假设我想查询上周发生的事情。我离得越近就是查询类似
start n= ... // definition of the many starting nodes here
match n-[:last]->d1, path = d1-[:previous*0..7]->dn
where dn.date > some_date_a_week_ago
不幸的是,当我得到正确的路径时,我也得到了所有的中间路径(从 2 天前,从 3 天前......等等)。
由于有很多起始节点,因此有很多可能的路径长度,我不能在我的查询中要求最长的路径。此外,dn.date
可以不同于date_a_week_ago
(如果本周只有一个数据节点,而上个月只有一个数据节点,则预期路径的长度=1)。
关于如何过滤查询中的中间路径的任何提示?
提前致谢 !
ps:顺便说一句,我对图形建模很陌生,如果需要,我会对任何需要更改图形结构的答案感兴趣。