I have a very simple example graph which I am trying to get a depth first query on. Let's say the graph edges look like this
A->B
A->C
B->D
B->E
C->F
C->G
A depth first search from A should return
A-B-D-E-C-F-G
But if I could get the below order it would be even better
D-E-B-A-F-G-C-A
How can I create a Gremlin query that will output this order? If I do something like this
g.V('A').repeat(outE().inV()).emit()
I get an order of A,B,C,D,E,F,G which is breadth first. I can't work out how to get the order I want above.
For others to reproduce, here's the sample graph:
This one is kinda rolling up the paths from behind. It's tricky, but doable:
However, it's probably a lot easier to just get the paths and do the ordering on the application side.
At the moment: you can't.
We are co-sufferers. This is a known issue that I initially raised on the mailing list and then attempted a fix which unfortunately only works if there's no
emit
step in the traversal. You are invited to help fix it, I didn't yet have time to dig deeper.