What I\'m doing is to get all profiles* who has a specific directed relation to a users profile* and if those have an alternate profile* get those in
This is how I solved it:
START User=node({source})
MATCH User-[:profile]->ProfileA-[rel:related]->ProfileB<-[?:me]->ProfileB2-[relB?:related]-ProfileA2
WHERE relB IS NULL OR User-[:profile]->ProfileA2
RETURN ProfileB, COLLECT(ProfileB2), rel, relB
LIMIT 25
The ProfileA2<-[:profile]-User
seemed to produce an endless loop.
Recommendations are still welcome.