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

Gremlin -如何在节点结果旁边返回边的属性?

在Gremlin中,可以使用project()步骤来在节点结果旁边返回边的属性。project()步骤允许我们选择要返回的属性,并将它们与节点结果一起返回。

以下是使用project()步骤在节点结果旁边返回边的属性的示例代码:

代码语言:txt
复制
g.V().hasLabel('person').outE('knows').project('person', 'edgeProperties').by().by(valueMap())

在上面的示例中,我们首先选择标签为'person'的顶点,然后遍历它们的'knows'出边。使用project()步骤,我们将节点结果命名为'person',并将边的属性命名为'edgeProperties'。通过by()by(valueMap()),我们分别将节点和边的属性添加到结果中。

这样,我们就可以在节点结果旁边返回边的属性。在实际应用中,可以根据具体需求选择要返回的属性,并使用适当的Gremlin步骤进行数据处理和筛选。

关于Gremlin的更多信息和示例,您可以参考腾讯云的图数据库产品TencentDB for TGraph,它提供了完整的Gremlin支持和图数据库功能。您可以访问以下链接了解更多信息:

TencentDB for TGraph产品介绍

请注意,以上答案仅供参考,具体的实现方法可能因Gremlin版本、数据模型和具体需求而有所不同。

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

相关·内容

Gremlin 图查询概述

RDF 由节点组成,节点表示实体/资源、属性则表示了实体和实体之间关系以及实体和属性关系。RDF 没有外键和主键,它使用是 URI,万维网标准引用格式。...,返回节点,这里可能会用到索引; out :从上一步结果集合中,拉出一个,即 “vid” id,并把该点对应那行数据从hbase里读取出来(即该点属性、相邻点、相邻边),返回出度节点返回结果...edgeList1; out :从上一步结果 edgeList1 中,拉出一个,即把第一个出度点拉出来,并把该点对应那行数据从 hbase 里读取出来(即该点属性、相邻点、相邻边),找出出度节点,...返回结果 edgeList2; has:把 edgeList2 中第一个节点拉出来,把该点对应属性字段从 hbase 里读取出来,并进行 name 为 jack 过滤,返回结果; 迭代执行第4步,...直至 edgeList2 遍历完毕; 返回第3步,直至 edgeList1 遍历完毕; 返回结果

3.9K10

Gremlin-常用查询语句用法

第二步:has(‘code’,‘AUS’) 获取包含属性code并且该属性值为AUS所有节点 第三步:out() 获取上个结果集中所有节点对应节点 第四步:value(‘name’,...‘age’) 获取上个结果集中所有节点name和age属性值 第五步:order().by(‘age’,desc) 对结果集根据age进行降序排序 从上面便可以看出gremlin流式执行特征,这使得...属性为DFW值得节点 //将显示出来:结果类似于: e[4127][16-route->8] 这样就获取到了两个节点之间 使用as,select和project来引用遍历步骤 as可以将前一个步骤结果集临时存储下来...select(all,'a').unfold().values('code') 使用valueMap获取节点或者属性 返回结构:kv对数组,key:属性key,v:属性值列表(list,这样可以显示该属性对应多个值...g.E(5161).valueMap(true) //返回id为5161属性 为了完整起见,还可以使用select来优化valueMap结果 g.V().has('code','AUS').valueMap

2.9K40

Gremlin查询语言

Gremlin Language Variants: 学习如何在编程语言中嵌入GremlinGremlin for SQL developers: 使用SQL查询数据方式来学习Gremlin。...out('father'):从herculesfather顶点遍历出为father。 name:获取hercules祖父顶点name属性值。 总之,这些步骤构成了类似路径遍历查询。....out('father').values('name') ==>saturn 对于正确性检查,通常可以查看每个返回属性值,而不是查看他们id。...但是添加时必须指定边标签。 可以在顶点和边上设置作为键值对属性。 使用SET或LIST基数定义属性键,必须使用addProperty向顶点添加此属性。...next(int n) - 获取第n个结果,一定要先通过hasNext()判断。 toList() - 获取所有的结果作为一个list,如果没有结果返回空列表。

