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

Gremlin -获取映射到每个顶点的边类型的顶点列表

Gremlin是一种图形查询语言,用于在图数据库中进行数据查询和操作。它是Apache TinkerPop项目的一部分,TinkerPop是一个开源的图计算框架。

在Gremlin中,可以使用outE()函数来获取映射到每个顶点的边类型的顶点列表。outE()函数返回从当前顶点出发的所有边,然后可以使用inV()函数获取这些边连接的顶点。

举个例子,假设有一个图数据库存储了人与电影之间的关系,其中人和电影是顶点,关系是边。我们可以使用以下Gremlin查询来获取与某个人相关的所有电影:

代码语言:txt
复制
g.V().hasLabel('person').has('name', 'John').outE().inV().hasLabel('movie')

上述查询首先选择标签为'person'且姓名为'John'的顶点,然后使用outE()函数获取与该顶点相关的所有边,再使用inV()函数获取这些边连接的顶点,最后使用hasLabel('movie')过滤出标签为'movie'的顶点,即相关的电影。

推荐的腾讯云相关产品是TencentDB for TinkerPop,它是腾讯云提供的一种图数据库服务,基于TinkerPop框架,支持Gremlin查询语言。您可以通过以下链接了解更多关于TencentDB for TinkerPop的信息:TencentDB for TinkerPop产品介绍

请注意,本回答仅供参考,具体的产品选择和使用应根据实际需求进行评估和决策。

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

相关·内容

Gremlin查询语言

V:图中所有的顶点。 has('name', 'hercules'):过滤出顶点name为hercules顶点。 out('father'):从hercules顶点遍历出为father。...out('father'):从herculesfather顶点遍历出为father。 name:获取hercules祖父顶点name属性值。 总之,这些步骤构成了类似路径遍历查询。...鉴于神图形只有一个战斗者(Hercules),另一个战斗者(为了举例)被添加到图中,Gremlin展示了如何将顶点添加到图形中。...每个函数在下面逐条列出,其中V是顶点而U是任何对象,其中V是U子集。...next(int n) - 获取第n个结果,一定要先通过hasNext()判断。 toList() - 获取所有的结果作为一个list,如果没有结果则返回空列表

3.5K20

次方 - 第一部分

正如之前发表一篇名为Polyglot Persistence and Query with Gremlin博客文章所解释Gremlin REPL是一个处理任何类型数据灵活环境。...在这种情况下,表中将只包含存在于每个用户顶点userId。始终在类型创建结束时以及在将数据加载到图形实例之前进行提交。...此代码将选项卡上文本行分割以创建包含两个userID值列表。...collect函数将处理getOrCreate所得到值,然后将所得列表解构到两个顶点变量存入已经存在或以其它方式被新创建图中:fromVertex和toVertex。...w=112&h=150] 加载数千万条方法与上一节没有太大区别。Gremlin脚本仍然是最直接加载方法,但是需要考虑一些差异。

1.7K50

Gremlin 图查询概述

属性图:属性图是由 顶点(Vertex),(Edge),标签(Lable),关系类型 还有 属性(Property)组成有向图。...例1:查询所有城市类型为「Capital」城市列表/URL Cypher: match(n:Capital) return n; SPARQL: PREFIX rdf:< http://www.w3....50所有顶点 g.V().has('age', lt(50)) Vertex-Centric Index Vertex-centric index(顶点中心索引)是为每个 vertex 建立本地索引结构...举例: 下面的查询中,如果对 'battled' 类型属性 'rating' 建立了属性,则是可以利用上索引。...JanusGraph 缺陷 由上面的存储和查询也可以看到,基于 Hbase属性图有下面几个明显缺陷: 顶点属性和存储在一行中,当点出入度越大时,属性查询耗时将会越大; 更新某一个属性时,需要先获取整个数据

3.9K10

3. JanusGraph快速开始

Graph of the Gods 标示 含义 加粗key 图中索引键 加粗带星key 图中索引键值必须是唯一 带下划线key 以顶点为中心索引键 空心箭头 特定(不能重复) 尾部十字...该起始点是一个元素(或一组元素) - 即顶点。从起始点,Gremlin路径描述描述了如何通过显示图结构来遍历图中其他点。...JanusGraph会自动使用索引来检索满足一个或多个约束条件所有顶点(g.V)或(g.E)。JanusGraph中另外一种索引是以顶点为中心索引。以顶点为中心索引可以加快图遍历。...可以从Hercules顶点去遍历他母亲和父亲。最后可以去确定他们类型是“god”和“human”。...每个遍历查询说明在注释中显示。

3.3K20

大数据图:循环点阵

