私はこの方法でこれを解決しようとはしませんでしたが、ここでは and() ステップを使用するとうまくいくようです:
gremlin> g = TinkerGraphFactory.createTinkerGraph()
==>tinkergraph[vertices:6 edges:6]
gremlin> g.V.and(_().both("knows"),_().both("created"))
==>v[1]
==>v[4]
AND 基準を満たす頂点のエッジ/パスを取得するには、次のようにします。
gremlin> g.V.and(_().both("knows"),_().both("created")).bothE("created","knows").dedup
==>e[9][1-created->3]
==>e[7][1-knows->2]
==>e[8][1-knows->4]
==>e[10][4-created->5]
==>e[11][4-created->3]
Gremlin の最初の部分は、「知っている」エッジと「作成された」エッジの両方を持つ頂点を取得するため、返された両方の頂点のエッジを安全に取得して、一意のものを返すことができます。