![](/img/trans.png)
[英]TinkerPop - Retrieving values from multiple vertices give strange output
[英]Retrieve values from multiple vertices in Map with Gremlin Tinkerpop
在有多個頂點的圖中,如何遍歷該圖並從多個頂點收集選擇屬性?
假設我有 4 個頂點(Person1、Person2、Person3、Person4),我想獲取 Person1 中的字段“name”、Person2 中的“name”和“age”、Person3 中的“生日”和“ hasPets”在 Person4 中。 如何遍歷圖形並僅收集我想要的每個字段的值並將它們存儲在地圖/哈希圖中?
從其他例子:
在 Java 中使用 gremlin 遍歷圖形時如何收集屬性值?
它表明我可以使用 valueOf() 獲得一張地圖,但我不知道如何在一次遍歷中在不同的頂點上使用它。 另一個例子展示了如何從不同的頂點獲取多個值,但它們只是存儲在一個列表中。 我需要能夠知道哪個值是哪個。
由於我沒有您的數據,這里有一個使用航線的簡單示例,它顯示了如果您至少知道可以測試的每個頂點的一些共同屬性,則可以如何使用choose
和option
步驟。
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]]
如果您沒有這樣的屬性,使用其他評論中建議的模式沿着幾個as
和select
步驟行將工作,但可能會變得有點笨拙(不是choose
案例不會那么好),無論大小。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.