首先必须存在4个角顶点每个顶点度数都为2;然后在每边有19个度数为三顶点,假设有4条,则有76个这样点(19 x 4 = 76);最后,在点阵内部正方形中存在19行每行19列个度数为4顶点...上面的直方图绘制了20x20点阵度数分布 ,证实了上述推导:20x20点阵有441个顶点和840条。通常,nxn点阵中顶点数为(n + 1)(n + 1),数为2((n^2)+ n)。...遍历一个有向点阵 假设有一个有向点阵,其中所有的都指向正下和正右顶点。在这样结构中,左上角顶点只有出度。同样,右下角顶点只有入度。...- 加文斯科特,2003年8月9日“ 每一条路径都是包含n个D和n个R字母序列,其中向下两次然后向右两次将是DDRR。这将“点阵问题”映射到“长度为2n问题二进制串”问题。...图结构不像它简化对应物(例如列表,地图和树)。图连通性模式使它可以产生组合爆炸。处理图形时,理解这种行为很重要。因为很容易就遇到这种需要耗尽宇宙时间来求解方案。

3.5K60

百亿级图数据JanusGraph迁移之旅

导入完顶点导入时候才发现导入非常慢,按照当时导入速度计算 200 亿预计需要 3个月时间才能导入完成,这种速度是不能接受。...插入比较慢,最主要原因是每插入一条都需要检索两个顶点。...其实最开始想到就是这个方案,但是这个方案对导入数据有非常严格要求,它需要每个顶点一行数据,再把这个顶点关联所有边都关联到这一行,中间用 tab 分隔,第一部分是顶点属性,第二部分是顶点,...第三部分是顶点。...经过分析发现慢最主要原因就是 JanusGraph 获取顶点属性特别慢,默认居然不是并行获取而是逐条获取

2.5K50

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

而图数据库,则是以图这种具有点结构来增、删、改、查之类操作NoSQL数据库,它特别擅长处理大数据之间关联。...根据官网上介绍,HugeGraph是一款易用、高效、通用开源图数据库系统(Graph Database),实现了Apache TinkerPop3框架及完全兼容Gremlin查询语言,支持百亿以上顶点快速导入...HugeGraph有以下特点: 顶点:支持基本增删改查操作,支持有向图,支持两顶点间同一类型多条,支持超级点。...属性:支持属性图、支持多值属性、支持多样化属性类型、支持顶点属性追加与合并。 元数据:支持丰富Schema校验,如属性是否可空(可选),支持Schema动态修改。...大规模数据:支持批量插入顶点/、支持超级顶点、支持流式分页获取、支持Shard并行获取

1.9K30

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

