删除n最后一个关系neo4j
我有一个图表,其中包含用户之间的关系,显示了用户喜欢他人的个人资料,以及何时:删除n最后一个关系neo4j,neo4j,cypher,Neo4j,Cypher,我有一个图表,其中包含用户之间的关系,显示了用户喜欢他人的个人资料,以及何时: (liker:User)-[:LIKED]->(target:User) 但我不想储存每一样东西,因为时间不够了。我只想要用户喜欢的最后200个用户。因此,在添加新关系之前,我必须删除第201个关系,但我不知道如何删除它 我怎样才能做到这一点?您需要在模式中提供更多信息,因为您需要知道“喜欢的人”与“目标人”的连接顺序,以便删除201st。注意:id(rel)的排序顺序不能依赖于重复使用id时目标的排序顺序 MATC
(liker:User)-[:LIKED]->(target:User)
但我不想储存每一样东西,因为时间不够了。我只想要用户喜欢的最后200个用户。因此,在添加新关系之前,我必须删除第201个关系,但我不知道如何删除它
我怎样才能做到这一点?您需要在模式中提供更多信息,因为您需要知道“喜欢的人”与“目标人”的连接顺序,以便删除201st。注意:
id(rel)
的排序顺序不能依赖于重复使用id时目标的排序顺序
MATCH (:User {username: "Bobby"})-[r:LIKED]->(:User)
WITH r ORDER BY r.date DESC SKIP 200
DELETE r
假设将dateTime
,likedOn
属性添加到:LIKED
关系中,则可以执行以下操作:
MATCH (liker:User)-[rel:LIKED]-(target:User)
WITH rel
ORDER BY rel.likeOn DESC
SKIP 200
DELETE rel
您需要按降序对关系进行排序,以便将最新的目标保留在中间结果集的顶部,以便跳过它们并删除最长的目标