首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用arangodb,你如何出/入一个from/ do顶点?在查询中?

在使用 ArangoDB 进行查询时,可以使用 AQL(ArangoDB Query Language)来操作顶点的出/入边。

要从一个顶点出发,可以使用 OUTBOUND 关键字来获取该顶点的出边连接的顶点。例如,假设有一个集合名为 edges,其中包含了连接顶点的边,可以使用以下 AQL 查询语句来获取从顶点 from 出发的所有连接顶点:

代码语言:txt
复制
FOR v, e, p IN 1..1 OUTBOUND 'vertices/from' edges
RETURN v

上述查询中,vertices 是顶点集合的名称,from 是起始顶点的标识符。通过 OUTBOUND 关键字指定了查询的方向为从起始顶点出发的出边。1..1 表示只查询一层深度的连接顶点。v 是迭代变量,表示查询结果中的顶点。

要到达一个顶点,可以使用 INBOUND 关键字来获取连接到该顶点的入边连接的顶点。例如,假设有一个集合名为 edges,可以使用以下 AQL 查询语句来获取连接到顶点 to 的所有连接顶点:

代码语言:txt
复制
FOR v, e, p IN 1..1 INBOUND 'vertices/to' edges
RETURN v

上述查询中,vertices 是顶点集合的名称,to 是目标顶点的标识符。通过 INBOUND 关键字指定了查询的方向为连接到目标顶点的入边。1..1 表示只查询一层深度的连接顶点。v 是迭代变量,表示查询结果中的顶点。

需要注意的是,上述查询语句中的 'vertices/from''vertices/to' 是顶点的标识符,可以根据实际情况进行替换。

关于 ArangoDB 的更多信息和使用示例,可以参考腾讯云 ArangoDB 产品文档:https://cloud.tencent.com/document/product/853/18381

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

ArangoDB 系列(1) —— 初识 ArnagoDB

支持键值对、文档和图(用于保存社会关系) 在运行对文档或者集合的查询时,能够有选择保持事务的一致性和隔离性 具备复制与分片功能,能够对数据库进行失败配置,并且可以将大数据集分布多个服务器上 可配置的持久性...,可以让应用程序持久性和性能之间做出选择 ArangoDB 能够更加高效的使用现代存储硬件,类似于ssd 和大型缓存 使用 ArangoDB 作为应用服务器,能够融合应用和数据,以适应更大的吞吐量 ArangoDB...客户端压缩包里的 bin/ 目录下的所有可执行文件服务端的压缩包全部存在,如果是本地服务端安装的话,且已经配备了 ArangoDB 环境变量,则可以直接使用 arangosh 命令,无需安装 ArangoDB..._createEdgeCollection("relation"); # 定义图变量 var myGraph = {}; # 插入第一个顶点 myGraph.v1 = db.vertex.insert(...{ name : "vertex 1" }); # 插入第二个顶点 myGraph.v2 = db.vertex.insert({ name : "vertex 2" }); # 为两个边建立关系(第一个顶点为起点

1.7K20

如何在Ubuntu 14.04上安装和使用ArangoDB

完成本教程后,您应该能够: Ubuntu 14.04上安装ArangoDB 配置ArangoDB以进行基本使用 插入,修改和查询数据 核心概念 整篇文章,我们将使用一些核心概念。...有很大的机会不需要从源代码构建它。本教程,我们将使用Ubuntu 14.04 x64。...如果一个共享的环境运行ArangoDB和/或要使用的Web界面,这时强烈建议启用身份验证。 激活/etc/arangodb/arangod.conf文件的身份验证。...此查询已经是AQL如何工作的一个很好的示例:您使用FOR遍历每个文档列表并对其执行操作。该列表可以是包含JSON对象的数组或数据库的任何集合。...ArangoDB不仅是一个文档存储,还具有非常强大的图形功能。它允许您将数据建模为有向图中的顶点。可以将关系建模为这些顶点之间的边而不是使用_key引用。

2.6K00

如何去伪存真地看懂一份图数据库的评测报告?

