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

Gremlin -如何根据Edge的属性过滤结果?

在Gremlin中,可以使用has()步骤来根据边(Edge)的属性来过滤结果。has()步骤接受一个键值对作为参数,用于指定要匹配的属性和对应的值。

以下是根据边的属性过滤结果的示例:

代码语言:txt
复制
g.V().hasLabel('person').outE('knows').has('since', gt(2010))

上述示例中,hasLabel('person')用于选择顶点标签为'person'的顶点,outE('knows')用于选择从这些顶点出发的边,且边的标签为'knows'。has('since', gt(2010))用于过滤这些边,只选择'since'属性大于2010的边。

在这个例子中,我们使用了gt()函数来表示大于的条件,还可以使用其他比较函数如lt()(小于)、gte()(大于等于)、lte()(小于等于)等。

关于Gremlin的更多信息和详细用法,可以参考腾讯云的图数据库产品TencentDB for TGraph,它提供了基于Gremlin的图查询语言和图计算能力,适用于各种图数据分析和图计算场景。具体产品介绍和文档可以参考:TencentDB for TGraph

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

相关·内容

Gremlin 图查询概述

,返回该节点,这里可能会用到索引; out :从上一步结果集合中,拉出一个,即 “vid” id,并把该点对应那行数据从hbase里读取出来(即该点属性、相邻点、相邻边),返回出度节点,返回结果...返回结果 edgeList2; has:把 edgeList2 中第一个节点拉出来,把该点对应属性字段从 hbase 里读取出来,并进行 name 为 jack 过滤,返回结果; 迭代执行第4步,...graph index 常用于根据属性查询 Vertex 或 Edge 场景;vertex index 在图遍历场景非常高效,尤其是当 Vertex 有很多 Edge 情况下。...,在大型 graph 中,每个 vertex 有数千条Edge,在这些 vertex 中遍历效率将会非常低(需要在内存中过滤符合要求 Edge)。...,修改完成后再写回,效率较低; 对边属性过滤,将数据取回客户端,在客户端进行过滤,增加了网络传输消耗; 一言以蔽之,目前基于 NoSQL图数据库,都可以视为只是在分布式 NoSQL 上封装了一层逻辑

3.9K10

属性图数据库JanusGraph初探

一旦实现,Gremlin遍历可以在图数据库(OLTP)和图处理器(OLAP)上执行。然而,Gremlin语言是基于图领域特定语言,根据点和边来解释图。用户也可以创建自己领域特定语言。...Gremlin是一种函数式数据流语言,可以使得用户使用简洁方式表述复杂属性图(property graph)遍历或查询。...Gremlin包括三个基本操作: map-step:对数据流中对象进行转换; ilter-step:对数据流中对象就行过滤; sideEffect-step:对数据流进行计算统计。...“Gremlin合作者(去除Gremlin自己);下一步,遍历器走到“Gremlin”合作者上司(managers),最终根据上司名字进行统计分发。...然而,声明遍历具有额外好处,它不仅利用了编译时查询计划器(如命令式遍历),而且还是一个运行时查询计划器,根据每个模式历史统计信息选择下一个执行哪个遍历模式 - 有利于那些倾向于减少/过滤大多数数据模式

3.5K50

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

文章开头我们先来看下什么是图数据库,根据维基百科定义:图数据库是使用图结构进行语义查询数据库,它使用节点、边和属性来表示和存储数据。...,允许不必编写图形结构遍历代码对图形存储有表现力和效率查询,和 SQL 很相似,Cypher 语言关键字不区分大小写,但是属性值,标签,关系类型和变量是区分大小写。...在 Gremlin 和 nGQL 中称之为 Vertex,Cypher 则称之为 Node。如何在图数据库中新建一个点呢?...点类型可对应有多种属性(Property),例如 Person 可以有 name、age 等属性。...,这里说下如何插入特定类型点,和点获取、删除和更新。

10.4K21

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

