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

Tinkerpop Gremlin -如何将变量聚合到遍历独立集合中

Tinkerpop Gremlin是一个开源的图数据库查询语言,用于对图数据库进行查询和操作。它是Apache TinkerPop项目的一部分,提供了一种统一的方式来处理不同图数据库的查询。

将变量聚合到遍历独立集合中是指在Gremlin查询中,将一个或多个变量的结果聚合到一个独立的集合中。这可以通过使用aggregate()步骤来实现。

aggregate()步骤将当前遍历的元素添加到指定的集合中。可以在查询中多次使用aggregate()步骤来将多个变量的结果聚合到不同的集合中。

以下是一个示例查询,演示如何将变量聚合到遍历独立集合中:

代码语言:txt
复制
g.V().hasLabel('person').has('age', gt(30)).aggregate('olderPersons').out('friend').aggregate('friendsOfOlderPersons').toList()

在上述查询中,首先选择标签为'person'且年龄大于30的顶点,并将结果聚合到名为'olderPersons'的集合中。然后,通过out('friend')步骤遍历这些顶点的'friend'边,将结果聚合到名为'friendsOfOlderPersons'的集合中。最后,使用toList()步骤将结果返回为一个列表。

这种聚合变量的方式在许多场景中都很有用,例如统计符合某些条件的顶点或边的数量,或者在后续的查询中使用聚合结果进行进一步的处理。

对于Tinkerpop Gremlin的更多信息和详细介绍,您可以访问腾讯云的图数据库产品TencentDB for TinkerPop的官方文档:TencentDB for TinkerPop

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

相关·内容

伸手党福利-从零开始玩转图库

Tourist 打开gremlin-console,我们可以通过groovy语言对图进行curd操作,也可以使用gremlin语法进行遍历 $ bin/gremlin.sh \,,,...模型 tinkerpop3 模型核心概念 Graph: 维护节点&边的集合,提供访问底层数据库功能,如事务功能 Element: 维护属性集合,和一个字符串label,表明这个element种类 Vertex...Graph Graph成员变量,可以看到有vertices,edges两个集合,分别管理节点、边。...gremlin traversal language: 图的查询遍历语言及语言解释实现,类似sqlparser provider strategies:vendor可自定义的策略,如对某些遍历步骤可优化...Traverser: 代表了在当前遍历过程数据流的一个状态,维护了到当前对象的引用 限于篇幅,更多内容查阅org.apache.tinkerpop.gremlin.process.traversal包对应的源码

4.8K30

属性图数据库JanusGraph初探

