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

Neo4J/Cypher:如何筛选关系中具有最新日期的路径?,neo4j,cypher,Neo4j,Cypher,我对Cypher有了新的认识 (p:Person)-[e:Evaluated {rating:3, characteristic: "quality of kitchen", date: 14-09-2009})->(h:House {adress: xyz}) 每栋房子都有多重特征。 每所房子都有多次评级(在不同的日期) 我想要实现的是匹配路径(p)-[e]-(h),但我只想筛选具有最新评估日期的路径 这条路径是进一步分析的起点 此筛选器可能与with或WHERE函

我对Cypher有了新的认识

(p:Person)-[e:Evaluated {rating:3, characteristic: "quality of kitchen", date: 14-09-2009})->(h:House {adress: xyz})
每栋房子都有多重特征。 每所房子都有多次评级(在不同的日期)

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

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

此筛选器可能与with或WHERE函数一起使用,但在与查询进行了大量的斗争之后,我在这里碰碰运气:)

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

您可以使用
ORDER BY
LIMIT
获得单个最新结果:

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
看看