导读:作为一种基础数据结构,图数据应用场景无处不在,如社交、风控、搜广推、生物信息学中蛋白质分析等。如何高效地对海量图数据进行存储、查询、计算及分析,是当前业界热门方向。...对比图数据库与关系数据库 图模型基本元素包括点、边和属性。举例:张三好友所在公司有多少名员工?传统关系型数据库需要多表join,而图作为半结构化数据,在图上进行遍历和属性过滤会更加高效。...执行查询计划:理解GS数据分Partition逻辑,找到相应数据并下推部分算子,保证网络开销不会太大,最后合并查询结果,完成查询计划。...meta pagekey是起点+边类型,edge pagekey存在meta page中实现对特定edge page查找。...索引 局部索引:给定一个起点和边类型,对边上属性构建索引 特点:边上元素皆可做索引项,能够加速查询,提高属性过滤和排序性能;但会额外维护一份索引数据,与对应原数据使用同一条日志流,保证一致性。

1.2K20

Gremlin查询语言

Gremlin Language Variants: 学习如何在编程语言中嵌入GremlinGremlin for SQL developers: 使用SQL查询数据方式来学习Gremlin。...has('name', 'hercules'):过滤出顶点name为hercules顶点。 out('father'):从hercules顶点遍历出边为father边。...鉴于神图形只有一个战斗者(Hercules),另一个战斗者(为了举例)被添加到图中,Gremlin展示了如何将顶点和边添加到图形中。...可以在顶点和边上设置作为键值对属性。 使用SET或LIST基数定义属性键,必须使用addProperty向顶点添加此属性。...这在REPL环境中很好用,而且它将结果作为String类型来展示。 当你开始编写Gremlin应用程序时,了解如何显式迭代遍历非常重要,因为应用程序遍历不会自动迭代。

3.5K20

次方 - 第一部分

