0

検索された名前の頂点のラベルに基づいてトラバーサルを行うためのユースケースがあります。頂点ラベルに基づくトラバーサル

例:私たちのシステムには、Org、Asset、およびClass(頂点のキーとして名前を含む)の3種類のラベルがあります。 名前で検索して、Org頂点であることが分かったら、他の頂点への余分なトラバースを排除するために特定のトラバーサルを実行します。

このメカニズムでは、その頂点のラベルを見つけなければならないときには、グローバルな検索が実行されなければなりません。これは解決策ではありません。

代わりに、どのような仕組みが提案されていますか(グラフ全体のこの全文/部分テキスト検索の場合)?

+0

グラフを生成するためのグレムリンコードを例示的なグラフとして提供し、トラバーサルの期待される結果を説明できますか? –

答えて

0

あなたは)私は、インデックス検索を使用するために、あなたは(持っている3つの値の形式を使用する必要があると思い

inject('Org','Asset','Class').flatMap{ 
    g.V().has(it.get(),'name', 'theNameYouArSearchingFor') 
}. 
choose(label()). 
    option('Org', someTraversalForOrg()). 
    option('Asset', someTraversalForAsset()). 
    option('Class', someTraversalForClass()) 

ような何かを行うことができます - つまり、あなたが指定する必要がありますラベル。しかし、複数のラベルに対してインデックスルックアップを使用する場合は、3つの別々のルックアップを実行し、ここに示すようにflatMapと組み合わせる必要があります。

関連する問題