作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个简单的图表来跟踪我借钱给的人。所以图表看起来像这样:
userB -- owes to (amount: 200) --> userA
userC -- owes to (amount: 150) --> userA
等等……
假设您需要使用图形遍历找出每个用户欠多少钱。你如何实现这个?
最佳答案
让我用 city example graph 解释一下顶点(城市)有一个数字属性,population
;边(高速公路)有一个数字属性 distance
。
检查我们期望总结的内容:
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
总结遍历过程中的属性。
因此,虽然在城市人口及其距离的背景下,对这些数字进行汇总可能没有意义,但我们还是这样做吧:
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}
关于graph - ArangoDB - 如何在图遍历中执行计算?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35640507/
我是一名优秀的程序员,十分优秀!