需要适当的查询根据日期进行过滤,这是 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})
我有一个用户标签和一个关注关系。 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})