FOR vertex[, edge[, path]]
IN [min[..max]]
OUTBOUND|INBOUND|ANY startVertex
edgeCollection[, more…]
Explanation
FOR 有三个参数
‣ vertex (object): 遍历中的当前顶点
‣ edge (object, optional): 遍历中的当前边
‣ path (object, optional): 两个对象的路径表示
‣ vertices: 此路径上所有顶点的数组
‣ edges: 此路径上所有边的数组
IN min..max: 定义遍历的最小深度和最大深度。如果未指定,默认为1!
OUTBOUND/INBOUND/ANY :定义搜索的方向
edgeCollection: 保存在遍历中要考虑的边缘的集合的一个或多个名称
OPTIONS options(object,optional):用于修改遍历的执行。只有以下属性有效果,所有其他属性将被忽略:
uniqueVertices(string):可选地确保顶点唯一性
“path” - 保证没有路径返回一个重复的顶点
“global” - 保证在遍历期间每个顶点最多被访问一次,无论从起始顶点到这个顶点有多少路径。如果您从最小深度min depth > 1之前发现的顶点开始,可能根本不会返回(它仍然可能是路径的一部分)。注意: 使用此配置,结果不再是确定性的。如果从startVertex到顶点有多条路径,则选择其中一条路径。
“none”(默认) - 不对顶点应用唯一性检查
uniqueEdges(string):可选地确保边缘唯一性
“path”(默认) - 保证没有路径返回一个重复的边
“global” - 保证在遍历过程中,每个边缘最多被访问一次,无论从起始顶点到该边缘有多少条路径。如果从a开始,min depth > 1在最小深度之前发现的边缘根本不会被返回(它仍然可能是路径的一部分)。注意: 使用此配置,结果不再是确定性的。如果有从多个路径startVertex超过边缘的那些中的一个被拾取。
“none” - 不对边缘应用唯一性检查。注意: 使用此配置,遍历将跟随边沿周期。
bfs(bool):可选地使用可选的宽度优先遍历算法
true - 遍历将被执行宽度优先。结果将首先包含深度1的所有顶点。比深度2处的所有顶点等等。
false(默认) - 遍历将以深度优先执行。它首先将深度1的一个顶点的最小深度的最小深度返回到最大深度。对于深度1处的下一个顶点,依此类推。
Arango中图查询的语句的理解
最新推荐文章于 2022-10-19 11:50:54 发布