Graph Traversals
Out - Outgoing Nodes
QUERY GetUserFollowing(user_id: ID) =>
following <- N<User>(user_id)::Out<Follows>
RETURN following
In - Incoming Nodes
QUERY GetUserFollowers(user_id: ID) =>
followers <- N<User>(user_id)::In<Follows>
RETURN followers
OutE - Outgoing Edges
QUERY GetFollowingEdges(user_id: ID) =>
edges <- N<User>(user_id)::OutE<Follows>
RETURN edges
InE - Incoming Edges
QUERY GetFollowerEdges(user_id: ID) =>
edges <- N<User>(user_id)::InE<Follows>
RETURN edges
Chaining
QUERY GetFriendsOfFriends(user_id: ID) =>
fof <- N<User>(user_id)::Out<Follows>::Out<Follows>
RETURN fof
Shortest Path
QUERY FindPath(from_id: ID, to_id: ID) =>
path <- N<User>(from_id)::ShortestPath<N<User>(to_id)>
RETURN path