Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是否有可能找出在一段时间间隔内对neo4j db所做的更改?_Neo4j - Fatal编程技术网

是否有可能找出在一段时间间隔内对neo4j db所做的更改?

是否有可能找出在一段时间间隔内对neo4j db所做的更改?,neo4j,Neo4j,是否有可能找出在一段时间间隔内对neo4j db所做的更新/修改/更改 NEO4J DB将定期进行轮询,以查找在该时间段内发生的变化 然后这些更改必须与其他数据库同步。这是真正的任务 这里的更改包括添加、更新、删除节点、关系和属性 我们如何跟踪在特定时间段内所做的更改。并非所有节点和关系都设置了时间戳 为每个节点和关系添加一个时间戳字段,在创建时插入时间戳()。然后编写一个密码查询以返回给定时间范围内的所有节点和关系 编辑 有两种方法可以实现此同步 选择1 如果您可以使用SpringDataNe

是否有可能找出在一段时间间隔内对neo4j db所做的更新/修改/更改

NEO4J DB将定期进行轮询,以查找在该时间段内发生的变化

然后这些更改必须与其他数据库同步。这是真正的任务

这里的更改包括添加、更新、删除节点、关系和属性


我们如何跟踪在特定时间段内所做的更改。并非所有节点和关系都设置了时间戳

为每个节点和关系添加一个时间戳字段,在创建时插入时间戳()。然后编写一个密码查询以返回给定时间范围内的所有节点和关系

编辑

有两种方法可以实现此同步

选择1

如果您可以使用SpringDataNeo4j,那么您可以使用生命周期事件作为截获CUD操作,并同步或异步执行必要的同步

选择2


如果您不能使用Spring,那么您需要自己实现拦截代码。我能想到的最好的方法是将所有CUD操作发布到一个主题,然后写入订阅者,每个订阅者都可以同步到每个存储。在您的例子中,有Neo4jSubscriber、DbOneSubscriber、Db2Subscriber等。有一种叫做时间树的东西,您可以使用年、月和日节点来跟踪更改,也可以使用它来获取历史记录。 在将相关对象节点与日/月或年节点关联时,还需要确保在相关对象节点上设置更改的属性/属性


我希望这有助于某人

高效地从Cypher查询时间戳字段(按范围)是最困难的部分:(@WesFreeman我们不能将时间戳存储为一个长字段并使用范围函数吗?是的,如果您使用旧索引,这是真的。新索引还没有范围查找。感谢您的响应panega..但不幸的是,它不符合我的要求..我刚才重新表述了我的要求。@sujanaummani检查我更新的答案。如果我有一个回答你的问题,然后接受这个作为答案。把你的问题分成几段怎么样?