Neo4J/Cypher:如何筛选关系中最新日期的路径



I是Cypher查询的新手。

(p:Person)-[e:Evaluated {rating:3, characteristic: "quality of kitchen", date: 14-09-2009})->(h:House {adress: xyz})

每栋房子都有多种特征。每栋房子都会被多次评级(在不同的日期(。

我想实现的是匹配路径(p(-[e]-(h(,但我只想筛选具有最近评估日期的路径。

这条路径是进一步分析的起点。

这个过滤器可能应该与with或WHERE函数一起使用,但在与查询进行了大量斗争之后,我在这里碰碰运气:(

为了简单起见,我假设您将首先更改date属性以便于排序(例如,您使用日期值,或者使用格式"2009-09-14'"(

您可以使用ORDER BYLIMIT来获得单个最新结果:

MATCH (p:Person)-[e:Evaluated {rating:3, characteristic: "quality of kitchen"}]->(h:House {address: '123 Main St'})
RETURN p, e, h
ORDER BY e.date DESC
LIMIT 1

最新更新