[英]Gremlin get highest value from list of edges related to a single vertice
[英]Gremlin Value Map With Array of Edges
我正在嘗試使用 Node Gremlin 和 AWS Neptune 查詢頂點的屬性,並在單個 output 中通過“出”邊緣及其所有屬性獲取所有頂點。 例如,如果我有一個“貝克”頂點,其邊“烘烤”到兩個“蛋糕”頂點,我想得到一個“貝克”object,其中包含他的所有屬性以及兩個“蛋糕”的數組頂點作為具有所有屬性的對象。
我知道我可以使用 a.project 有效地做到這一點,但我不想 select 用於任何頂點的特定屬性,因為我想要它們的所有屬性。
我目前正在處理這樣的查詢: gV(BakerId).as('Baker').out('bakes').as('Cake').select('Baker','Cake').by(valueMap(true))
,但問題是這個查詢給了我一個包含兩個輸出的列表,一個帶有 Baker 和第一個 Cake,另一個帶有相同的 Baker 和第二個蛋糕。 我想避免冗余並將其合並到一個 output 中,而 Baker 只出現一次。
我也希望有一個足夠通用的解決方案(或足夠簡單以輕松擴展)來處理更深層次的問題,以便在“蛋糕”頂點上的“外”邊上做同樣的事情,例如“蛋糕”->“制造”- ->“成分”,所以我可以得到一個面包師,每個蛋糕上只有一次,每個成分上只有一次,並且都具有所有屬性。
您可以使用兩個project
步驟並使用valueMap
,這樣您就不需要 sespecifiy 屬性:
g.V().hasLabel('Baker').
project('Baker', 'Cake').
by(valueMap(true)).
by(out('bakes').
project('Cake', 'Ingredients').
by(valueMap(true)).
by(out('madeOf').valueMap(true).
fold()).fold())
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.