I have a graph containing two kinds of nodes: user nodes and IP nodes.
The only edge I have is :LOGGED_IN from user node to IP node.
What I am trying to find is all reachable user nodes from one user node.
So I have a Cypher like this:
MATCH (u: User)-[*]-(connected: User)
WHERE u.user_id = 'xxxxxxxxxxx'
RETURN distinct u, connected
However, I found that some IP nodes could be potentially a proxy IP so there will be more than 100 :LOGGED_IN edges to that specific IP node.
I am looking for a way to find all reachable user nodes but bypass all the one in the path with a proxy IP.
Also the definition of proxy IP node should be configurable like I can set a threshold to 1000 :LOGGED_IN edges. If there are more than 1000 incoming edges to the IP than it's a proxy IP.