5.9. Find friends based on similar tagging

Figure 5.7. Graph


To find people similar to me based on the taggings of their favorited items, one approach could be:

Query. 

MATCH
  (me)-[:favorite]->(myFavorites)-[:tagged]->(tag)<-[:tagged]-(theirFavorites)<-[:favorite]-(people)
WHERE me.name = 'Joe' AND NOT me=people
RETURN people.name AS name, count(*) AS similar_favs
ORDER BY similar_favs DESC

The query returns the list of possible friends ranked by them liking similar stuff that are not yet friends.

Result

namesimilar_favs
2 rows

"Sara"

2

"Derrick"

1