neo4j - 在 neo4j 中获取关注者的帖子以及自己的帖子
问题描述
我将 neo4j 用于我的社交项目,用户可以在其中创建帖子,并且可以互相关注。我必须获取我的追随者的帖子以及我自己的帖子。要获取我的关注者的帖子,我使用以下查询:
MATCH (me:User {UserId: '39434e4d-d501-4fba-8aae-16cf652deb3e'})-[:FOLLOWSS|CREATED]->(f:User)-(p:Posts) RETURN p LIMIT 25
上面的查询返回我的追随者的帖子,但我无法获得自己的帖子。有人能告诉我我缺少什么来获得我自己的帖子以及我的追随者的帖子吗
MATCH (me:User {UserId: '39434e4d-d501-4fba-8aae-16cf652deb3e'})-[:FOLLOWSS]->(f:User)-[fc:CREATED|LIKED]-(p:Posts)<-[:CREATED]-(n) RETURN p LIMIT 25
我尝试了上面的查询,但它没有返回任何记录。
任何帮助将不胜感激。
谢谢。
解决方案
最简单的方法是使用可选的可变长度关系,这可以通过使用下限 0 来实现:
MATCH (me:User {UserId: '39434e4d-d501-4fba-8aae-16cf652deb3e'})-[:FOLLOWSS*0..1]->(f:User)-[:CREATED]-(p:Posts)
RETURN p LIMIT 25
是关键,因为这[:FOLLOWSS*0..1]
意味着它将包括与另一个 :User 节点具有 :FOLLOWSS 关系的模式,以及没有遍历任何关系的模式(意味着您的me
用户与 :User 节点是同一个f
节点)。
推荐阅读
- javascript - 儿童和 lastElementChild 之间的 javascript DOM 区别
- typescript - 当我收到 post 请求时如何运行 python
- amazon-web-services - 根据 serverless 错误信息定位 cloudwatch 错误日志
- node.js - Node+MongoDB基于平均值的高效查询
- sql-server-2012 - 为什么 LOGIN7 使用 TDS 协议返回空回复
- java - 本地主机上的服务器 Tomcat 9.0 服务器无法启动
- asp.net - 如何在asp.net的文本框中插入时间
- java - 访问 src 文件夹中的 txt 文件
- python - python for循环访问序列值的“in”,其中if语句访问序列索引的“in”,为什么不一致?
- google-sheets - 根据条件复制标签的数组公式