0

我有一個用例來根據搜索名稱的頂點標籤進行遍歷。基於頂點標籤的遍歷

例如:我們的系統中有三種標籤Org,Asset和Class(都包含名稱作爲頂點的鍵)。 如果我們按名稱搜索並發現它是一個Org頂點,我想要執行特定的遍歷,以排除對其他頂點的額外遍歷。

所以在這個機制中,當我們必須爲該頂點找到一個標籤時,必須執行全局搜索,這不是一個解決方案。

那麼建議使用什麼機制(對於圖中的全文/部分文本搜索)?

+0

您能否提供一個示例圖 - 理想情況下用Gremlin代碼生成圖 - 並解釋遍歷的預期結果? –

回答

0

你可以做類似

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

我認爲,爲了使用索引查找,您需要使用三值的形式有() - 也就是說,你需要指定一個標籤。但是,如果您想要爲多個標籤使用索引查找,則必須執行三次單獨的查找,並將它們與flatMap結合起來,如此處所示。