需要适当的查询根据日期进行过滤,这是 neo4j 中的关系 属性

Need proper query to filter according to date which is a relationship property in neo4j

我有一个用户标签和一个关注关系。 Follows关系有属性ts。 我想获取在特定日期之前关注特定用户的所有用户。 但是查询没有返回任何记录。

获取所有关注者

MATCH (b) WHERE id(b) = 172  MATCH (a)-[f:Follows]->(b) RETURN f.ts

输出:

"2021-12-10T00:00:00"

获取 ts 小于或等于日期 2021 年 12 月 11 日的所有关注者

MATCH (b) WHERE id(b) = 172  MATCH (a)-[f:Follows]->(b) WHERE f.ts <= "DateTime({year:2021, month:12, day:11})" RETURN f.ts

输出:

(no changes, no records)

实际上,我想比较整个时间戳

这对我有用:

WITH "2021-12-10T00:00:00" AS ts
RETURN DateTime(ts).year <= 2022

返回 true

所以,对你来说就是

MATCH (b) 
WHERE id(b) = 172  
MATCH (a)-[f:Follows]->(b) 
WHERE DateTime(f.ts).year <= 2022 
RETURN f.ts

如果需要比较整个日期,可以

WITH "2021-12-10T00:00:00" AS ts
RETURN DateTime(ts) <= DateTime({year:2021, month:12, day: 31})