3.5K20

属性图数据库JanusGraph初探

使用关系数据库来进行欺诈侦测不是不可行,但表形式并不适合描述数据之间某些特定复杂关系,而且在海量数据情况下,表之间JOIN操作会带来大量系统性能损耗,单次运算时间甚至以小时计,导致反欺诈策略无法实时返回结果...图2.1 属性图示例 Tinkerpop3是tinkerpop图计算框架第三代产品。跟一般计算相似,图计算在结构(图)和处理(遍历)做了区分。图结构是由点、属性定义数据模型。...1.1 Tinkerpop结构 Tinkerpop处理是图结构数据,它结构API基础组件包括如下几部分: Graph:维护点和集合,数据库访问事务; Element:维护属性和标签(表示元素类型...图2.2 Tinkerpop 系统框架 TinkerPop是由多个可共同操作组件组成架构。Core TinkerPop3 API是整个架构基础,它定义了什么是点、属性。...因为JanusGraph是分布式,可以自由扩展集群节点,因此,它可以利用很大集群,也就可以存储很大包含数千亿个节点图。由于它又支持实时、数千用户并发遍历图和分析查询图功能。

3.5K50

Gremlin -- 常用查询用法

第二步:has(‘code’,‘AUS’) 获取包含属性code并且该属性值为AUS所有节点 第三步:out() 获取上个结果集中所有节点对应节点 第四步:value(‘name...’,‘age’) 获取上个结果集中所有节点name和age属性值 第五步:order().by(‘age’,desc) 对结果集根据age进行降序排序 从上面便可以看出gremlin流式执行特征...为某值得节点 g.V().hasLabel("user") //获取label为user节点 使用hasNext方法判断两个节点中是否有查询 返回值为boolean类型参数,存在则返回true,不存在则...select(all,'a').unfold().values('code') 使用valueMap获取节点或者属性 返回结构:kv对数组,key:属性key,v:属性值列表(list,这样可以显示该属性对应多个值...g.E(5161).valueMap(true) //返回id为5161属性 为了完整起见,还可以使用select来优化valueMap结果 g.V().has('code','AUS')

12.8K96

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

图库是节点&集合,描述了节点关联关系。 ?...模型 tinkerpop3 模型核心概念 Graph: 维护节点&集合,提供访问底层数据库功能,事务功能 Element: 维护属性集合,和一个字符串label,表明这个element种类 Vertex...final Vertex outVertex; 这样就完成了图组织,可以看出来从任意图中一个起始节点,可以先找到出度,然后查询出度节点,这样travesal就跳到了下一个节点,反复如此即可完成对图遍历...”输出到右边结果(示例中’vadas’和’josh’) ?...单条数据布局 ? 每个或者属性会保存在顶点邻接表rowcell中。序列化之后column数据字节序也反映了原来Edge标签key序。

4.8K30

一文了解各大图数据库查询语言(Gremlin vs Cypher vs nGQL)| 操作入门篇

文章开头我们先来看下什么是图数据库,根据维基百科定义:图数据库是使用图结构进行语义查询数据库,它使用节点属性来表示和存储数据。...type点 IDvidid(n)vid IDeidid(r)无插入addcreateinsert删除dropdeletedelete / drop更新属性setPropertysetupdate我们可以看到大体上对点和叫法类似...在 Gremlin 和 nGQL 中称之为 Vertex,Cypher 则称之为 Node。如何在图数据库中新建一个点呢?...下面进入到相关语法内容类型 和点一样,也可以有对应类型# Gremlin 创建类型g.edgeLabel()# nGQL 创建类型CREATE EDGE edgeTypeName(propNameList...) CRUD说完类型应该进入到常规操作部分了插入指定边类型可以看到和点使用语法类似,只不过在 Cypher 和 nGQL 中分别使用 -[]-> 和 -> 来表示关系,而 Gremlin

10.5K21

图数据库调研

SPARQL查询与 RDF 是一致,RDF 是图,SPARQL 查询是子图匹配。 Gremlin:数据以属性形式存在,属性仍然在表中,但是联接关系是直接以链接(比如指针)形式存在。...Neo4j Neo4j 是目前最流行图形数据库,支持完整事务,在属性图中,图是由顶点(Vertex),(Edge)和属性(Property)组成,顶点和都可以设置属性,顶点也称作节点也称作关系...,每个节点和关系都可以由一个或多个属性。...用 Gremlin 查询 Apache TinkerPop3样式属性图。Gremlin 是一种图遍历语言,其中查询是遍历节点边缘之后离散步骤构成遍历。 用 SPARQL 查询 RDF。...JanusGraph 两个最明显优势: 支持支持实时、数千用户并发遍历图和分析查询图功能 架构是分布式,可以自由扩展集群节点,可以利用很大集群,JanusGraph 可以存储很大包含数千亿个节点

6.5K30

gremlin-both()与bothE().bothV()区别

前言 之前一直以为在gremlin查询中,gremlinboth()和bothE().bothV()效果相同。但是在实际应用中,发现他们并不是相同。....= graph.V(3).both(): 返回 id为3节点和入获取到目标节点,不包含id为3节点 graph.V(3).bothE().bothV():返回 id为3节点和入编获取到所有节点...,包含id为3节点 官网上解释 bothV() The bothV step returns the vertices at both ends of an edge。...官网链接 http://kelvinlawrence.net/book/Gremlin-Graph-Guide.html#otherv 实际执行测试结果 ps:以下结果均在gremlin服务中实际测试...,不过进行了信息脱敏处理 获取测试数据,执行:g.V().has("user_id","5796").bothE("edge_value")获取一条如下,源节点(id为2539) 和 目标节点(id为

51210

gremlin-both()与bothE().bothV()区别

本文链接:https://blog.csdn.net/CSDN___LYY/article/details/102628505 前言 之前一直以为在gremlin查询中,gremlinboth()和....= graph.V(3).both(): 返回 id为3节点和入获取到目标节点,不包含id为3节点 graph.V(3).bothE().bothV():返回 id为3节点和入编获取到所有节点...,包含id为3节点 官网上解释 bothV() The bothV step returns the vertices at both ends of an edge。...官网链接 http://kelvinlawrence.net/book/Gremlin-Graph-Guide.html#otherv 实际执行测试结果 ps:以下结果均在gremlin服务中实际测试...,不过进行了信息脱敏处理 获取测试数据,执行:g.V().has("user_id","5796").bothE("edge_value")获取一条如下,源节点(id为2539) 和 目标节点(id为

1.2K20

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

、多次join想想就刺激~ 那么,基于图论图数据库就诞生了,详细我们下面再介绍,先基于将数据存储到图库中,用户做为节点、用户与用户之间关系作为、用户其他属性作为节点属性,类似于下图;...我们知道一个图包含节点,如下图: 在图数据库中图将实体表现为节点,实体与其他实体连接方式表现为联系()。...例如,实体:类似于用户、用户亲属等作为一个节点存在于图中,:用户和用户亲属之间关联关系,小李—>小李父亲,这两个节点之间可以设定为“用户父母”; 主流图数据库 目前主流图数据库有:Neo4j...、Cassandra等 使用第三方框架支持全文匹配、范围匹配等,Es等 集群节点可以线性扩展,以支持更大图和更多并发访问用户。...类似于下面这种图,包含节点节点包含多个属性: 关键点 弹性和线性可扩展性,适用于不断增长数据和用户群。 用于性能和容错数据分发和复制。 多数据中心高可用性和热备份。

2.5K40

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

、用户其他属性作为节点属性,类似于下图; ?...例如,实体:类似于用户、用户亲属等作为一个节点存在于图中,:用户和用户亲属之间关联关系,小李—>小李父亲,这两个节点之间可以设定为“用户父母”; 主流图数据库 目前主流图数据库有:Neo4j...、Cassandra等 使用第三方框架支持全文匹配、范围匹配等,Es等 集群节点可以线性扩展,以支持更大图和更多并发访问用户。...如果需要双向,则通过两条相反方向单向组成。JanusGraph不存在无向。 Property Key:属性类型,比如“姓名”,“年龄”,“时间”等。...类似于下面这种图,包含节点节点包含多个属性: ? 关键点 弹性和线性可扩展性,适用于不断增长数据和用户群。 用于性能和容错数据分发和复制。 多数据中心高可用性和热备份。

4.6K270

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

介绍 Titan是一个高度可扩展开源图形数据库。图形数据库是一种NoSQL数据库,其中所有数据都存储为节点(nodes)和(edges)。...图形数据库适用于高度连接数据应用程序,其中数据之间关系是应用程序功能重要部分,社交网站。Titan用于存储和查询分布在多台机器上大量数据。...第2步 - 使用Gremlin查询图表 Gremlin是一种图形遍历语言,用于查询,分析和操作Graph数据库。现在Titan已经设置并启动,您将使用Gremlin创建和查询Titan节点和边缘。...现在,让我们来看看公司吉祥物(一种属性): gremlin> g.V(company).out('hasMascot') 这将返回顶点传出company顶点,并将它们之间edge标记为hasMascot...将其设置为false创建可以存储数据常规ElasticSearch集群节点。 最后,添加此行,告诉Gremlin Server它将要服务图形类型。

2.3K20

陈宏智:字节跳动自研万亿级图数据库ByteGraph及其应用与挑战

对比图数据库与关系数据库 图模型基本元素包括点、属性。举例:张三好友所在公司有多少名员工?传统关系型数据库需要多表join,而图作为半结构化数据,在图上进行遍历和属性过滤会更加高效。...属性图在节点和边上有属性表,从某种角度上讲,它仍带有关系数据库基本特性,类似表结构形式,实际是采用Key-Value形式来存储,如用户A关注了用户B,用户C点赞了某个视频等,则会把关注时间、点赞时间...、评论内容等以不同有向存储在属性图中,用图来描述业务逻辑。...执行查询计划:理解GS数据分Partition逻辑,找到相应数据并下推部分算子,保证网络开销不会太大,最后合并查询结果,完成查询计划。...Edge Page、Meta Page分别是位于Btree中叶子结点、非叶子结点(充当index作用),分别用于存储图中数据和指向子节点Key。

1.2K20

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

Gremlin是一种函数式数据流语言,可以使得用户使用简洁方式表述复杂属性图(property graph)遍历或查询。...path().by("name") 步骤:1.找到gremlin节点 2.遍历查找gremlin被管理关系 3.直到查找到节点包含title为ceo节点为止 4.在遍历路径中管理者姓名...得到结果就是a和a合作者 3.去除a,只剩下a合作者 4.通过title进行聚合计数,获得最终结果 5:获取gremlin购买相关产品排名列表 g.V().has("name","gremlin...对结果集去除Gremlin购买 5. 按照分组结果进行降序排序 6:在知识图中获取10个最核心的人 g.V().hasLabel("person"). pageRank()....命令式Gremlin遍历告诉遍历者如何在遍历中每一步进行。 例如,下面的命令遍历首先将遍历器放置在表示Gremlin顶点处。

2.4K30

图查询语言历史回顾短文

Neo4j 联合创始人 Emil Eifrém 和这些学生们花了一周时间,将 Peter 最初想法扩展成为这样一个模型:节点通过关系连接,key-value 作为节点和关系属性。...Neo4j 第一个公开发行版中,数据模型由节点和有类型构成,节点都有 key-value 组成属性。...节点、关系、属性、关系只能有一个标签、节点可以有零个或者多个标签,以上这些构成了 Neo4j 属性数据模型定义。后来增加索引功能,让 Cypher 成为了与 Neo4j 交互主要方式。...他们观察到很多查询语句可以表达为:图到树投影映射(projection)。典型,从根节点开始遍历一个扩张树(spanning tree),然后返回叶子节点。...它允许更短语法来表达查询,也允许通过网络远程访问数据库。Gremlin 这种过程式特性,需要用户知道如何采用最好办法查询结果,这样对于应用程序开发人员来说仍旧有负担。

2.7K20

知识图谱之图数据库如何选型:知识图谱存储与图数据库总结、主流图数据库对比(JanusGraph、HugeGraph、Neo4j、Dgraph、NebulaGraph、Tugrapg)

(数据结构、操作和约束): RDF 图模型和属性图模型 数据模型特性 数据模型特性 RDF 图模型 属性图模型 结构 标准化程度 数学模型 表达力 属性表达 概念层本体定义 串行化格式 已由 W3C...制定了标准化语法和语义 3 - 均匀有向标签超图 RDF 图模型强于属性图模型 通过额外方法, “具体化” RDFS、OWL、 XML、JSON、N-Triples、Turtle 等 尚未形成工业标准...Gremlin 中其他语义可以被模拟出来. 7. PGQL 路径查询可通过用户定义函数实现其他语义. 8. PGQL 路径查询返回单条最短路径, 集合和包语义相同. 9....它是世界上能够托管具有数百亿个顶点(节点)和数万亿条(关系)图形最佳解决方案,具有毫秒级延迟。...可视化对比 在可视化方面,所有的平台都还只处于可用状态,Nebula Graph 选择性扩展在团伙挖掘中是一个加分项,但是在二度结果展示流畅度,展示结果自定义展示方面还有优化空间。

1.7K10

次方 - 第一部分

w=160] 各种不同变量可能会影响将数据加载到图中方法,但为决策提供最重要指导属性是大小。就本文而言,“大小”是指要加载到图中估计数。.... - 将顶点标识符(即userId)作为参数并执行索引查找以确定顶点是否已存在辅助函数。如果存在,则返回顶点,但如果它不存在,则会创建该顶点。...w=112&h=150] 加载数千万条方法与上一节没有太大区别。Gremlin脚本仍然是最直接加载方法,但是需要考虑一些差异。...该网络中顶点代表医疗服务提供者,它们由NPI number标识。表示两个提供者之间共享交互,其中三个属性进一步限定了该交互。数据根据时间窗口分成几种尺寸。...如果数据可以组织起来,并且条件允许的话,可以考虑一下使用gpars进行并行加载方法。 如果有倾向于从非JVM语言(Python)加载数据,可以理清本文思路并在Gremlin中编写加载脚本。

1.7K50

图数据库一些概览

这些数据库旨在处理数据/节点之间复杂关系。 节点用于存储数据。每个节点都包含一组属性,这些属性提供有关节点本身信息。 Edge存储两个节点或实体之间关系。总是有起始节点和终止节点。...图数据库使用各种类型数据模型,包括属性图和 RDF(资源描述框架)图。在属性图中,每个节点都可以有多个属性,这些属性是描述节点属性键值对。...我们可以将电影和用户表示为图中节点,并使用来表示电影评级和用户偏好等关系。 每个电影节点都可以具有标题、流派、导演和演员等属性。每个用户节点都可以具有年龄、性别和位置等属性。...节点之间可以表示不同类型关系。例如,“已观看”可以将用户节点连接到电影节点,评级属性表示用户对电影评级。 通过使用图数据库,我们可以轻松地查询图来为特定用户提出建议。...,并返回信用卡号、商户名称以及涉及该信用卡在商户处交易次数。

35120
领券