neo4j - Neo4J 检查用户是否关注我
问题描述
我正在follower
用 neo4j 构建模型。用户 A [:Follows] -> 用户 B 和用户 B 也可以这样做。
A 是 B 的追随者。获取此信息是直截了当的。但是,如果 B [:Follows] -> A 与否,我也想同时获取信息。
有没有办法提取这些信息?
解决方案
您可以通过添加反向路径的可选匹配然后将此路径分配给变量来实现。然后使用 CASE 语句测试 RETURN 中变量的长度以获得结果
例如
MATCH (ua:User {name:"bob"})-[:Follows]->(ub:User {name:"Bill"})
OPTIONAL MATCH p = (ub)-[r:Follows]->(ua)
RETURN ua.name, ub.name, CASE WHEN LENGTH(p) > 0 THEN 'yes' ELSE 'no' END AS follows_back
这将返回:“bob”、“bill”、“yes”或“bob”、“bill”、“no”
推荐阅读
- docker - Docker-compose 标记和推送
- html - 在不更改子标签 CSS 的情况下防止子标签宽度
- javascript - 如何将reducer case函数更改为不可变js
- php - 如果我将 shell_exec 用于需要密码的命令该怎么办
- python - Python - Ctypes CFUNCTYPE 在 ARM 设备中崩溃
- google-cloud-platform - 是否可以使用内部 IP 创建 GKE 入口控制器?
- android - 如何将 POST 请求的正文读入 Android WebView
- aws-lambda - 你如何在 lambda 之外进行异步设置?
- html - Bootstrap 4.1 之间的浮动徽标
- mysql - 通过其用户获取属于某个组的用户数和属于该组的订单数