簡體   English   中英

使用 Gremlin Tinkerpop 從 Map 中的多個頂點檢索值

[英]Retrieve values from multiple vertices in Map with Gremlin Tinkerpop

在有多個頂點的圖中,如何遍歷該圖並從多個頂點收集選擇屬性?

假設我有 4 個頂點(Person1、Person2、Person3、Person4),我想獲取 Person1 中的字段“name”、Person2 中的“name”和“age”、Person3 中的“生日”和“ hasPets”在 Person4 中。 如何遍歷圖形並僅收集我想要的每個字段的值並將它們存儲在地圖/哈希圖中?

從其他例子:

如何在 Gremlin 中檢索多個多屬性?

在 Java 中使用 gremlin 遍歷圖形時如何收集屬性值?

它表明我可以使用 valueOf() 獲得一張地圖,但我不知道如何在一次遍歷中在不同的頂點上使用它。 另一個例子展示了如何從不同的頂點獲取多個值,但它們只是存儲在一個列表中。 我需要能夠知道哪個值是哪個。

由於我沒有您的數據,這里有一個使用航線的簡單示例,它顯示了如果您至少知道可以測試的每個頂點的一些共同屬性,則可以如何使用chooseoption步驟。

gremlin> g.V(1,2,3,4).choose(values('code')).
......1>              option('AUS',valueMap('code','city')).
......2>              option('ATL',valueMap('code','region')).
......3>              option('ANC',valueMap('code','desc')) 
  
==>[code:[ATL],region:[US-GA]]
==>[code:[ANC],desc:[Anchorage Ted Stevens]]
==>[code:[AUS],city:[Austin]]  

如果您沒有這樣的屬性,使用其他評論中建議的模式沿着幾個asselect步驟行將工作,但可能會變得有點笨拙(不是choose案例不會那么好),無論大小。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM