I am trying to recursively traverse outbound edges from a given node, but not the inbound ones. I want both out edges and out vertices in the result of my query.
In the following graph, starting from (a), I need (a), (b), (c), (d), (e), including the edges, but not the part after (c), which is <-- (x)
(a) --> (b) --> (c) <-- (x)
˙--> (d) --> (e)
If I try doing the following, then it traverses everything recursively, irrespective of edge direction, thus also returning (x):
TRAVERSE * FROM (SELECT FROM a) LIMIT -1`
If I dont traverse *, but
outE()`, it only retrieves the starting node and its direct neighbours: (a), (b), (d), so it does not do recursion.
traverse outE() from (SELECT FROM a) LIMIT -1
I also tried to follow the documentation at here, and traversed V.out, E.in
but it only returns (a) without traversing.
traverse V.out, E.in from (SELECT FROM a) LIMIT -1`
Also tried playing with variants, like WHILE $depth < 10
, but that hasn't made any difference and now I'm stuck.
Running OrientDB 2.0.12
Graph :
Traversal query to get only the outgoing edges recursively starting from #33:289990 :
traverse out('IsFriendsWith') from #33:289990
Traversal query to get more then one edge class outgoing vertices recursively :
traverse out('IsFriendsWith'), out('secondEdgeClassName') from #33:289990
Traversal query to get the edge and vertex instances recursively :
traverse out('IsFriendsWith'), outE('IsFriendsWith') from #33:289990