Imagine an example graph like the following one:
To find out the friends of Joe’s friends that are not already his friends, the query looks like this:
Query.
MATCH (joe { name: '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.
Copyright © 2014 Neo Technology