例如Neo4j系统,即便是其企业级安装也只需要8核CPU,因为Neo4j绝大多数的查询和图算法计算过程并发规模很低(每个查询的最大并发只能使用4线程)。...注意上图中顶点27960125的一个邻居27498091现了2次,它们之间存在两条相互关系(对应源数据的2行),但是作为去重的1度邻居集合,只有7个。...为了更精准地验证结果正确性,对K邻查询还可以按照边的方向来进行过滤,例如只查询顶点“2796015”的边、边或者双向边(注:默认是查询双向边关联的全部邻居)。...下图展示了如何通过图查询语言来完成相应的工作。注意,该顶点有6条边对应的1跳邻居、2条边对应的1跳邻居,其中有1个邻居“27498091”是重叠的。...例如,某数据集中ID为“12242”的顶点的1度邻居查询,有12个邻居,Ultipa Manager操作结果如下: 图12 Ultipa Manager的K邻图查询操作示意图 如何可视化的验证结果正确性呢

1K30

2018-11-20 CG Pipeline: 最佳图数据库性能对比--为您的CG生产数据服务

测试中会提供Python 代码段以显示如何使用每个数据库,之后我们将运行一个快速的基准测试,我们将在i7-6700 CPU @ 3.40GHz 上运行10 000 次我们的示例查询,然后比较各个图形数据库所需的时间及评价其性能...API ArangoDB 的图形存储基于其自己的文档存储系统, 每个顶点都作为json条目存储一个集合 查询可进行配置(例如,您可以选择深度优先遍历)ArangoDB 提供了一个遍历对象,允许您构建特定的路径...,还有其他的助手,如最短路径查找或路径长度检索,可以满足图形查询的大部分需求 查询结果记录易于显示和分析 ArangoDB 和Python 客户端很容易理解,而且文档编制完善 ArangoDB Web...UI可视化您的图形, 使数据存储更容易 其开发公司非常活跃,并提供很多的额外支持项目 1.如果想用自己的脚本实现同等性,需要自己编写“获取或创建”方法 还是一个年轻的数据库 ArangoDB 是开发者和用户最友好的数据库...,我们未对其进行测试 CG生产环境中使用有风险 结论: ArangoDB 是我们这组测试中最喜欢的数据库,如果正在考虑使用图形数据库,建议首选测试ArangoDB

1.5K20

多数据模型数据库 | 应用实例解析

该理论建议大型的软件不同的模块应该采用不同的数据模型进行数据管理。这也就意味着一个工程不得不采用多个数据库,但这样做又引入了新的问题:运维和管理的复杂、数据一致性和数据重复的问题等。...“图查询”是指涉及到对edge的特定连接特性的查询,例如:最短路径、图遍历和模式匹配。多模型数据库的模式匹配会根据任意查询条件的复杂组合,查询符合该组合条件的所有路径。...>>>> 飞机维护记录查询 我们将使用ArangoDB查询语言(AQL)来完成某些特定的查询。现在我们来看下我们可以使用AQL来完成哪些查询。...IN 1..4 OUTBOUND "components/Engine765" GRAPH "FleetGraph" RETURN part ArangoDB可以通过给graph指定一个名称,...虽然是多数据模型,但是也可以将多个数据模型的数据都存储一个数据库存储引擎单个查询混合使用不同的数据模型,可以极大的提升应用程序和设计的性能。

1.8K10

图图的存储、BFS、DFS(听说叠词很可爱)

基本概念 图的基本概念我们需要掌握的有这么几个概念:无向图、有向图、带权图;顶点(vertex);边(edge);度(degree)、度、度。下面我们就从无向图开始讲解这几个概念。...顶点度是指有多少条边指向这个顶点顶点度指有多少条边以这个顶点为起点。 ?...图的存储 图的基本概念不多,那么计算机我们该如何存储图这种数据结构呢?主要有两种方式来存储图,一种是邻接矩阵的方法,另一种是邻接表的方式。 2.1....所以,综上来说邻接表查询两个顶点的关系没有邻接矩阵那么高效了。 但是,为了让查询变得更加高效。...但是,访问第 k 层顶点的时候需要将 k+1 层的顶点也保存下来,而且 k+1 层顶点第 k 层顶点之后被访问并从队列退出,也就相当于 “后来后”。

91020

系统设计之图状数据模型

