Prev |  | Next

## 7.5. Basic friend finding based on social neighborhood

Imagine an example graph like the following one:

Figure 7.4. Graph

To find out the friends of Joe’s friends that are not already his friends, the query looks like this:

Query.

    START joe=node:node_auto_index(name = "Joe")
    MATCH joe-[:knows*2..2]-friend_of_friend
    WHERE not(joe-[:knows]-friend_of_friend)
    RETURN friend_of_friend.name, COUNT(*)
    ORDER BY COUNT(*) DESC, friend_of_friend.name

This returns a list of friends-of-friends ordered by the number of connections to them, and secondly by their name.

Result

friend_of_friend.name | COUNT(*)
--- | ---
3 rows
0 ms
`"Ian"` | `2`
`"Derrick"` | `1`
`"Jill"` | `1`

Copyright © 2013 Neo Technology

Prev | Up | Next
| Home |