Не уверен насчет конкретных графовых баз данных (я пришел к этому из построения моей собственной графовой базы данных поверх redis), но предполагая, что друг означает прямое соединение, найти общих друзей довольно просто - просто получите полный список друзей от каждого и рассчитать пересечение.
Redis имеет команду, чтобы сделать это изначально и очень быстро. Запрос SQL для этого также довольно прост. Получение всех соединений для одного узла должно быть доступно в любой графической базе данных, и даже если вам нужно получить полные списки и вычислить пересечение в коде приложения, производительность, вероятно, будет адекватной, если вам не приходится иметь дело с людьми у которых тысячи / миллионы друзей.
Там, где это становится более сложным, приходится иметь дело с косвенными отношениями - операция пересечения одинакова, но множества не существуют в необходимой форме без обхода графа, поэтому перед вычислением пересечения необходимо построить набор всех соединения второго уровня для каждого пользователя. Вы можете сделать это в качестве первого шага вашего запроса или поддерживать постоянные наборы обновленными при изменении соединений - подходящий метод зависит от того, нужно ли оптимизировать использование данных и производительность записи или производительность чтения.