获取名为“gremlin顶点。 2. 得到gremlin知道的人。 3. 遍历那些人都知道的人。 4. 得到那些人名字。...groupCount().by("title") 步骤:1.获取gremlin用户顶点并将该顶点设置为a,则下面的a便代表gremlin这个顶点 2.找到gremlin创造项目,并且创建这些项目的人...得到结果就是a和a合作者 3.去除a,只剩下a合作者 4.通过title进行聚合计数,获得最终结果 5:获取gremlin购买相关产品排名列表 g.V().has("name","gremlin...获取名为“gremlin顶点 2. 获取Gremlin购买产品并保存为以“stash”命名临时集合 3. 还有谁买了这些产品,并且得到他们买东西 4....名称” - 索引中获取Gremlin顶点)确定最佳执行计划 。

2.4K30

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

介绍 Titan是一个高度可扩展开源图形数据库。图形数据库是一种NoSQL数据库,其中所有数据都存储为节点(nodes)和(edges)。...gremlin> g = graph.traversal() 您使用g变量执行遍历。让我们使用该变量来创建几个顶点顶点就像SQL中行。...每个顶点都有一个顶点类型或其label关联属性,类似于SQL中字段。...将其设置为false创建可以存储数据常规ElasticSearch集群节点。 最后,添加此行,告诉Gremlin Server它将要服务图形类型。...然后我们定义它将要服务类型。默认情况下,该类型被假定为simple。由于我们用来启动Titan启动脚本启动了其他子程序,我们将服务类型指定为forking。

2.3K20

图数据库调研

Neo4j Neo4j 是目前最流行图形数据库,支持完整事务,在属性图中,图是由顶点(Vertex),(Edge)和属性(Property)组成顶点都可以设置属性,顶点也称作节点,也称作关系...,每个节点和关系都可以由一个或多个属性。...Neo4j创建图是用顶点构建一个有向图,其查询语言cypher已经成为事实上标准。 Neo4j 分为社区版和企业版,社区版只能工作在单机上,社区版免费 ,企业版收费 。...在OrientDB中,任何类型数据都是可搜索,用户域建模支持面向对象概念,可以很容易地扩展。每个模型不只是一个层,而是共存于一个引擎中。可选无模式、全模式或混合模式。...HugeGraph系统架构主要包括存储层、计算层和用户接口层三个功能层次。 HugeGraph 存储层包括图数据(顶点和属性等)存储、索引数据存储和 Schema 元数据存储。

6.5K30

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

图库是节点&集合,描述了节点间关联关系。 ?...Cardinality: 「single, list, set」 节点属性对应value是单值,还是列表,或者set。...使用64位顶点Id作Key指向相应顶点邻接表row。每个或属性在row中都是一个独立cell,并且这些cell可以高效完成插入和删除。...单条数据布局 ? 每个或者属性会保存在顶点邻接表rowcell中。序列化之后column数据字节序也反映了原来Edge标签key序。...一个体系ID编码和压缩对象序列化易于使得每个cell保持尽可能少地占用后端存储空间。 一条信息会被出度、入度vetex保留两遍,便于快速定位到邻接节点,可避免表级联查询。

4.8K30

属性图数据库JanusGraph初探

1.1 Tinkerpop结构 Tinkerpop处理是图结构数据,它结构API基础组件包括如下几部分: Graph:维护点和集合,数据库访问如事务; Element:维护属性和标签(表示元素类型...这意味着不仅所有的TinkerPop启用图形系统都能执行Gremlin遍历,而且每个Gremlin遍历都可以被评估为实时数据库查询或批处理查询。...因此,用户Gremlin遍历可以使用应用程序语言(主语言,Host language)编写,并受益于主语言及其工具(例如类型检查,语法高亮,点完成等)所提供优点。...,可以把包含数千亿个顶点图存储在多机集群上。...为此每导入一个顶点数据都会执行如下逻辑:获取要导入顶点id值,查询图中是否有某个顶点bulkLoader.vertex.id值等于id值,如果等于,则使用要插入值,更新该图中已存在顶点属性;如果不存在

3.5K50

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

) RPQ 超集 (增加通过表达式比较属性值) RPQ 超集 (增加比较路径上顶点) RPQ 超集 (增加复杂路径表达式) 语义 任意路径、集合 4 无重复 5、包 2 任意路径 6、包 2 最短路径...所谓 “无索引邻接” 是指,每个顶点维护着指向其邻接顶点直接引用,相当于每个顶点都可看作是其邻接顶点一个 “局部索引”,用其查找邻接顶点比使用“全局索引” 节省大量时间。...这就意味着图导航操作代价与图大小无关,仅与图遍历范围成正比 4.1.2 gStore gStore 将 RDF 数据图中每个资源所有属性和属性值映射到一个二进制位串上。...然后利用若干个预先定义字符串哈希函数将属性或属性值按照标识符映射到若干个小于位串长度整数值,进而将位串上这些值所对应位置置为 1。...它是世界上能够托管具有数百亿个顶点(节点)和数万亿条(关系)图形最佳解决方案,具有毫秒级延迟。

1.6K10

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

)RPQ 超集 (增加比较路径上顶点)RPQ 超集 (增加复杂路径表达式)语义任意路径、集合 4无重复 5、包 2任意路径 6、包 2最短路径 7、包 8最短路径 9、包 2分析型查询聚合函数聚合函数聚合函数...所谓 “无索引邻接” 是指,每个顶点维护着指向其邻接顶点直接引用,相当于每个顶点都可看作是其邻接顶点一个 “局部索引”,用其查找邻接顶点比使用“全局索引” 节省大量时间。...这就意味着图导航操作代价与图大小无关,仅与图遍历范围成正比4.1.2 gStoregStore 将 RDF 数据图中每个资源所有属性和属性值映射到一个二进制位串上。...然后利用若干个预先定义字符串哈希函数将属性或属性值按照标识符映射到若干个小于位串长度整数值,进而将位串上这些值所对应位置置为 1。...它是世界上能够托管具有数百亿个顶点(节点)和数万亿条(关系)图形最佳解决方案,具有毫秒级延迟。

53310

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

、小张、小天 通过对关联出小王、小张、小天判断黑名单用户、逾期用户、授信拒绝等信息综合判定一个分数 然后根据这个分数对小李 判定是否授信通过; 为了更加有效果我们可以小王、小张、小天作为源用户列表获取这些用户...灵活:图数据库有非常灵活数据模型,使用者可以根据业务变化随时调整数据模型,比如任意添加或删除顶点,扩充或者缩小图模型这些都可以轻松实现,这种频繁 Schema 更改在关系型数据库上不能到很好支持...JanusGraph是一个可扩展图形数据库,专门用于存储和查询分析分布在多机集群中数千亿个顶点和关系图形。 JanusGraph是一个事务数据库,可以支持数千个并发用户实时执行复杂图遍历。...Edge Label:类型,用于表示现实世界中关系类型,比如“通话关系”,“转账关系”,“微博关注关系”等; Edge: ,用于表示一个个具体联系。JanusGraph都是单向。...如果需要双向,则通过两条相反方向单向组成。JanusGraph不存在无向。 Property Key:属性类型,比如“姓名”,“年龄”,“时间”等。

