显示数据库中除此特定用户已阅读 neo4j 之外的所有书籍
Show all the books in database except the ones this specific user has read neo4j
我在 Neo4j 中有一个简单的数据库,其中包含有关用户、他们的朋友和他们阅读的书籍的信息。我需要编写一个查询来显示特定用户的朋友阅读的所有书籍(对当前用户的某种推荐)。
假设我想查看名为“Sophia”的用户的朋友阅读的书籍。我如何在 neo4j 中执行此操作?
my database schema
您应该可以通过运行下面的查询获得那些书:
MATCH (sophia: User {name: "Sophia"})-[:FRIENDS_WITH]->(friends: User)-[:READ]->(book: Book)
RETURN book
如果您只想包含 Sophia 未读过的书籍,下面的查询应该有效:
MATCH (sophia: User {name: "Sophia"})-[:FRIENDS_WITH]->(friends: User)-[:READ]->(book: Book)
WHERE NOT EXISTS ((sophia)-[:READ]->(book))
RETURN book
我在 Neo4j 中有一个简单的数据库,其中包含有关用户、他们的朋友和他们阅读的书籍的信息。我需要编写一个查询来显示特定用户的朋友阅读的所有书籍(对当前用户的某种推荐)。 假设我想查看名为“Sophia”的用户的朋友阅读的书籍。我如何在 neo4j 中执行此操作?
my database schema
您应该可以通过运行下面的查询获得那些书:
MATCH (sophia: User {name: "Sophia"})-[:FRIENDS_WITH]->(friends: User)-[:READ]->(book: Book)
RETURN book
如果您只想包含 Sophia 未读过的书籍,下面的查询应该有效:
MATCH (sophia: User {name: "Sophia"})-[:FRIENDS_WITH]->(friends: User)-[:READ]->(book: Book)
WHERE NOT EXISTS ((sophia)-[:READ]->(book))
RETURN book