使用的Neo4j的Cypher查詢語言,你可以寫你的查詢是這樣的:
選擇排名前20位最受好評的餐廳,排序由恆星和評論的數量朋友的
start user=(users,name,'Nico')
match user-[:FRIEND]->friend-[r,:RATED]->restaurant-[:SERVES]->food,
user-[:LIKES]->food,user-[:RATED]->rated_by_me
where r.stars > 3
return restaurant.name, avg(r.stars), count(*)
order by avg(r.stars) desc, count(*) desc
limit 20
朋友
start user=(users,name,'Nico')
match user-[:FRIEND]->friend->[:FRIEND]->foaf
return foaf, foaf.name
您可以通過Spring Data Graph通過Cypher-Rest-Plugin在數據集中執行Neo4j Webadmin Console中的這些密碼查詢,但也可以在neo4j-shell中執行這些密碼查詢。
還有一個screencast在cypher中討論類似的查詢。
如果您願意,您也可以使用Gremlin,Neo4j-Traversers或通過getRelationships
手動遍歷。
謝謝邁克爾。我去你的SO配置文件找到一種方式來聯繫你,期待一個正常的編碼器,但你是一個搖滾明星:) 你做諮詢嗎?或者你可以讓我和某人聯繫? – NicoGranelli
感謝您的好評。您可以通過訂閱Neo4j郵件列表與我聯繫。我們Neo Technology也在做諮詢。 –
嗨@MichaelHunger,我發佈了一個查詢(http://stackoverflow.com/questions/17721173/neo4j-user-suggestion-with-mutual-count/17831172?noredirect=1#comment26066269_17831172),你能幫我一個忙嗎?這個?以及我如何在郵件列表中訂閱你。我想知道你的諮詢和收費。謝謝 –