Arango中图查询的语句的理解

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处的下一个顶点,依此类推。

转载于:https://www.cnblogs.com/minglex/p/9383849.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值