4.6K270

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

、小张、小天 通过对关联出小王、小张、小天判断黑名单用户、逾期用户、授信拒绝等信息综合判定一个分数 然后根据这个分数对小李 判定是否授信通过; 为了更加有效果我们可以小王、小张、小天作为源用户列表获取这些用户...灵活:图数据库有非常灵活数据模型,使用者可以根据业务变化随时调整数据模型,比如任意添加或删除顶点,扩充或者缩小图模型这些都可以轻松实现,这种频繁 Schema 更改在关系型数据库上不能到很好支持...JanusGraph是一个可扩展图形数据库,专门用于存储和查询分析分布在多机集群中数千亿个顶点和关系图形。 JanusGraph是一个事务数据库,可以支持数千个并发用户实时执行复杂图遍历。...Edge Label:类型,用于表示现实世界中关系类型,比如“通话关系”,“转账关系”,“微博关注关系”等; Edge: ,用于表示一个个具体联系。JanusGraph都是单向。...如果需要双向,则通过两条相反方向单向组成。JanusGraph不存在无向。 Property Key:属性类型,比如“姓名”,“年龄”,“时间”等。

2.5K40

【翻译】图解Janusgraph系列-缓存(Janusgraph Caching)

2.1 Vertex 缓存 顶点缓存包含顶点及其在特定事务中检索邻接列表子集。此高速缓存中维护最大顶点数等于事务高速缓存大小。如果事务工作负载是迭代遍历,则顶点缓存将显着加快速度。...如果在事务中不再访问相同顶点,则事务级缓存将没有区别。 请注意,堆上顶点缓存大小不仅取决于它可以容纳顶点数量,还取决于它们邻接列表大小。...换句话说,具有大邻接列表(即许多入射边缘)顶点将比具有较小列表顶点消耗更多空间。 此外,请注意,修改后顶点固定在缓存中,这意味着它们无法被驱逐,因为这将导致失去其更改。...如果其他软件层在同一JVM中运行,那么这些软件层也可能占用大量堆空间(例如Gremlin Server,嵌入式Cassandra等)。保守堆内存估计。...配置太大缓存可能导致内存不足异常和过多GC。 3.3 清理等待时间 当本地修改顶点(例如添加)时,所有顶点相关数据库级缓存条目都被标记为已过期并最终被逐出。

83820

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

JanusGraph是一个可扩展图形数据库,用于存储和查询分布在多机集群中包含数千亿顶点图形。...对于图模型,另一个需要考虑问题是,某个东西是否应该是一个顶点属性,还是它自己连接到另一个带顶点另一个顶点。...我通常方法是决定我是否希望能够搜索具有相同属性值其他顶点,在这种情况下,我将它建模为自己顶点,用将它连接到所有具有该值顶点。否则,它通常只能是一个顶点属性。 JP:图形建模需要时间。...准备好使用您一个小代表性数据集和您想要运行查询列表,这样您就可以看到模型对您用例执行情况。当您从一个顶点跳到另一个顶点时,请密切关注分支因子。...即使给定顶点上有合理数量,查询将触及图元素数量也会随着几次跳跃呈指数增长。考虑将图结构反规范化,这样就可以更好地利用过滤(在标签或属性上匹配)来减少查询早期元素数量。

2.4K20

每个程序员都必须知道8种数据结构

在本文中,我将简要解释每个程序员必须知道8种常用数据结构。 1.数组 数组是固定大小结构,可以容纳相同数据类型项目。它可以是整数数组,浮点数数组,字符串数组或什至是数组数组(例如二维数组)。...· 用于查找给定数组中k个最小(或最大)值。 · 用于堆排序算法。 8.图 一个图由一组有限顶点或节点以及一组连接这些顶点组成。 图顺序是图中顶点数。图大小是图中数。...如果两个节点通过同一彼此连接,则称它们为相邻节点。 有向图 如果图形G所有边缘都具有指示什么是起始顶点和什么是终止顶点方向,则称该图形为有向图。...我们说(u,v)从顶点u入射或离开顶点u,然后入射到或进入顶点v。 自环:从顶点到自身。 无向图 如果图G所有边缘均无方向,则称其为无向图。它可以在两个顶点之间以两种方式传播。...每个用户都是一个顶点,并且在用户连接时会创建一条。 · 用于表示搜索引擎网页和链接。互联网上网页通过超链接相互链接。每页是一个顶点,两页之间超链接是一条。用于Google中页面排名。

1.4K10
领券