2015-07-27 5 views

ответ

1

Общий ответ

MATCH (n)-[r]-() 
RETURN n, COUNT(r) 

но есть несколько спецификаций этого шаблона, которые вы, вероятно, хотите сделать. Если у вас есть другие узлы, чем пользователи, вы можете ограничить запрос пользователями, предоставив им и запросив этикетку. Вы также можете рассчитывать только на определенный тип отношений или только на конкретное направление, поэтому вы также добавляете эти части шаблона.

Если пользователи людей, и вы хотите запросить, сколько раз каждый пользователь назвал других пользователей по телефону запрос может выглядеть

MATCH (n:Users)-[r:CALLED]->(:User) 
RETURN n.name as user , COUNT(r) as phone_calls_made 

Если [:CALLED] отношения только когда-либо получает от пользователей, вы можете снимите вторую метку :User в первой строке.

1

Матч User и все отношения и вернуть count:

MATCH (n:User) 
OPTIONAL MATCH (n)-[r]-() 
RETURN n, count(DISTINCT r) 
2

быстрый способ, использует node.getDegree внутренне.

Вы можете разделить ретушь также по направлению и типу отношения.

MATCH (n:User) 
RETURN n, size((n)--()) as degree 
Смежные вопросы