Neo4j中的关联衰变

Neo4j中的关联衰变,neo4j,Neo4j,我正在为一个项目评估neo4j。总的来说,它似乎很适合我的需要,但我有一个要求,我不确定 我需要能够在两个节点之间创建随时间衰减的关系 neo4j支持这样的事情吗?或者有人知道这样做的巧妙方法吗?要首先获得“最新鲜”的关系,您可以根据存储的时间戳按降序对关系进行排序 例如: MATCH (f:Foo {id: 123})-[b:BAR]->() RETURN b ORDER BY b.stored_timestamp DESC; 我认为Neo4j不支持这样的事情。基本上,您希望为关系分配

我正在为一个项目评估neo4j。总的来说,它似乎很适合我的需要,但我有一个要求,我不确定

我需要能够在两个节点之间创建随时间衰减的关系

neo4j支持这样的事情吗?或者有人知道这样做的巧妙方法吗?

要首先获得“最新鲜”的关系,您可以根据存储的时间戳按降序对关系进行排序

例如:

MATCH (f:Foo {id: 123})-[b:BAR]->()
RETURN b
ORDER BY b.stored_timestamp DESC;

我认为Neo4j不支持这样的事情。基本上,您希望为关系分配一个TTL值(例如2天)?不完全是这样。它需要逐渐衰变。也可以通过创建一个带有时间戳的关系,然后使用类似于以下行的函数:score=1/(now()-stored_timestamp)。想想随着时间的推移,这种关系会失去“权力”。我想稍后返回按结果关系的强度排序的连接节点。我需要更多类似于<代码>按1/timestamp()-b.stored\u timestamp DESC返回f订单。我想你的意思是
1/(timestamp()-b.stored\u timestamp)
?对于较旧的
存储的\u timestamp
值,该值会较小,因此您的
按顺序。。。DESC
子句将首先对最近的
存储的\u时间戳
值进行排序。只需使用b.stored\u timestamp DESC,您就可以获得相同的效果。