我有3个节点:
- 用户(
id
、age
)。 - 额定值(
isbn
、id
、rating
(其值为0
到10
))。 - 书籍(
isbn
,title
,...)
关系:
Users - [GIVE_RATINGS]-Ratings -[BELONGS_TO]- Books
我需要创建一个推荐,其中输入将是读者喜欢的一本或多本书,输出将是那些评分为正面的用户也给读者已经读过的书打分的书。
我尝试创建这样的查询,但它不起作用。
MATCH (u:Users{id:'11676'})-[:GIVE_RATING]->(book)<-[:GIVE_RATING]-(person), (person)-[:GIVE_RATING]->(book2)<-[:GIVE_RATING]-(r:Ratings{rating:'9'})
WHERE NOT EXIST (book2)-[:GIVE_RATING]->(u)
RETURN book2.isbn,person.id
1条答案
按热度按时间yhived7q1#
您可能希望将评分存储为整数或浮点数,而不是字符串,最好在新版本中使用
[not] exists { pattern }
常见的建议语句如下所示:
您还可以在用户和图书之间的关系上表示您的评级信息,而不需要额外的Node。