You could use copySplit to accomplish something like this:
gremlin> g.V.copySplit(_().outE("knows").inV,_().inE("knows").outV).fairMerge.path
==>[v[1], e[7][1-knows->2], v[2]]
==>[v[2], e[7][1-knows->2], v[1]]
==>[v[1], e[8][1-knows->4], v[4]]
==>[v[4], e[8][1-knows->4], v[1]]
http://gremlindocs.com/#branch/copysplit
Stephen
> --
>
>