Надеюсь, это вам немного поможет:
MATCH (gt:GraphTarget)
MATCH path_account = (:Account)-[:FriendOf*]->(:Account)
MATCH (account1:Account)-[:FriendOf]->(account2:Account)
MATCH (account2:Account)-[:FriendOf]->(account1:Account)
WHERE none(node IN nodes(path_account) WHERE node=account1 OR node=account2)
RETURN gt, nodes(path_account)
Я проверил это графически в Neo4j, и вот результат:
Ваш график
Запрос