1.1 Tinkerpop结构 Tinkerpop处理是图结构的数据,它的结构API的基础组件包括如下几部分: Graph:维护点和边的集合,数据库访问如事务; Element:维护属性和标签(表示元素的类型...Core TinkerPop3 API是整个架构的基础,它定义了什么是点、边和属性。一个图系统至少要实现Core API。一旦实现,就可在系统是有Gremlin遍历语言。...3Gremlin简介 Gremlin是Apache TinkerPop框架下的图遍历语言。...这意味着不仅所有的TinkerPop启用的图形系统都能执行Gremlin遍历,而且每个Gremlin遍历都可以被评估为实时数据库查询或批处理查询。...遍历并不能告诉遍历器执行它们的步骤的顺序,而是允许每个遍历器从一个(可能嵌套的)模式的集合中选择一个模式来执行。

3.5K50

Gremlin查询语言

Gremlin是Apache TinkerPop的一个组件。 它独立于JanusGraph开发,并且支持大多数的图数据库。...Practical Gremlin Book: 图数据库和Gremlin查询语言的入门指南。 Gremlin Recipes: Gremlin的最佳实践和常见遍历模式的集合。...遍历介绍 Gremlin查询是一系列从左到右的计算操作/函数。 下面通过第3章“入门”讨论的Gods图来展示一个简单的祖父查询的示例。...鉴于神的图形只有一个战斗者(Hercules),另一个战斗者(为了举例)被添加到图中,Gremlin展示了如何将顶点和边添加到图形。...这在REPL环境很好用,而且它将结果作为String类型来展示。 当你开始编写Gremlin应用程序时,了解如何显式迭代遍历非常重要,因为应用程序的遍历不会自动迭代。

3.6K20

Gremlin 图查询概述

在图形,节点和关系是最重要的实体; TinkerPopTinkerPop是一种开源图计算框架,是 Apache 软件基金会旗下的一个顶级项目,该项目专注于为图数据库建立行业标准,包括一种名为Gremlin...每个Gremlin遍历由一系列步骤(可能存在嵌套)组成,每一步都在数据流(data stream)上执行一个原子操作。...具体的查询过程如下所示: g.v("vid").out.out.has(name, "jack") v("vid"):把 id 为 “vid” 的节点找出来,返回该节点,这里可能会用到索引; out :从上一步结果集合...每个 vertex 有数千条Edge,在这些 vertex 遍历效率将会非常低(需要在内存过滤符合要求的 Edge)。...参考资料 https://github.com/tinkerpop/gremlin 通过使用JanusGraph索引提高性能 PRACTICAL GREMLIN: An Apache TinkerPop

4K10

【翻译】Gremlin-Gremlin何许人也?

/gremlin.html Gremlin是Apache TinkerPop 框架下的图遍历语言,而TinkerPop是JanusGraph的搜索引擎。...获取名为“gremlin”的顶点 2. 获取Gremlin购买的产品并保存为以“stash”命名的临时集合 3. 还有谁买了这些产品,并且得到他们买的东西 4....这意味着不仅所有的TinkerPop启用的图形系统都能执行Gremlin遍历,而且每个Gremlin遍历都可以被评估为实时数据库查询或批处理查询。...命令式的Gremlin遍历告诉遍历者如何在遍历的每一步进行。 例如,下面的命令遍历首先将遍历器放置在表示Gremlin的顶点处。...Gremlin旨在为用户提供表达查询的灵活性,并为系统提供者提供如何有效评估针对其启用TinkerPop的数据系统的遍历的灵活性。

2.4K30

2018-11-23 graph图数据库概览,经过一个星期的Demo终于看懂了这篇文章20180818图数据库概览

数据导入导出:数据从外界到图存储的导入导出能力,如从外界的json、csv,rdf等数据形式导入到图数据库,或将图数据库的数据导出来。...第一次是全量备份,后续是增量备份; 5、性能:社区版最多用到 4 个内核,而企业能用到全部内核,且对性能做了精心的优化; 6、支持:企业版客户能得到 5X10 电话支持(Neo4j 美国电话、邮件,微云数电话...系列组件:Gremlin查询语言,Gremlin-Server及Gremlin applications。...HugeGraph的主要特点包括: 基于TinkerPop 3 API实现,支持Gremlin图查询语言; 拥有完善的周边工具链和相关功能组件,可以满足图数据库开发的基本需求,提供易用高效的使用体验...; 具备独立的Schema管理模块,丰富完善的Schema校验机制,确保图数据库的数据完整性和一致性; 支持数据的备份和还原,可以在不同的后端存储之间转换; 多种ID生成策略应对不同业务场景,拥有完善的索引管理机制

3.5K30

如何在Ubuntu 16.04上使用Cassandra和ElasticSearch设置Titan Graph数据库

第2步 - 使用Gremlin查询图表 Gremlin是一种图形遍历语言,用于查询,分析和操作Graph数据库。现在Titan已经设置并启动,您将使用Gremlin创建和查询Titan的节点和边缘。...plugin activated: tinkerpop.tinkergraph gremlin> Gremlin控制台加载了几个插件以支持Titan和Gremlin特有的功能。...执行命令后,图形对象将被实例化并存储在graph变量。要查看图形对象的所有可用属性和方法,请键入graph....在图形数据库,您主要通过遍历它来查询数据,而不是像关系数据库一样检索具有连接和索引的记录。为了遍历图形,我们需要来自graph参考变量的图形遍历源。以下命令可实现此目的。...gremlin> g = graph.traversal() 您使用g变量执行遍历。让我们使用该变量来创建几个顶点。顶点就像SQL的行。

2.3K20

linux环境安装可操作图库语言Gremlin的图框架HugeGraph

首先,在数据结构,图是一种由顶点(vertex)集合及顶点间关系集合组成的一种非线性数据结构。...常见的图数据库有Neo4j,JanuasGraph,Tigergraph等,其中,Gremlin是一种操作图数据库的图语言,它是Apache ThinkerPop框架下的图遍历语言。...根据官网上的介绍,HugeGraph是一款易用、高效、通用的开源图数据库系统(Graph Database),实现了Apache TinkerPop3框架及完全兼容Gremlin查询语言,支持百亿以上的顶点和边快速导入...其它:支持图变量(Graph Variables)、兼容性上已通过Apache Tinkerpop官方测试用例90%兼容测试。 说了这么多,那么图库技术有什么用呢?...过程遇到的问题: 刚开始,我参考网上一些教程,把HugeGraph Studio的配置文件graph.server.host改成0.0.0.0。 ?

1.9K30

「数据库深度探索」图型数据库JanusGraph支持知识图谱和图型分析

我已经参与了Apache tinkerpop的开发——主要开发Gremlin. net变体Gremlin。因此,为JanusGraph贡献一个扩展库是很自然的。...TinkerPop使您能够使用相同的图结构和Gremlin遍历语言,使用相同的代码来生成多个图数据库。...JanusGraph的文档还包含“部署场景”一章,描述了一个相对简单的开始场景,以及如何将其发展成更高级的场景。 另一个对JanusGraph非常重要的项目是TinkerPop,我已经提到过几次了。...因此,我建议新用户熟悉TinkerPop,最重要的是,熟悉它的图形查询语言Gremlin。...TinkerPop 4的开发仍处于非常早期的状态,但是一些主要的改进已经可以确定了。我个人尤其期待的是为Gremlin遍历提供更广泛的执行引擎。

2.4K20

JanusGraph -- 简介

吸收了对属性图模型(Property Graph Model)的支持和对属性图模型进行遍历Gremlin遍历语言。...图形堆栈本机集成: Gremlin图查询语言 Gremlin图服务器 Gremlin应用程序 Apache 2许可下的开源 工具可视化存储在JanusGraph的图形: Cytoscape Apache...Graph处在两个不同JVM,应用通过给JanusGraph提交Gremlin查询给GremlinServer,来使用JanusGraph,因为JanusGraph原生是支持Gremlin Server...Gremlin Server是Apache Tinkerpop的一个组件 JanusGraph集群包含一个、或者多个JanusGraph实例。...目的是将企业的分散、零乱、标准不统一的数据整合到一起,为企业的决策提供分析依据。 ETL的设计分三部分:数据抽取、数据的清洗转换、数据的加载。在设计ETL的时候我们也是从这三部分出发。

4.5K10

图解图库JanusGraph系列-解惑图数据库,你知道什么是图数据库吗?

原生集成Apache TinkerPop图技术栈,包括Gremlin graph query language、Gremlin graph server、Gremin applications。...JanusGraph是一个可扩展的图形数据库,专门用于存储和查询分析分布在多机集群的数千亿个顶点和关系边的图形。 JanusGraph是一个事务数据库,可以支持数千个并发用户实时执行复杂的图遍历。...吸收了对属性图模型(Property Graph Model)的支持和对属性图模型进行遍历Gremlin遍历语言。...图形堆栈本机集成: Gremlin图查询语言 \ Gremlin图服务器 \ Gremlin应用程序 Apache 2许可下的开源 工具可视化存储在JanusGraph的图形:Cytoscape \Apache...Gremlin Server是Apache Tinkerpop的一个组件 JanusGraph集群包含一个、或者多个JanusGraph实例。

2.5K40

解惑图数据库!你知道什么是图数据库吗?

原生集成Apache TinkerPop图技术栈,包括Gremlin graph query language、Gremlin graph server、Gremin applications。...JanusGraph是一个可扩展的图形数据库,专门用于存储和查询分析分布在多机集群的数千亿个顶点和关系边的图形。 JanusGraph是一个事务数据库,可以支持数千个并发用户实时执行复杂的图遍历。...吸收了对属性图模型(Property Graph Model)的支持和对属性图模型进行遍历Gremlin遍历语言。...图形堆栈本机集成: Gremlin图查询语言 \ Gremlin图服务器 \ Gremlin应用程序 Apache 2许可下的开源 工具可视化存储在JanusGraph的图形:Cytoscape \Apache...Gremlin Server是Apache Tinkerpop的一个组件 JanusGraph集群包含一个、或者多个JanusGraph实例。

4.6K270

图查询语言的历史回顾短文

2010 年,Neo4j 和 Marko Rodriguez 采用术语属性图(Property Graph)来描述 Neo4j 和 Tinkerpop / Gremlin 的数据模型。...2017 年,WG3 工作组开始讨论如何将属性图查询能力引入 SQL。 2017 年,LDBC 工作组完成了 G-CORE 的初始设计 GCORE2018(见参考文献)。...在 2007 年,Neo4j 的知识产权转移给了一家独立的数据库公司。 Neo4j 的第一个公开发行版,数据模型由节点和有类型的边构成,节点和边都有 key-value 组成的属性。...Gremlin 的创造 最初与 Neo4j 的查询方式是通过 Java API。应用程序可以将查询引擎作为库嵌入到应用程序,然后使用 API 查询图。...再想想 GQL 和 Apache Tinkerpop/Gremlin 这两条完全不同的路,这是一个变化很快的时代,计算机又是一个更强调 de facto 标准的行业,GQL 并不容易。

2.8K20

十的次方 - 第一部分

下面的Gremlin脚本演示了如何将该文件加载到Titan(由BerkleyDB支持): g = TitanFactory.open('/tmp/1m') g.makeKey('userId').dataType...下面的Gremlin脚本演示了如何将该文件加载到Titan(由BerkleyDB支持): conf = newBaseConfiguration() {{ setProperty("storage.backend......sameDayTotal) = line.split(',')*.trim() - 文件的每一行由一对逗号分隔的值组成。该行将逗号分隔的文本行创建一个列表,其中包含解构为五个变量的五个值。...如果有倾向于从非JVM语言(如Python)加载数据,可以理清本文思路并在Gremlin编写加载脚本。...在数百万和数千万条边的规模上,我们通常需要Gremlin脚本和REPL来批量加载活动。对于那些刚刚开始使用TinkerPop和Titan的人来说,需要掌握最基本的堆栈知识。

1.7K50

用Jupyter笔记本做Jaeger数据分析

这样的分析在用户界面可能不可行。相反,我们可以编写代码来验证我们的假设。为此,我们开发了基于图形查询语言Gremlin的Trace DSL,以简化跟踪数据的过滤和特征提取。...在运行代码之前,我们必须更新变量traceIdStr以指向HotROD应用程序前面生成的一个跟踪。 ? 用于从jaeger-query加载数据的Jupyter笔记本。 结果写在代码单元格下面。...最后一个代码单元显示了Trace DSL与Apache Gremlin的直接使用。...Gremlin是一种图形遍历语言,它扩展tracetraverse alsource.class并添加了用于跟踪过滤和特征提取的方法。...documentation: http://tinkerpop.apache.org/docs/current/reference/ Jaeger HotROD example application

1.2K40

知识图谱-图数据库选型与评测

通过围绕图进行数据建模,Neo4j会以相同的速度遍历节点与边,其遍历速度与构成图的数据量没有任何关系。...实现了ApacheTinkerPop3框架及完全兼容Gremlin查询语言, 具备完善的工具链组件,助力用户轻松构建基于图数据库之上的应用和产品。...它的典型应用场景包括深度关系探索、关联分析、路径搜索、特征抽取、数据类、社区检测、 知识图谱等,适用业务领域有如网络安全、电信诈骗、金融风控、广告推荐、社交网络和智能机器人等。...Neo4j使用cypher作为图查询语言, 而HugeGraph基于Apache TinkerPop3框架实现,支持Gremlin图查询语言。...Nebula Graph 将点和边的信息存储为 key,同时将点和边的属性信息存储在 value ,以便更高效地使用属性过滤。

2.3K30

如何为微服务选择数据库

微服务架构的魅力在于其开发、管理和扩展服务都是相对独立的。这给了我们很多在实施方面的灵活性,包括基础架构技术,如数据库。 举个例子,我们假设正在为微服务架构做开发工作,并期待着大规模的可扩展性的需求。...DSE图支持来自Apache tinkerpop项目中强大的功能和表现力的Gremlin API。...这是需要取舍的;比如,你会失去了ACID的事务特性和Neo4j运行时的模式自由的特性,但却可以访问Cassandra的基础表,以及针对分析工作负载和Spark的整合,还有强大的TinkerPop/Gremlin...识别你的应用程序主要的数据类型,为其中每种类型创建一个服务,并让每个服务掌控相应的持久层。在可能的情况下,为所有服务都使用多模型数据库,允许服务在与数据交互的模型是不相同的。 2....请务必考虑在操作和分析用例访问数据的各种方法,以便提前计划如何将搜索索引和复制等特性用于数据分析中心。 3.

1.5K100
领券