gpt4 book ai didi

neo4j - 返回喜欢计数以及当前用户是否喜欢 Cypher 中的帖子

转载 作者:行者123 更新时间:2023-12-05 04:15:20 24 4
gpt4 key购买 nike

我有一个可能很愚蠢的问题,但我刚刚开始使用 Neo4j,我希望有人能帮助我学习 Cypher 语法,我刚刚开始学习和评估它。

我有两个 User 节点和一个 NewsPost 节点。两个用户都喜欢 NewsPost。我能够构建一个 Cypher 查询来计算帖子的点赞数,但我想知道是否也可以检查当前用户是否喜欢同一查询中的帖子。

到目前为止,我对 Cypher 查询的了解是

match (p:NewsPost)<-[r:LIKES]-(u:User)
where id(p) = 1
return p, count(*)

它返回帖子和喜欢计数,但我无法弄清楚“当前用户是否喜欢这篇帖子”的另一部分。我知道你不应该过滤 <id> ,但事后我才知道,我稍后会回去修复它。

那么首先,是否可以在同一个查询中回答“当前用户是否喜欢这篇文章”的问题?如果是这样,我该如何修改我的查询来做到这一点?

最佳答案

为喜欢新闻帖子的特定用户添加真/假测试的查询的最小更改是

MATCH (p:NewsPost)<-[r:LIKES]-(u:User)
WHERE ID(p) = 1
RETURN p, count(r), 0 < size(p<-[:LIKES]-(:User {email:"michael@nero.com"}))

除了您的查询之外,这会返回比较 0,它小于从新闻帖子节点通过传入的点赞关系到电子邮件地址为 michael@nero.com 的用户节点的路径大小。如果没有这样的路径,你得到 false,如果有一个或多个这样的路径,你得到 true

如果这符合您的要求,您可以继续并稍微更改查询,例如使用 RETURN ... AS ... 以获得更好的结果标识符,等等。

关于neo4j - 返回喜欢计数以及当前用户是否喜欢 Cypher 中的帖子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32498734/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com