Используя язык запросов Neo4j's 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
Вы можете выполнить эти зашифрованные запросы в Neo4j Webadmin Console * в вашем наборе данных, но также и в оболочке neo4j, удаленно через Cypher-Rest-плагин через Spring Data Graph .
Существует также скринкаст , в котором обсуждаются похожие запросы на шифре.
Вы также можете использовать Gremlin , Neo4j-Traversers или ручного перемещения по getRelationships
, если хотите.