在Neo4j上有没有办法获取一段时间后创建的所有新节点的列表?就像一个内置的改变饲料?
我知道这可以通过遍历整个图表并比较节点的日期是否为>来完成。比之前设定的门槛值。
然而,这至少不是最佳的,并且在1000万节点图上表现不佳。
有没有办法知道是否添加了新节点? (或关系)某种改变饲料,如内置的布隆过滤器?
如果没有,有关每隔x分钟获取更改的任何想法吗?
答案 0 :(得分:1)
你试过INDEX吗?使用索引可以提高查询性能。尝试在属性中创建与节点创建时间相关的索引。
30 3 2017-07-12 15:26:36.753 15000.00 0.00 15000.00
31 3 2017-07-12 15:26:36.753 0.00 1000.00 14000.00
创建节点后,您可以使用timestamp()函数并将当前时间戳保存在CREATE INDEX ON :Person(created_at)
个节点的属性created_at
中。
:Person
然后,您可以通过CREATE (:Person {name:'Jon', created_at: timestamp()})
CREATE (:Person {name:'Doe', created_at: timestamp()})
节点的created_at
属性进行查询,并使用索引。
:Person
此外,如果您不需要同时在给定时间戳之后修改所有节点,则可以在查询中进行分页,并使用SKIP和{{3}处理整个数据的各个部分}。
MATCH (p:Person)
WHERE p.created_at > 1502882338889 // given a timestamp...
RETURN p