属性图 属性图模型,每个顶点包括: 唯一标识符 边的集合 边的集合 属性的集合(键-值对) 每个边包括: 唯一标识符 边开始的顶点(尾部顶点) 边结束的顶点(头部顶点) 描述两个顶点间关系类型的标签...为每个边存储头部和尾部顶点,若想要顶点边或边集合 ,可分别通过head_vertex 或tail_vertex来查edges表。 图模型重点: 任何顶点都能连接到其他任一顶点。...没有模式限制哪种事物可或不可关联 给定某顶点,可高效得到它的所有边,从而遍历图,即沿着这些顶点链条一直向前或向后(这就是为何图2-2tail_vertex和 head_vertex列上都建立索引的原因...关系数据库,通常会预知查询需要哪些join操作。而对于图查询, 找到要找的顶点前,可能需遍历数量未知的边,即join操作数量无法预知。...SQL1999标准后, 查询过程这种可变的遍历路径可使用“递归公用表表达 式”(即WITH RECURSIVE语法)来表示。

51520

探索图数据库在数据资产可视化的应用

但是在数据分析过程,会出现各种各样的场景,比如说一个典型的社交网络,常常会存在“谁认识谁,谁上过什么学校,谁常住什么地方,谁喜欢什么餐馆”等查询,这种查询在数据分析过程是很常见的,但是这种操作会因为数据库的选择不同而对性能产生巨大的差异...ArangoDB图数据库,它是一个原生多模型数据库,兼有key/value键/值对、graph图和document文档数据模型,提供了涵盖三种数据模型的统一的数据库查询语言,并允许单个查询混合使用三种模型...从本质上说,一个表代表一个类型的数据,一个顶点代表一个特定的数据,意味着关系数据库更关注数据的类型,而图数据库更关注数据的个体,识别其关联关系。...所以Atlas读写数据的过程可以看作就是将图数据库对象映射成Java类的过程,基本流程如下: Atlas查询一个元数据对象时往往需要遍历图数据库的多个顶点与边,相比关系型数据库直接查询一行数据要复杂的多...答:个人认为,关注于学习成本、软件成本、易用性等方面考虑的话,推荐使用收费的软件,不推荐使用开源的软件,目前企业版收费的有Neo4j,ArangoDB等,项目成熟,社区活跃,文档也很成熟。

1.8K20

《数据密集型应用系统设计》读书笔记(二)

下面将通过一个例子对 MapReduce 进行说明:假设是一名海洋生物学家,每当看到海洋的动物时,就会在数据库添加观察记录。现在需要生成一份报告,来说明每个月看到了多少鲨鱼。...3.1 属性图 属性图(property graph)模型,每个顶点包括: 唯一的标识符 边的集合 边的集合 属性的集合(键值对) 每条边包括: 唯一的标识符 边开始的顶点(尾部顶点) 边结束的顶点...除了两张表外,还新建了两个索引来查询顶点边或边的集合(head_vertex 和 tail_vertex)。...此外,还需要明确以下特征: 任何顶点都可以连接到其他任何顶点,没有模式限制哪种事物可以或不可以关联 给定某个顶点,可以高效地得到它的所有边和边,从而实现图的遍历 通过对不同类型的关系使用不同的标签,...该查询的具体解读如下: person 有一个连接到其他顶点边 BORN_IN。

1.4K30

我攻克的技术难题:大数据小白从0到1用Pyspark和GraphX解析复杂网络数据

从零开始本文中,我们将详细介绍如何在Python / pyspark环境中使用graphx进行图计算。...winutils.exe是一个用于Windows环境下模拟类似POSIX的文件访问操作的工具,它使得Spark能够Windows上使用Windows特有的服务和运行shell命令。...要使用Python / pyspark运行graphx,需要进行一些配置。接下来的示例将展示如何配置Python脚本来运行graphx。...# 计算每个节点的度和度in_degrees = graph.inDegreesout_degrees = graph.outDegrees# 打印节点的度和度in_degrees.show()...接着介绍了GraphFrames的安装和使用,包括创建图数据结构、计算节点的度和度,以及查找具有最大度和度的节点。

33320

开启图结构的学习:图的创建和遍历

今天我们来聊一聊图结构,虽然面试图结构用的不多,但是我真的觉得图结构可以综合很多知识点,以及STL容器的使用,并且需要很强大的逻辑性!...主要有以下几个属性: 顶点的值value 顶点度in(也就是指向该顶点的边数) 顶点度out(也就是从该顶点出发的边数) to节点的集合nexts(有向图时,指向的节点为to节点,当前节点为from...节点) 从该节点出发边的集合edges 然后顶点的类定义如下: 使用list的原因是因为list相比vector中间操作数据更加快速!...建立过程,一定要注意,当加入一条边时,我们一定要将from节点的度+1,to节点的度+1,然后将to节点添加到from节点的nexts,并将这个边添加到from节点的边集edges。...因此我们使用unordered_set用来储存访问过的节点,并使用队列结构来储存将要打印的节点,接着在打印一个节点的同时要把其所有下一节点且未访问过的压入队列

52720

C++ 不知图系列之基于邻接矩阵实现广度、深度搜索

因路径不只一条,所以,从一个项点到另一个项点的路径描述也不仅只一种。 图结构如何计算路径? 无权重路径的长度是路径上的边数。 有权重路径的长度是路径上的边的权重之和。...findVertexs( ):查询所有顶点信息。 findPath( fv,tv):查找从一个顶点到另一个顶点之间的路径。 …… 3....搜索路径 ---- 图中经常做的操作,就是查找从一个顶点到另一个顶点的路径。 什么是路径? 无权图中,路径指从一个顶点到另一个顶点经过边的数量。...编码实现广度优先搜索: 广度优先搜索需要借助队列临时存储选节点,本文使用STL的队列,文件头要添加下面的包含头文件: #include #include 图类实现提供广度优先搜索算法的函数...使用循环实现深度优先搜索算法: 图类添加如下 函数: class Graph(): private: //…… public: //深度搜索查找 from

1.1K20

如何编码检查依赖关系是否有循环依赖

假如你准备面试先进数通这家公司,说可以为该产品增加一项检查否有循环依赖的功能,我想这一定是个加分项。 那问题来了,如何编码检查任务依赖关系是否有循环依赖?...无论哪一种思路,都与度和度有关。下面分别进行分析。 广度优先遍历比较符合人的习惯思维,从前到后逐层推进。它首先找出不被任何任务依赖的任务进入队列,哪一种任务不被任何任务依赖呢?...如果循环结束,仍有节点未被遍历,说明存在循环依赖,无论如何他们的度也不可能为 0。...也就是说任何一个节点,只会有以下三种状态: 「未访问」:我们还没有访问到这个节点,使用 0 来表示。...然后从剩余节点 a 出发,执行同样的逻辑,a 也栈,标记为完成,最终从栈底到栈顶为 d,c,b,a,将这些节点依次栈,即为拓扑排序。

2.7K10

浅谈什么是图拓扑排序

1 引言   工程实践,一个工程项目往往由若干个子项目组成。这些子项目间往往有两种关系:   (1) 先后关系,即必须在某个项完成后才能开始实施另一个子项目。   ...那么如何合理的分配资源才能保证工程能够按时完成呢?将任务作为图的顶点,将任务之间的依赖关系作为图的边,这样就可以将实际问题抽象为数据结构图论的典型问题——图的拓扑排序。...拓扑序列:设G=(V,E)是一个具有n个顶点的有向图,V顶点序列v1,v2,…,vn,满足若从顶点vi到vj有一条路径,则在顶点序列顶点vi必vj之前,则我们称这样的顶点序列为一个拓扑序列。...若使用队列保存入度为0的顶点,则可以将这个算法复杂度将为O(V+E)。 5 DFS方法   深度优先搜索过程,当到达度为0的顶点时,需要进行回退。执行回退时记录度为0的顶点,将其栈。...则最终栈顺序的逆序即为拓扑排序序列。 5.1 算法流程 (1)对图执行深度优先搜索。 (2)执行深度优先搜索时,若某个顶点不能继续前进,即顶点度为0,则将此顶点栈。

2.4K60

深度 | 图计算系统进展和展望

基于磁盘的单机图计算系统GraphChi一个图被分割成多个数据片,每个数据片保证可以被放在内存。每个数据片包含一个完整的子图,包括一个连续的顶点区间和这些顶点边与边。...一个图计算算法的处理过程,GraphChi一次读入一个数据分片到主存,从而相应区间内的所有顶点边就都可用了。而这些顶点边必然存于剩下的P-1个数据分片中。...所以,一个顶点区间内的所有同时具有边和边的子图都可以由一次数据分片全扫描和P-1次数据分片部分扫描完成。对内存得到的这些子图,GraphChi把基于不同子图的计算任务并发到多个线程处理。...而在一个顶点区间内,虽然不同子图的计算任务并发到多个线程处理,但GraphChi会提前检查是否存在这样的顶点它们的边同时也是该区间内某顶点边,这些边会形成冲突。...基于磁盘的单机图计算系统GraphChi一个图被分割成多个数据片,每个数据片保证可以被放在内存。每个数据片包含一个完整的子图,包括一个连续的顶点区间和这些顶点边与边。

2K40

Go实战 | 基于有向无环图的并发执行流的实现

因为我们使用的是有向图,所以关联的边又分为边(即终止于该顶点的边)和边(即从该顶点开始的边)。如下图: 边1是内裤节点的边,同时也是裤子节点的边。边2和边3都是鞋子节点的边。...节点的from.Children = append(from.Children, edge) //该条边是to节点的边 to.Dependency = append(to.Dependency...这类边的特点是结束节点只有边,没有边。...03 一些其他问题 3.1 各个节点之间,如何传递数据 我们看到WorkFlow的StartWithContext函数的第二个参数是一个interface{}类型,这个就是用来给各个节点传递参数的。...3.2 如果有节点执行错误,如何终止流程 一个流程,有任何一个节点执行出错,我们的处理方式是终止整个流程。

93610

Android 启动优化(一) - 有向无环图

每个顶点出现且只出现一次。 若存在一条从顶点 A 到顶点 B 的路径,那么序列顶点 A 出现在顶点 B 的前面 由于有这个特点,因此常常用有向无环图的数据结构用来解决依赖关系。...总结如下,深度优先搜索过程,当到达度为0的顶点时,需要进行回退。执行回退时记录度为0的顶点,将其栈。则最终栈顺序的逆序即为拓扑排序序列。 算法思想 对图执行深度优先搜索。...执行深度优先搜索时,若某个顶点不能继续前进,即顶点度为0,则将此顶点栈。 最后得到栈顺序的逆序即为拓扑排序顺序。 实例讲解 同样,以下图讲解 DFS 算法的过程。 ?...此时顶点3的度为0,将顶点3栈。 ? (4)回退至顶点2,顶点2度为0,顶点2栈。 ? (5)回退至顶点1,顶点1可以前进位置为顶点4,顺序为1->4。 (6)顶点4度为0,顶点4栈。...通常,我们一般使用 BFS 算法来解决,DFS 算法比较少用。 对于 BFS(度表法),它的核心思想是 选择一个没有输入边(度为0)的源顶点(若有多个则任选一个), 将它和它的输出边删除。

95310

最全总结 | 聊聊 Python 数据处理全家桶(存储过程篇)

,方便直接调用 本篇文章将聊聊如何使用 Python 执行存储过程 2....比如:数据库名为xag select `name` from mysql.proc where db = 'xag' and `type` = 'PROCEDURE'; # 2.2 查询存储过程状态信息...存储过程名称 」创建一个存储过程,接着 begin 和 end 之间编写具体的操作逻辑 2-2  变量定义及赋值 使用关键字「 declare」可以定义一个变量 # 变量定义 # 比如:定义一个变量...表的第一条记录的name值,保存到name变量 select name into name from name_table limit 1; 2-3  条件判断 if 比如,通过年龄判断年级( if...实战一下 使用 Python 调用存储过程非常方便 首先,我们编写一个存储过程 比如,我这里定义了一个存储过程,传入两个参和一个参,将两个参的乘积作为参返回 # 定义一个存储过程 delimiter

87930

查询图数据库的新ISO标准GQL

ISO/IEC 联合技术委员会 1/AG 1 的通信负责人 Tony Holland 一份声明中表示:“该版本标志着查询语言历史上的新篇章,彻底改变了我们与互连数据交互并利用其力量的方式。”...知识图可以作为外部存储器,一种可视化 LLM 如何构建其世界观的方式。 Rathle 说:“因此,我可以追踪图并了解它为何得出该答案。”...“拥有所有这些级联依赖关系,并且该计算在图中非常有效,”Rathle 说。 GQL 中有什么? GQL 标准长达 600 多页,引用了 400 多篇论文。...查询: MATCH (movie:Movie) RETURN movie.title 将返回数据库具有“Movie”标签的所有节点。 Table 2....其他图查询语言包括NebulaGraph 的 NQL,Apache Tinkerpop 的 Gremlin,RDF 的 SPARQL 以及 ArangoDB 的 AQL 。

19310
领券