2017-02-21 12 views

答えて

1

ここであなたがそれを行う可能性があります一つの方法だ - 私はA、BおよびCと共通していなかったEの頂点を追加したことに注意してください:

gremlin> g.addV(id,'A').as('a'). 
......1> addV(id,'B').as('b'). 
......2> addV(id,'C').as('c'). 
......3> addV(id,'D').as('d'). 
......4> addV(id,'E').as('e'). 
......5> addE('knows').from('d').to('a'). 
......6> addE('knows').from('d').to('b'). 
......7> addE('knows').from('d').to('c'). 
......8> addE('knows').from('e').to('a'). 
......9> addE('knows').from('e').to('c').iterate() 
gremlin> ids = ['A','B','C'] 
==>A 
==>B 
==>C 
gremlin> g.V(ids).in(). 
......1> where(out().id().fold().order().is(eq(ids))). 
......2> dedup() 
==>v[D] 

where()は基本的に頭の頂点に戻って横断し、それらを集めるには識別子のリストに格納されます。識別子のリストは、トラバーサルを開始するために使用した識別子の元のリストと比較することができます。リストの均等性を保証するために識別子order()に依存していることに注意してください。

gremlin> ['A','B','C'] == ['A','C','B'] 
==>false 
関連する問題