3
我有一個簡單的圖表來跟蹤我借錢給的人。 使圖形看起來是這樣的:ArangoDB - 如何在圖遍歷中執行計算?
userB -- owes to (amount: 200) --> userA
userC -- owes to (amount: 150) --> userA
等等...
比方說,你需要找出每個用戶都欠了多少錢,用圖的遍歷。你如何實現這個?
我有一個簡單的圖表來跟蹤我借錢給的人。 使圖形看起來是這樣的:ArangoDB - 如何在圖遍歷中執行計算?
userB -- owes to (amount: 200) --> userA
userC -- owes to (amount: 150) --> userA
等等...
比方說,你需要找出每個用戶都欠了多少錢,用圖的遍歷。你如何實現這個?
讓我用city example graph 對此進行解釋頂點(城市)有一個數字屬性;邊緣(高速公路)有一個數字屬性distance
。
檢查我們預計sumarize:
FOR v, e IN 1..1 INBOUND "frenchCity/Lyon" GRAPH "routeplanner"
RETURN {city: v, highway: e}
綜合各方面走過城市的人口很簡單:
RETURN SUM(FOR v IN 1..1 INBOUND "frenchCity/Lyon" GRAPH "routeplanner"
RETURN v.population)
它使用一個子查詢,這意味着被返回的所有值,然後對其執行SUM
操作。
最好使用COLLECT AGGREGATE
來總結遍歷期間的屬性。
因此,儘管在城市和他們的距離的人口的情況下,可能沒有什麼意義,sumerize這些數字,讓我們這麼做了:對於快速和有益的反應再次
FOR v, e IN 1..1 INBOUND "frenchCity/Lyon" GRAPH "routeplanner"
COLLECT AGGREGATE populationSum = SUM(v.population), distanceSum = SUM(e.distance)
RETURN {population : populationSum, distances: distanceSum}
非常感謝! :d –