0

我在 Neo4j 中有以下图表:
Book : book_id, isbn, language_code, title, image_url, small_image_url, avg_ratings,
Author : name,
Reader : id,
有 3 个关系:
(Reader)-[:Rated]->(Book) that具有属性 {rating: value},
(Reader)-[:Recommend]->(Book) ,
(Author)-[:Write]->(Book)

我想通过 Cypher 的查询找到最推荐的书。
我写了一个查询,但我不太确定,因为我不熟悉使用 count() 和 max() 运算符。

这是我的尝试:

MATCH (r:Reader) - [rel:recommend] -> (b:Book) 
RETURN count(rel), b 
ORDER BY count 
LIMIT 1
4

1 回答 1

0

我会试试这个:

MATCH (:Reader) - [:recommend] -> (b:Book) 
RETURN 
    count(1) AS `Number of Recommendations`, 
    b AS `Book`
ORDER BY `Number of Recommendations` DESC
LIMIT 1

LIMIT在你确定它正在做你想做的事情之前,我会放弃这个条款。我没有你的数据库,所以我无法对此进行测试,但也许这将作为第一次尝试。

于 2021-06-14T22:16:21.883 回答