首页
学习
活动
专区
工具
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.7K20

次方 - 第一部分

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

1.8K50
  • 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属性图有下面几个明显缺陷: 顶点属性和存储在一行中,当点出入度越大时,属性查询耗时将会越大; 更新某一个属性时,需要先获取整个数据

    4.1K10

    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图数据库应用以及知识图谱技术介绍

    支持地理、数值范围和全文搜索对于非常大图中顶点。 原生支持 Apache TinkerPop 提供流行属性图数据模型。 原生支持 Gremlin 图遍历语言。...属性图模型: 属性图模型由顶点、属性和标签组成,其中顶点可以带有标签。...属性图定义是5元组: = (, , , , ),其中是顶点有限集合,是有限集合,将边关联到顶点对,为顶点赋予标签,为顶点或边关联属性。属性图模型更贴近实际场景,可以很好地描述业务逻辑。...edges 属性是一个 Map 类型属性,其中键是 label,值是 Edge 对象。 Edge 表示。Edge 包含以下属性: id: 唯一标识符。 label: 标签。...图数据访问管理: JanusGraph支持在图数据库中添加新点,根据指定点、关系类型和方向创建

    27510

    百亿级图数据JanusGraph迁移之旅

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

    2.7K50

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

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

    2.1K30

    【翻译】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.5K30

    图数据库调研

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

    6.6K30

    如何在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

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

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

    4.9K30

    属性图数据库JanusGraph初探

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

    3.6K50

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

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

    4.2K11

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

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

    85410

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

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

    4.7K270

    图解图库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 清理等待时间 当本地修改顶点(例如添加)时,所有顶点相关数据库级缓存条目都被标记为已过期并最终被逐出。

    87320

    图查询语言指南

    提示:探索图数据库终极指南以加深您对图结构及其应用理解。 图查询语言类型 了解不同类型图查询语言可以帮助您为您特定需求选择合适工具。...”顶点开始,遍历传出“FRIEND”,并检索连接顶点名称。...您可以轻松地添加新节点和关系类型,或更新现有类型,而无需重写整个查询逻辑。这种适应性确保您查询保持相关性和有效性,即使您数据环境发生变化。...这些语言允许你用直接映射到图结构方式来描述这些查询,使查询更加直观且易编写。 SQL 依赖于连接来查询相关数据,这对于高度连接数据集来说可能是低效。...每个联接都会增加复杂性并可能降低查询速度。在图查询语言中,只需从表示用户节点开始并遍历“朋友”即可到达已连接节点。这种方法更直接,性能也更好,尤其是在网络不断增长过程中。

    16110

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

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

    2.5K20
    领券