NEO4J 查找其他模式结果中不存在的记录
NEO4J find records that not exist in other pattern result
我是图形数据库世界的新手,我刚刚开始学习 neo4j。
例如。我有一个所有视频的列表和一个用户观看视频的列表。如何编写模式以根据指定的用户 ID 查询未观看的视频列表?
我假设您标记的 属性 模型看起来像这样:
- 部分用户标签为“USER”的节点
- 一些带有电影标签“MOVIE”的节点
- 某些类型为“Has_Watched”的关系表示用户已经看过电影
那么你可以这样做:
MATCH (user:USER)
WHERE user.Id = $yourId
MATCH (movie:MOVIE)
WITH user, movie
MATCH (user)
WHERE IsEmpty((user)-[:HAS_WATCHED]->(movie))
RETURN movie
基本上,您可以通过 ID 获取用户并获取所有电影。然后您只查找未通过“HAS_WATCHED”类型关系连接的电影。
我是图形数据库世界的新手,我刚刚开始学习 neo4j。
例如。我有一个所有视频的列表和一个用户观看视频的列表。如何编写模式以根据指定的用户 ID 查询未观看的视频列表?
我假设您标记的 属性 模型看起来像这样:
- 部分用户标签为“USER”的节点
- 一些带有电影标签“MOVIE”的节点
- 某些类型为“Has_Watched”的关系表示用户已经看过电影
那么你可以这样做:
MATCH (user:USER)
WHERE user.Id = $yourId
MATCH (movie:MOVIE)
WITH user, movie
MATCH (user)
WHERE IsEmpty((user)-[:HAS_WATCHED]->(movie))
RETURN movie
基本上,您可以通过 ID 获取用户并获取所有电影。然后您只查找未通过“HAS_WATCHED”类型关系连接的电影。