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

如何用Gremlin查询具有OR关系的多条边

模型出错了,请稍后重试~

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

相关·内容

JanusGraph图数据库应用以及知识图谱技术介绍

JanusGraph是一种典型图数据库,具有以下特点: 1. 数据模型: 图数据库数据模型主要以节点和关系)为基础,同时可以处理键值对。...JanusGraph数据模型支持灵活图结构定义,包括顶点、标签以及属性关联。 2. 关系查询: 图数据库通过节点和关系来存储和查询数据,能够迅速解决复杂关系问题。...功能特性: JanusGraph包含众多功能特性,邻接表技术高效查询结构数据、高效查询或遍历关系数据、在线schema变更和并行在线数据更新、分布式架构、高可用和热备份、地理位置、数字范围和全文检索等...JanusGraph支持图查询语言Cypher或Gremlin,提供强大查询能力。...Gremlin API: JanusGraph引入了Apache TinkerPop Gremlin组件,通过Gremlin API提供了开源标准图交互式查询语言接口。

18410

属性图数据库JanusGraph初探

关系型数据库用于存储关系型数据效果并不好,其查询复杂、缓慢、超出预期,而图形数据库独特设计恰恰弥补了这个缺陷。 Google图形计算系统名为Pregel。...1.1 Tinkerpop结构 Tinkerpop处理是图结构数据,它结构API基础组件包括如下几部分: Graph:维护点和集合,数据库访问事务; Element:维护属性和标签(表示元素类型...3.2 协调多种图遍历 Gremlin遍历机具有更好普遍性。...然而,声明遍历具有额外好处,它不仅利用了编译时查询计划器(命令式遍历),而且还是一个运行时查询计划器,根据每个模式历史统计信息选择下一个执行哪个遍历模式 - 有利于那些倾向于减少/过滤大多数数据模式...3.4 无缝嵌入主语言 经典数据库查询语言(SQL)被认为与最终在生产环境中使用编程语言截然不同。因此,经典数据库要求开发人员既要编写主编程语言,还要编写数据库相应查询语言。

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

    而图数据库,则是以图这种具有结构来增、删、改、查之类操作NoSQL数据库,它特别擅长处理大数据之间关联。...根据官网上介绍,HugeGraph是一款易用、高效、通用开源图数据库系统(Graph Database),实现了Apache TinkerPop3框架及完全兼容Gremlin查询语言,支持百亿以上顶点和快速导入...,并提供毫秒级关联关系查询能力(OLTP),并可与Hadoop、Spark等大数据平台集成以进行离线分析(OLAP)。...HugeGraph有以下特点: 顶点、:支持基本增删改查操作,支持有向图,支持两顶点间同一类型多条,支持超级点。...,用户根据实际情况选择一种即可; API:内置REST Server,向用户提供RESTful API,同时完全兼容Gremlin查询

    2K30

    3. JanusGraph快速开始

    这个抽象数据模型对应图模型中属性,这个特定实例描述了罗马万神殿中人物和地点之间关系。此外,图中特殊文本和符号修饰符(:粗体、下划线等)表示图中不同示意图/类型。 ?...单项(只能在一个方向建立关系) 下载Janusgraph并运行Gremlin Console JanusGraph可以从项目仓库Releases分支下载。...Groovy构建在Java语言之上,具有很多简洁语法,使交互式编程变得更加容易。同样Gremlin-Groovy也是构建在Groovy之上,具有简洁语法,使得图遍历变得容易。...属性place是一个属性。因此JanusGraph可以通过图索引索引到。它可以查询Gods图中发生在Athens(纬度:37.97, 经度:23.72) 50km范围内信息。...每个遍历查询说明在注释中显示。

    3.3K20

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

    虽然和关系型数据库存储结构不同(关系型数据库为表结构,图数据库为图结构),但不计各自性能问题,关系型数据库可以通过递归查询或者组合其他 SQL 语句(Join)完成图查询语言查询节点关系操作。...虽然 Gremlin 是基于 Groovy ,但具有许多语言变体,允许开发人员以 Java、JavaScript、Python、Scala、Clojure 和 Groovy 等许多现代编程语言原生编写...) CRUD说完类型应该进入到常规操作部分了插入指定边类型可以看到和点使用语法类似,只不过在 Cypher 和 nGQL 中分别使用 -[]-> 和 -> 来表示关系,而 Gremlin...则用 to() 关键词来标识指向关系,在使用这 3 种图查询语言图数据库中均为有向,下图左边为有向,右边为无向。...vidRETURN r# nGQL 指定点查指定边GO FROM OVER 沿指定点反向查询指定边在反向查询中,Gremlin 使用了 in 来表示反向关系,而 Cypher 则更直观将指向箭头反向变成

    11.3K21

    图数据库调研

    SPARQL查询与 RDF 是一致,RDF 是图,SPARQL 查询是子图匹配。 Gremlin:数据以属性图形式存在,属性仍然在表中,但是联接关系是直接以链接(比如指针)形式存在。...年排行榜,其继任者 JanusGraph 也在快速跟进中; 此外一些国内还有一些图开源项目, HugeGraph ,将在后面一部分介绍。...Neo4j Neo4j 是目前最流行图形数据库,支持完整事务,在属性图中,图是由顶点(Vertex),(Edge)和属性(Property)组成,顶点和都可以设置属性,顶点也称作节点,也称作关系...缺点: Neo4j 2.1.3最新版本具有支持节点数,关系和属性限制。 它不支持分片。 Neo4j官方地址:https://neo4j.com/。...用 Gremlin 查询 Apache TinkerPop3样式属性图。Gremlin 是一种图遍历语言,其中查询是遍历节点边缘之后离散步骤构成遍历。 用 SPARQL 查询 RDF。

    6.6K30

    Gremlin查询概述

    RDF 由节点和组成,节点表示实体/资源、属性,则表示了实体和实体之间关系以及实体和属性关系。RDF 没有外键和主键,它使用是 URI,万维网标准引用格式。...顶点也称为 节点(Node),也称为 关系(Relationship)。...GremlinServer.java); Gremlin还有其他一些模块, gremlin-console、gremlin-jsr223等,需要可以研究一下。...; 抽象后架构,对外是统一,不利于我们发挥后端存储查询优势( Hbase Coprocessor,是可以加速查询),为了使用这种能力,我们需要破坏这种统一架构去适配后端存储。...JanusGraph 缺陷 由上面的存储和查询也可以看到,基于 Hbase属性图有下面几个明显缺陷: 顶点属性和存储在一行中,当点出入度越大时,属性查询耗时将会越大; 更新某一个属性时,需要先获取整个数据

    4K10

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

    查询性能明显下降 原生图存储 无邻接索引特性能够高效处理复杂知识图谱查询,但有限存储容量和不灵活更新机制使得原生图存储不能很好地应用于大规模知识图谱中 2.基于关系知识图谱存储管理 关系数据库目前仍是使用最多数据库管理系统...2.1 三元组表 三元组表 (triple table) 是将知识图谱存储到关系数据库最简单、最直接办法, 就是在关系数据库中建立 一张具有 3 列表, 该表模式为 triple_table(subject...缺点: (1) 需要创建数目与知识图谱中不同谓语数目相等,而大规模真实知识图谱 ( DBpedia、YAGO、WikiData 等) 中谓语数目可能超过几千个,在关系数据库中维护如此规模表需要花费很大开销...Cayley 使用 Go 语言开发,可以作为 Go 类库使用;对外提供 REST API,具有内置查询编辑器和可视化界面;支持多种查询语言,包括:基于 Gremlin Gizmo、GraphQL...它是世界上能够托管具有数百亿个顶点(节点)和数万亿条关系图形最佳解决方案,具有毫秒级延迟。

    3.8K11

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

    导读:作为一种基础数据结构,图数据应用场景无处不在,社交、风控、搜广推、生物信息学中蛋白质分析等。如何高效地对海量图数据进行存储、查询、计算及分析,是当前业界热门方向。...对比图数据库与关系数据库 图模型基本元素包括点、和属性。举例:张三好友所在公司有多少名员工?传统关系型数据库需要多表join,而图作为半结构化数据,在图上进行遍历和属性过滤会更加高效。...Gremlin查询语言接口 选用Gremlin语言是考虑到之后方便对图计算、图数据库二者进行融合,本身是图灵完备图遍历语言,相较于Cypher等类SQL语言,对于善用Python数据分析师更容易上手...每棵Btree单一写者,防止并发写入导致不完整;每棵树都有独立WAL日志流,且写入请求处理流程中只写入WAL,并修改内存中数据,compaction时再将数据落盘,解决由于每个KV对可能由多条组成而导致写放大...高可用 城域网双机房,国内两个机房,延迟较低。follow一写多读策略,备机房把写流量转入主机房,只有主机房会把WAL更新到KV存储上。 广域网容灾部署,新加坡和美国两台机器,延迟较高。

    1.2K20

    查询语言指南

    了解图查询语言机制可以帮助您了解它为什么如此强大。让我们分解一下。 图查询语言使用节点、和属性组合来表示和查询数据。节点表示实体,定义这些实体之间关系,属性存储有关节点和附加信息。...而图查询语言将数据表示为节点和,以更自然方式反映现实世界关系。这使得它们特别适用于实体之间连接与实体本身一样重要场景。 与 SQL 相比,图查询语言能够以更自然方式表达复杂关系和遍历。...掌握 Cypher、Gremlin 或 SPARQL 等图查询语言使您能够以 SQL 不可能方式处理数据。这些语言允许您编写遍历关系和模式查询。...这种技能在理解数据点之间连接至关重要行业(金融、医疗保健和物流)中特别有用。 随着图技术不断发展,图查询语言熟练程度可能会受到高度重视。...了解图查询语言不仅使您更加多才多艺,而且还使您成为竞争激烈就业市场中一项宝贵资产。 使用世界上最先进、性能最高具有原生 GraphQL 图数据库,立即开始构建。

    14710

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

    介绍 Titan是一个高度可扩展开源图形数据库。图形数据库是一种NoSQL数据库,其中所有数据都存储为节点(nodes)和(edges)。...图形数据库适用于高度连接数据应用程序,其中数据之间关系是应用程序功能重要部分,社交网站。Titan用于存储和查询分布在多台机器上大量数据。...第2步 - 使用Gremlin查询图表 Gremlin是一种图形遍历语言,用于查询,分析和操作Graph数据库。现在Titan已经设置并启动,您将使用Gremlin创建和查询Titan节点和边缘。...在图形数据库中,您主要通过遍历它来查询数据,而不是像关系数据库一样检索具有连接和索引记录。为了遍历图形,我们需要来自graph参考变量图形遍历源。以下命令可实现此目的。...例如,我们可以添加一种颜色: gremlin> g.V(sammy).property('color', 'blue') 现在,让我们定义这两个顶点之间关系

    2.3K20

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

    图库是节点&集合,描述了节点间关联关系。 ?...模型 tinkerpop3 模型核心概念 Graph: 维护节点&集合,提供访问底层数据库功能,事务功能 Element: 维护属性集合,和一个字符串label,表明这个element种类 Vertex...final Vertex outVertex; 这样就完成了图组织,可以看出来从任意图中一个起始节点,可以先找到出度,然后查询出度节点,这样travesal就跳到了下一个节点,反复如此即可完成对图遍历...核心在于提供gremlin查询语法及引擎,类似sqlparse,把查询语言转变成执行计划。...一个体系ID编码和压缩对象序列化易于使得每个cell保持尽可能少地占用后端存储空间。 一条信息会被出度、入度vetex保留两遍,便于快速定位到邻接节点,可避免表级联查询

    4.9K30

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

    它应用图形理论存储实体之间关系信息;图数据库基本含义是以“图”这种数据结构做为逻辑结构存储和查询数据。 我们知道一个图包含节点和,如下图: ?...例如,实体:类似于用户、用户亲属等作为一个节点存在于图中,:用户和用户亲属之间关联关系,小李—>小李父亲,这两个节点之间可以设定为“用户父母”; 主流图数据库 目前主流图数据库有:Neo4j...JanusGraph是一个可扩展图形数据库,专门用于存储和查询分析分布在多机集群中数千亿个顶点和关系图形。 JanusGraph是一个事务数据库,可以支持数千个并发用户实时执行复杂图遍历。...Edge Label:类型,用于表示现实世界中关系类型,比如“通话关系”,“转账关系”,“微博关注关系”等; Edge: ,用于表示一个个具体联系。JanusGraph都是单向。...图查询语言 \ Gremlin图服务器 \ Gremlin应用程序 Apache 2许可下开源 工具可视化存储在JanusGraph中图形:Cytoscape \Apache TinkerPop

    4.7K270

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

    它应用图形理论存储实体之间关系信息;图数据库基本含义是以“图”这种数据结构做为逻辑结构存储和查询数据。...例如,实体:类似于用户、用户亲属等作为一个节点存在于图中,:用户和用户亲属之间关联关系,小李—>小李父亲,这两个节点之间可以设定为“用户父母”; 主流图数据库 目前主流图数据库有:Neo4j...JanusGraph是一个可扩展图形数据库,专门用于存储和查询分析分布在多机集群中数千亿个顶点和关系图形。 JanusGraph是一个事务数据库,可以支持数千个并发用户实时执行复杂图遍历。...Edge Label:类型,用于表示现实世界中关系类型,比如“通话关系”,“转账关系”,“微博关注关系”等; Edge: ,用于表示一个个具体联系。JanusGraph都是单向。...图查询语言 \ Gremlin图服务器 \ Gremlin应用程序 Apache 2许可下开源 工具可视化存储在JanusGraph中图形:Cytoscape \Apache TinkerPop

    2.5K40

    查询语言历史回顾短文

    做个简单记录。 摘要 本短文会涉及到查询语言有 Cypher、Gremlin、PGQL 和 G-CORE。...在 2007 年,Neo4j 知识产权转移给了一家独立数据库公司。 Neo4j 第一个公开发行版中,数据模型由节点和有类型构成,节点和都有 key-value 组成属性。...Gremlin 创造 最初与 Neo4j 查询方式是通过 Java API。应用程序可以将查询引擎作为库嵌入到应用程序中,然后使用 API 查询图。...它允许更短语法来表达查询,也允许通过网络远程访问数据库。Gremlin 这种过程式特性,需要用户知道如何采用最好办法查询结果,这样对于应用程序开发人员来说仍旧有负担。...可以看下图例子: [graph-query-language-review] ascii art 简单说,就是如何用可打印文本来描述点和。Cypher 文本用()表示点,-[]->表示

    2.8K20

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

    、包 2无重复、包 2子图同态、包 2子图同构 3、包 2子图同态、包 2导航式查询语法RPQ 超集 (增加反向和属性集上否定)RPQ 子集 (* 只能作用在单边)RPQ 超集 (增加通过表达式比较属性值...2.1 三元组表三元组表 (triple table) 是将知识图谱存储到关系数据库最简单、最直接办法, 就是在关系数据库中建立 一张具有 3 列表, 该表模式为 triple_table(subject...快速执行不同谓 语表连接查询操作.缺点:(1) 需要创建数目与知识图谱中不同谓语数目相等,而大规模真实知识图谱 ( DBpedia、YAGO、WikiData 等) 中谓语数目可能超过几千个...Cayley 使用 Go 语言开发,可以作为 Go 类库使用;对外提供 REST API,具有内置查询编辑器和可视化界面;支持多种查询语言,包括:基于 Gremlin Gizmo、GraphQL...它是世界上能够托管具有数百亿个顶点(节点)和数万亿条关系图形最佳解决方案,具有毫秒级延迟。

    76610

    图数据库查询语言Cypher、Gremlin和SPARQL

    Gremlin:数据以属性图形式存在,可以认为是上面两种混合体,属性仍然在表中,但是联接关系是直接以链接(比如指针)形式存在。...查询本质是图遍历,擅长解决求图直径、点到点之间路径,比如刘德华连接奥巴马需要几度关系。 2. 分解示例 问题:非洲国家首都有哪些? 2.1 SQL 首先设计两张表,洲和国家两张表。...x ex:isInContinent ex:Africa . } 就是获取非洲国家所有直接关联信息(所有出,不包括入)。...2.3 Gremlin Gremlin是由Groovy实现查询语言,查询过程就是图遍历过程。...针对每一个多值属性都需要进行额外拆表,这对表管理带来了巨大挑战。查询时频繁地进行多表联接对数据库性能也是个挑战。另外,也可以直接在关系型数据库中存储三元组,但是查询效率并不高。

    4.1K50

    Gremlin-常用查询语句用法

    目录 一:gremlin查询过程 二:常用查询方法 一:gremlin查询过程 gremlin查询是流式查询,一步一步进行下去,当然这里“一步”可能是一个方法(g.V().has())也可能是多个方法组成一步...gremlin查询语句可以十分灵活,从而满足我们各种查询需求。...gremlin查询形式方法有大体了解,之后找方法在官网就可以了 3:本文章在使用过程会不断更新 二:常用查询方法 首先,这里g.V()中g为遍历实例,其创建为: graph = TinkerGraph.open...','AUS').out("brought") //获取AUS节点所有边关系为“brought”对应节点 g.V().has('code','AUS').in() //获取AUS节点所有入对应节点...'brought').outV().path() //获取指定关系 获取两个节点之间 g.V().has('code','MIA').

    3K40

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

    Neo4j在每个节点中存储了每个指针,因而遍历时效率相当高。 Neo4j分为社区版和企业版,社区版功能受限,另外其提供可视化客户端感觉很不错。...SB树索引导致,空间浪费比较大;插入节点与neo4j差不多,但是在插入节点关系时无优化;在图论算法上性能高,但遍历性能低。...Hadoop分布式计算框架 原生支持集成了Tinkerpop系列组件:Gremlin查询语言,Gremlin-Server及Gremlin applications。...HugeGraph主要特点包括: 基于TinkerPop 3 API实现,支持Gremlin查询语言; 拥有完善周边工具链和相关功能组件,可以满足图数据库开发基本需求,提供易用高效使用体验...非原生图存储通常将图结构序列化存储到RDBMS或其他通用存储中,JanusGraphHBase/Cassandra,HugeGraph甚至增加了对MySQL等支持。

    3.6K30

    Apache新顶级项目 TinkerPop

    Apache软件基金会最近宣布:TinkerPop 升级为顶级项目 TinkerPop 是一个图计算框架,用来进行实时事务型处理,和批量图分析,包含了一系列以 Gremlin 引擎为核心子项目和模块...图是一种描述数据存储结构方式,比如键值对结构,也是存储数据一种方式,只是图结构更为复杂 图是由顶点和组成,点和各自都可以包含任意多个键值对形式属性 点是用来描述离散对象,例如 人、地点、...事件 是对点之间关系描述,例如,一个人可以认识另一个人、一个人参与了某件事、一个人在某个地方 属性描述了点和信息,例如,一个点包含属性:名称、年龄,一个包含属性:时间戳 点、、属性 就构成了一个图...图计算已经有了丰富历史,他有查询语言,和复杂算法,例如 路径分析、点类聚、排序、子图识别 …… 正是因为图具有灵活数据结构,并包含了丰富复杂算法,所以图结构被广泛应用于数据挖掘、数据分析 TinkerPop...TinkerPop 图处理引擎 Gremlin 非常强大,并支持非常多开发语言,例如 Python, JavaScript, Scala, Go,选择自己熟悉语言,即可运行图遍历处理 TinkerPop

    1.5K50
    领券