ArangoDb学习笔记————AQL tutorial(四)

本文深入探讨AQL教程中的图遍历概念,介绍如何使用Edge类型建立节点关系,并通过示例解释`_from`和`_to`属性。通过for循环遍历图,限定遍历的最小和最大深度,以及OUTBOUND和INBOUND边的方向。内容还澄清了这两个方向关键字可能带来的误解,并用Java程序员熟悉的InputStream和OutputStream进行类比解释。
摘要由CSDN通过智能技术生成

接下来讲的是AQL tutorial比较有深度的一节:图的遍历。文档里指导建了一个EDGE类型的ChildOf来表示Charaters的关系

看一下ChildOf里面的数据,跟之前的不同之处在于多了_from和_to两个属性,而且值是跟Charaters的_id属性对应的。

FOR v IN 1..1 OUTBOUND "Characters/1741" ChildOf
    RETURN v.name

看一下这个语法的英文说明并解释一下:

这个for循环并不是遍历一个collection或者数组,它走过图,遍历它所找到的所有连接的点,同时把点赋值给变量v,另外还有另外两个变量表示 走过的边和完整的路径。上面的查询,遍历限制了最小和最大深度(也就是从开始节点算起需要的步数),同时只查询OUTBOUND方向。边的方向是从child指向parent,同时parent离child只有一步远,因此上诉语法查的是起点的Parent节点,Characters/1741就是起点。

1..1表示是第一层到第一层,1..2表示第一层到第二层,以此类推;

Outbound查的是父节点,同时还有inbound查的是子节点,关于这两个关键词的理解其实还是有点容易让人误解的。

例如文档里有这么一个例子:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值