我在努力弄清楚如何在Gremlin中執行嵌套的GROUP BY。DSE圖Gremlin GROUP BY計數查詢
My圖表是這樣(在頂點[...]):
[調查] < - forSurvey - [CE] - collectedFrom - > [CE 樣品] - currentResponseState - > [responseState]
- 1調查具有多個CE。
- 1 CE有許多CE樣本。
- 每個CE樣本都有一個當前響應狀態。
- 有3種可能的狀態(未開始,正在進行中,已完成)。
我想通過CE和響應狀態來計數CE採樣。例如:
CE = CE01,狀態=未開始,計數= 45。
CE = CE01,State =進行中,count = 34。
CE = CE01,狀態=完成,計數= 25。
CE = CE02,狀態=未開始,計數= 60。
CE = CE02,State =進行中,count = 33。
CE = CE02,狀態=完成,計數= 72。
CE = CE03,狀態=未開始,計數= 44。 etc
我可以使用以下查詢獲取組計數,該查詢顯示每個CE的每個狀態(在每個狀態的單獨列中)的正確計數,但它不顯示CE名稱:
g.V().hasLabel("survey").has("surveyId","LFS")
.in("forSurvey").as("ce")
.local(out("collectedFrom")
.out("currentResponseState")
.groupCount().by("code")).as("counts")
.select("counts")
但我無法弄清楚如何讓Gremlin與計數一起返回CE名稱。如果我在「select()」投影中包含「ce」以獲取CE頂點的名稱,則根本沒有結果。
這在SQL中很簡單,我只需要GROUP BY相關的列,但Gremlin是一個不同的世界。
關於如何使用DSE Graph 5.0 Gremlin做到這一點的任何提示將不勝感激。
對不起,忘了解釋:'groupCount()。by(「code」)'位是由狀態碼分組和計數。 –