w=160] 各种不同变量可能会影响将数据加载到图中方法,但为决策提供最重要指导属性是大小。就本文而言,“大小”是指要加载到图中估计边数。...下面的Gremlin脚本演示了如何将该文件加载到Titan中(由BerkleyDB支持): g = TitanFactory.open('/tmp/1m') g.makeKey('userId').dataType...该DocGraph数据集“展示了医疗保健提供者团队如何提供护理”。该网络中顶点代表医疗服务提供者,它们由NPI number标识。边表示两个提供者之间共享交互,其中三个属性进一步限定了该交互。...数据根据时间窗口分成几种尺寸。本节将利用“30天信息窗口”,其中包含大约100万个顶点和7300万条边。 [docgraph-schema.png?...下面的Gremlin脚本演示了如何将该文件加载到Titan中(由BerkleyDB支持): conf = newBaseConfiguration() {{ setProperty("storage.backend

1.7K50

百亿级图数据JanusGraph迁移之旅

JanusGraph 默认做法是逐条获取这个1000 个用户所有属性,再在内存中做过滤最后获得这 100 个用户,这就导致关联顶点数量比较大时候,直接不可用。...好在 JanusGraph 在最新 0.4 版本中提供了一个 _multiPreFetch 优化功能,能在属性过滤时候批量并行获取所有关联顶点属性,再在内存做属性过滤,关于这个功能详细介绍可以看这里...并且这个功能并不是很完善,当你过滤条件是 hasNot, 或者返回边属性,或者语句后有 limit 操作都会使这个优化失效。...而你能做只能是想尽办法绕开,例如:has("is_exception", neq("true")) 另一个问题就是 JanusGraph 查询数据如何返回问题,Gremlin 返回数据支持多种写法...最常用就是使用 valueMap 方式,但是这里面有两个比较大坑,第一个是返回属性值默认是list类型,第二个是如果返回结果使用多个 valueMap 导致特别消耗内存。

2.5K50

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服务中实际测试..."edge_value").bothV() 获取到两个节点,可以发现不仅包含目标节点还包含源节点 ==>v[2539] ==>v[8853] over~ =

51010

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

、用户其他属性作为节点属性,类似于下图; ?...对比非原生图解决方案中,随着信息量增加,使用面向对象数据库存储数据库使数据操作变得越来越慢。 Neo4J可以以每秒一百万条惊人速度提供结果,因为数据中链接部分或实体在物理上是已经相互连接。...,从而振兴分布式图系统开发” JanusGraph从Apahce TinkerPop中吸收了对属性图模型(Property Graph Model)支持和对属性图模型进行遍历Gremlin遍历语言...Edge Label:边类型,用于表示现实世界中关系类型,比如“通话关系”,“转账关系”,“微博关注关系”等; Edge: 边,用于表示一个个具体联系。JanusGraph边都是单向边。...ps:避免篇幅过大,架构相关信息会在后续博文详细说明 如何使用 作为一个数据库系统,它是要用来为应用程序存储数据用,那么应用程序应该如何使用JanusGraph来为自己存储数据呢?

4.6K270

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

、多次join想想就刺激~ 那么,基于图论图数据库就诞生了,详细我们下面再介绍,先基于将数据存储到图库中,用户做为节点、用户与用户之间关系作为边、用户其他属性作为节点属性,类似于下图;...对比非原生图解决方案中,随着信息量增加,使用面向对象数据库存储数据库使数据操作变得越来越慢。 Neo4J可以以每秒一百万条惊人速度提供结果,因为数据中链接部分或实体在物理上是已经相互连接。...,从而振兴分布式图系统开发” JanusGraph从Apahce TinkerPop中吸收了对属性图模型(Property Graph Model)支持和对属性图模型进行遍历Gremlin遍历语言...Edge Label:边类型,用于表示现实世界中关系类型,比如“通话关系”,“转账关系”,“微博关注关系”等; Edge: 边,用于表示一个个具体联系。JanusGraph边都是单向边。...架构图如下: ps:避免篇幅过大,架构相关信息会在后续博文详细说明 如何使用 作为一个数据库系统,它是要用来为应用程序存储数据用,那么应用程序应该如何使用JanusGraph来为自己存储数据呢

2.5K40

JanusGraph -- 简介

目录 简介 历史 基本概念 关键点(来自官网) 整体架构(来自官网) 如何使用: 其他: ETL OLTP与OLAP 简介 图数据库源起欧拉和图理论,也可称为面向/基于图数据库...中吸收了对属性图模型(Property Graph Model)支持和对属性图模型进行遍历Gremlin遍历语言。...Edge Label:边类型,用于表示现实世界中关系类型,比如“通话关系”,“转账关系”,“微博关注关系”等; Edge: 边,用于表示一个个具体联系。JanusGraph边都是单向边。...图查询语言 Gremlin图服务器 Gremlin应用程序 Apache 2许可下开源 工具可视化存储在JanusGraph中图形: Cytoscape Apache TinkerPop Gephi...如何使用: 作为一个数据库系统,它是要用来为应用程序存储数据用,那么应用程序应该如何使用JanusGraph来为自己存储数据呢?

4.5K10

图数据库HugeGraph源码解读 (1) —— 入门介绍

Gremlin查询语言, 具备完善工具链组件,助力用户轻松构建基于图数据库之上应用和产品。...HugeGraph-Studio:基于Web可视化IDE环境。以Notebook方式记录Gremlin查询,可视化展示Graph关联关系。HugeGraph-Studio也是本系统推荐工具。...主要包含几个部分: Vertex(顶点),对应一个实体(Entity) Vertex Label(顶点类型),对应一个概念(Concept) 属性(图里name、age),PropertyKey Edge...: 查询所有edge: GraphTraversal edges = graph.traversal().E().limit(2); 根据ID查询edge: EdgeLabel...id由几个字段拼接起来: "S%s>%s>%s>S%s",authorId, authored.id(), "", book2Id) 根据条件查询edge: q = new ConditionQuery

2.2K20
领券