我正在使用Neo4j CE 3.1.1,並且我與作者和書籍之間存在關係WRITES。我想找到作者數量最多的N(例如N = 10)書籍。下面的一些例子,我發現,我想出了查詢:Neo4j:查詢找到具有最多關係的節點及其連接的節點
MATCH (a)-[r:WRITES]->(b)
RETURN r,
COUNT(r) ORDER BY COUNT(r) DESC LIMIT 10
當我在Neo4j的瀏覽器中執行此查詢,我得到了10本書,但這些並不像大多數作者所寫的那些,因爲它們顯示只有幾個WRITES與作者的關係。如果我更改查詢到
MATCH (a)-[r:WRITES]->(b)
RETURN b,
COUNT(r) ORDER BY COUNT(r) DESC LIMIT 10
然後我得到了10本書最作家,但我沒有看到他們的作者的關係。要做到這一點,我必須寫額外的查詢中顯式聲明書我在前面的查詢中找到的名稱:
MATCH()-[r:WRITES]->(b)
WHERE b.title="Title of a book with many authors"
RETURN r
我在做什麼錯?爲什麼不是第一個查詢按預期工作?
非常感謝! – st1led
當然可以!雖然你可能想要首先分析查詢,但我給出的第一個可能不會像表格一樣,因爲它會在大圖上進行大量的收集。 – InverseFalcon