Neo4j节点覆盖

hpcdzsge  于 2022-10-21  发布在  其他
关注(0)|答案(1)|浏览(210)

我希望定期刷新我的neo4j数据库中的节点数据。我的需求的一个很好的例子是公司员工--如果一个员工被解雇,他们将从图表中完全删除,并添加新的员工。
真的,删除这个标签的所有节点并获取一个新的数据集可能就足够了--但感觉相当难看。有没有更优雅的解决方案?我的最新数据存在于CSV中,我想每天获取这些数据。

nxowjjhe

nxowjjhe1#

您可以在您的节点上放置“上次更新”的时间戳。每天,使用MERGE进行更新。如果数据库上存在CSV数据,则使用MERGEON MATCH子句更新时间戳。如果CSV数据不存在,MERGE将创建新节点(确保添加某种描述的时间戳属性)。例如:

MERGE (n:Person {<selection_filter>})
  ON CREATE SET <required_properties>, n.lastUpdated = date()
  ON MATCH SET
    n.lastUpdated = date()

在使用CSV数据更新图形之后,运行一个查询,该查询删除时间戳在今天之前的所有节点;即尚未更新。您可能会发现,在lastUpated上创建索引将提高删除查询的性能。

相关问题