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

Gremlin: inject()和has()没有像预期的那样协同工作

Gremlin是一种图数据库查询语言,用于在图数据库中执行图遍历和查询操作。在Gremlin中,inject()has()是两个常用的步骤操作。

  1. inject()inject()步骤用于将一个或多个元素注入到查询流中。它可以接受一个参数,该参数可以是单个元素或一个元素列表。inject()步骤将这些元素添加到查询流中,并将它们作为起始点开始执行后续的遍历操作。
  2. has()has()步骤用于过滤查询流中的元素,只保留满足特定条件的元素。它可以接受一个或多个条件参数,每个条件参数都由属性键和属性值组成。has()步骤将查询流中的元素与条件进行比较,并保留满足条件的元素,将它们传递给下一个遍历步骤。

然而,根据提供的问答内容,inject()has()没有像预期的那样协同工作。具体原因可能是由于以下几种情况之一:

  1. 错误的使用方式:inject()has()可能被错误地使用,导致它们之间的协同工作出现问题。可能是参数传递错误或条件设置不正确。
  2. 数据不匹配:inject()注入的元素与has()步骤中设置的条件不匹配,导致没有符合条件的元素被保留下来。
  3. 数据库配置问题:可能存在数据库配置问题,导致inject()has()步骤无法正确地协同工作。这可能涉及到数据库版本、插件或其他相关设置。

为了解决这个问题,可以采取以下步骤:

  1. 检查使用方式:仔细检查inject()has()步骤的使用方式,确保参数传递正确,并且条件设置准确。
  2. 检查数据匹配:确认inject()注入的元素与has()步骤中设置的条件匹配。可以通过输出中间结果或使用其他调试方法来验证数据匹配情况。
  3. 检查数据库配置:检查数据库的配置是否正确,并确保数据库版本和相关插件的兼容性。可以参考数据库文档或咨询相关技术支持。

总结起来,inject()has()是Gremlin中常用的步骤操作,用于注入元素和过滤元素。然而,它们可能在协同工作时出现问题,可能是由于使用方式错误、数据不匹配或数据库配置问题所致。通过仔细检查使用方式、确认数据匹配和检查数据库配置,可以解决这个问题。

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

相关·内容

Gremlin查询语言

Gremlin是JanusGraph查询语言,用于从图中检索数据更新数据。 Gremlin是一种面向路径语言,它能够简洁地表示复杂图形遍历多步操作。...Practical Gremlin Book: 图数据库Gremlin查询语言入门指南。 Gremlin Recipes: Gremlin最佳实践常见遍历模式集合。...Gremlin其他语言驱动实现也是可以使用。 2. 遍历迭代 Gremlin控制台其中一个特性是它从gremlin>prompt自动迭代所有的查询结果。...当你开始编写Gremlin应用程序时,了解如何显式迭代遍历非常重要,因为应用程序遍历不会自动迭代。 以下是迭代遍历一些常用方法: iterate() - 预期或者可以忽略空值。...toList() - 获取所有的结果作为一个list,如果没有结果则返回空列表。

3.5K20

图数据库查询语言Cypher、GremlinSPARQL

SQL/Gremlin/Sparql简单对比 很多人会问一个问题是图查询能不能用SQL做,首先可以肯定这个是能做,如果效率也非常高的话也就没有必要再多做探讨。...用SQL查询是需要对表设计有一些要求,同样GremlinSPARQL两种查询标准都是对存储模式是有一定假设(或者要求)。...还好有schema.org这一类标准化工作让事情变得稍微简单一点点,一般通用字段已经给出了定义域值域。...用GremlinSPARQL可以很容易地从某个数据库转到另外一个,但是Cypher就不要想了。另外,Neo4j数据组织是属性图。 问题5:MongoDBElasticSearch呢?...你要是觉得写查询不累、构造查询不麻烦,其实都行。抽象到SPARQL/Gremlin这种级别的查询上还是需要一些工作,本身未必很难,但是得做。

3.9K50

Gremlin 图查询概述

关系型数据库用于存储关系型数据效果并不好,其查询复杂、缓慢、超出预期,而图形数据库独特设计恰恰弥补了这个缺陷。Google图形计算系统名为 Pregel。...RDF 由节点边组成,节点表示实体/资源、属性,边则表示了实体实体之间关系以及实体属性关系。RDF 没有外键主键,它使用是 URI,万维网标准引用格式。...TinkerPop 是一个图计算框架,用来进行实时事务型处理,批量图分析,包含了一系列以 Gremlin 引擎为核心子项目模块。...框架型代码工程代码(如 mybatis、nginx 等)风格还是不一样,一些好设计模式值得好好研究。 值得一提是,Gremlin 模块中,有非常多 SPI 实现: ?...Gremlin 查询示例 关于 Gremlin语法例子,请参考我之前写 Gremlin 图查询概述 这一篇文章。

3.9K10

3. JanusGraph快速开始

这个抽象数据模型对应图模型中属性,这个特定实例描述了罗马万神殿中人物地点之间关系。此外,图中特殊文本符号修饰符(如:粗体、下划线等)表示图中不同示意图/类型。 ?...Gremlin Console是在JanusGraph包中自带一个REPL(即交互式shell),这跟标准Gremlin Console有所不同,因为它是JanusGraph预安装预加载包。...gremlin> saturn = g.V().has('name', 'saturn').next() ==>v[256] gremlin> g.V(saturn).valueMap() ==>[name...图属性模型足以表示各种事物关系。 通过这种方式,Gods图也展示了Hercules各种英雄事迹 - 他著名12年工作。 在上一节中,发现Hercules参与了雅典附近两场战争。...Tartarus同居者 gremlin> pluto = g.V().has('name', 'pluto').next() ==>v[2048] gremlin> // who are pluto's

3.3K20

属性图数据库JanusGraph初探

关系型数据库用于存储关系型数据效果并不好,其查询复杂、缓慢、超出预期,而图形数据库独特设计恰恰弥补了这个缺陷。 Google图形计算系统名为Pregel。...当一个图系统实现TinkerPop3结构处理API,则该系统是支持TinkerPop3并且跟其他支持TinkerPop3图系统在时间复杂度空间复杂度是没有区别的。...如果使图系统具有处理功能(OLAP),则需要实现GraphComputer API,它定义了消息或遍历器是如何在工作者(线程或机器)之间进行交互传递。...3.3.1 命令式编写方式 获得Gremlin合作者上司名字分布: g.V().has("name","gremlin").as("a"). out("created").in("created")....3.3.2 声明式编写方式 以下使用声明式编写方式实现了同样结果: g.V().match( as("a").has("name","gremlin"), as("a").out("created"

3.5K50

Gremlin -- 常用查询用法

1:创建源节点 2:组装语句 一:gremlin查询过程 gremlin查询是流式查询,一步一步进行下去,当然这里“一步”可能是一个方法(g.V().has())也可能是多个方法组成一步(g.V...’,‘age’) 获取上个结果集中所有节点nameage属性值 第五步:order().by(‘age’,desc) 对结果集根据age进行降序排序 从上面便可以看出gremlin流式执行特征...出边对应节点nameage属性值 g.V().has('code','AUS').out().value() //显示所有的属性值 使用has、hasNot获取(不)包含某一属性值得节点 g.V...('name','gremlin').valueMap() //获得节点所有属性 //valueMap在默认情况下不显示IDlabel值,必须添加true参数 g.V().has('name','gremlin...“是填充字符,只是为了可以使用方法,比如and( _.has(type,P.gte(beginTime)。。中如果没有__.的话,不能这写吧,也不支持呀and(.has()。。

12.8K96

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

文章开头我们先来看下什么是图数据库,根据维基百科定义:图数据库是使用图结构进行语义查询数据库,它使用节点、边属性来表示存储数据。...同 60、70 年代关系型数据库类似,图数据库这个领域查询语言目前也没有统一标准,虽然 19 年 9 月经过国际 SQL 标准委员会投票表决,决定将图查询语言(Graph Query Language...图片介于市面上没有统一图查询语言标准,在本文中我们选取市面上主流几款图查询语言来分析一波用法,由于篇幅原因本文旨在简单介绍图查询语言和常规用法,更详细内容将在进阶篇中讲述。...,这里说下如何插入特定类型点,获取、删除更新。...)边 CRUD说完边类型应该进入到边常规操作部分了插入指定边类型边可以看到使用语法类似,只不过在 Cypher nGQL 中分别使用 -[]->  -> 来表示关系,而 Gremlin

10.4K21

百亿级图数据JanusGraph迁移之旅

JanusGraph 官方集成 Spark时候只提供了单机模式 standalone cluster 模式配置方式,没有提供如何集成 Spark on Yarn 文档。...我们应用场景属性都是放到顶点上,例如:如果我要查询一个用户通话关系,但是需要过滤只要相关注册用户,查询语句下面这样 g.V().has("name","138xxxx4444").both("CALL...").has("is_register","true") 上面的查询语句假设这个用户 1000 个人有通话关系,但是我只关心和他相关注册用户 100 人。...个人感觉在没有这个优化功能情况下 JanusGraph 基本不具备在生产环境使用条件。...而你能做只能是想尽办法绕开,例如:has("is_exception", neq("true")) 另一个问题就是 JanusGraph 查询数据如何返回问题,Gremlin 返回数据支持多种写法

2.5K50

如何在Ubuntu 16.04上使用CassandraElasticSearch设置Titan Graph数据库

没有服务器用户可以购买使用腾讯云服务器或者直接在腾讯云实验室Ubuntu服务器上体验。 第1步 - 下载,解包启动Titan 要下载Titan数据库,请转到下载页面。...Run gremlin.sh to connect. Titan依赖一堆其他工具来工作。...第2步 - 使用Gremlin查询图表 Gremlin是一种图形遍历语言,用于查询,分析操作Graph数据库。现在Titan已经设置并启动,您将使用Gremlin创建和查询Titan节点边缘。...在图形数据库中,您主要通过遍历它来查询数据,而不是关系数据库一样检索具有连接索引记录。为了遍历图形,我们需要来自graph参考变量图形遍历源。以下命令可实现此目的。...然后我们指定PATH环境变量,Titan工作目录执行命令。我们将命令分配给ExecStart变量启动Titan。

2.3K20

图数据库调研

注意,这里只是说了通过 提供类似图语义查询功能,并没有规定图存储结构。图数据库主要优点: 更好,更快速查询分析; 更简单更自然数据建模; 同时支持实时更新和查询; 数据结构灵活性。...SQL/ElasticSearch:当然也可以自己构造查询,但是人工把输入抽象到 SPARQL/Gremlin 这种级别的查询上还是需要一些工作,本身未必很难,但是得做。...Neo4j创建图是用顶点边构建一个有向图,其查询语言cypher已经成为事实上标准。 Neo4j 分为社区版企业版,社区版只能工作在单机上,社区版免费 ,企业版收费 。...; 它不需要复杂连接来检索连接/相关数据,因为它很容易检索它相邻节点或关系细节没有连接或索引。...正如InfoWorldSerdarYegulalp所写:“在拥有Cosmos DB情况下,微软在同一个数据库中提供了多重持久化模型,因此模型选择可以是工作负载功能而不是产品功能”。

6.5K30

2018-11-23 一个公司图数据选型

郭柱明 ---- 注意 因为我之前都要使用博客记录习惯 所以下面很多链接都链接向我自己写博客上 所以导致下面看起来内容不多 其实下面内容还是有的 ---- 阶段一:图数据库考察 图数据库考察是我进入公司开始做第一部分工作...在这里 其实这个问题包含思想很重要 扬哥因此还送了我一平红酒 细节请看docker在测试中应用 后来我也用docker在开发测试中写了另外一些demo 用法不一样基于容器开发测试 ----...说实话我们没接触多长时间 所以在这一阶段写代码并不多 有一个需求就是找子图 代码在subgraph 里面我也写了部分注释 博客详情在我subgraph博客 hugegraph时期我花了很多时间在看gremlin...官方文档上 因为gremlin语法众多而且复杂 我并没有以前翻译cayley查询语言Gizmo那样用博客把常用查询语法记录下来 所以有点可惜 但是太多了记下来也没用 可以当官方文档是字典 使用时候去查阅...平时只需要记住常用查询语法即可 ---- 使用docker为测试提供一次性数据库 docker容器目前有三个用处 提供一次性环境 提供弹性云服务 组件微服务架构 我有做基于容器docker开发测试上一些简单尝试

1.4K40

10. Things to Consider in a Multi-Node JanusGraph Cluster

但是,在这样环境中工作时,有一些重要事情需要考虑。 此外,如果配置正确,JanusGraph会为用户处理一些特殊注意事项。 1....这与标准Gremlin Server实现允许访问图形方式有所不同。 传统上,用户通过gremlin-server.yaml文件进行相应配置,在服务器启动时创建与图形绑定。...要正确使用ConfiguredGraphFactory,在集群中必须使用JanusGraphManagerConfigurationManagementGraph来配置每个Gremlin Server...动态图遍历绑定 JanusGraph能够分别在集群中所有JanusGraph节点上绑定动态创建图形及其对 _traversal...emptygraph[empty], standard] 为了完成,上面的conf / remote-objects.yaml应告诉Cluster API如何访问远程JanusGraph服务器; 例如,它可能看起来

1.4K20

次方 - 第一部分

100万 [gremlin-to-the-6.png?w=107&h=150] 在数百万以及更少范围内,确实没有特别的加载策略可以遵循,因为图可以完全载入内存,加载时间也相当快。...很明显,它提供了Titan这样图形数据库访问,但是在同一个REPL会话中,也可以连接到关系数据库,接触到Web服务,读取文件等。...w=112&h=150] 加载数千万条边方法与上一节没有太大区别。Gremlin脚本仍然是最直接加载方法,但是需要考虑一些差异。...BatchGraph覆盖默认addVertexgetVertex功能并允许通过NPI number进行规范查找顶点。如果没有找到顶点,getVertex将返回null并添加顶点。...在这个规模上要考虑其他一些策略想法包括: 使用数据子集编程测试加载脚本以缩短开发周期时间。 使用第三方库来提高工作效率并减少要编写代码量(例如groovycsv)。

1.7K50

Hilt 工作原理 | MAD Skills

所涉主题 多种 Hilt 注解协同工作并生成代码方式。 当 Hilt 配合 Gradle 使用,Hilt Gradle 插件如何在幕后工作以改善整体体验。...多种 Hilt 注解协同工作并生成代码方式 Hilt 使用注解处理器生成代码。对注解处理发生在编译器将源文件转换为 Java 字节码期间。顾名思义,注解处理器作用于源文件中注解。...但这并不是真实语法,而是 Hilt Gradle 插件为您提供语法糖。接下来我们将探讨更多关于 Gradle 插件内容,在此之前,我们先来看看这个例子在没有语法糖情况下应该是什么样子。...您可以往常一样简单地使用 implementation,其余将由 Hilt Gradle 插件处理。...最后,类路径聚合为您依赖项提供了更好封装,因为不可能在源文件中意外引用这些类,并且它们不会出现在代码补全提示中。 总结 本文我们揭示了各种 Hilt 注解协同工作以生成代码方式。

1.5K20

用TypeScript装饰器实现一个简单依赖注入

这显然是更容易维护代码。不仅如此,在实际工程中,这种设计模式还有利于不同组协同合作和单元测试。...3 预备知识 Reflect 简介 Proxy 与 Reflect 是 ES6 为了操作对象引入 API,Reflect API Proxy API 一一对应,并且可以函数式实现一些对象操作...注册依赖时候尽可能简单,甚至不需要用户自己定义 key,所以这里使用 Symbol 唯一字符串来确定一个依赖。...ContainerMap 用来存储注册模块,set get 用来注册读取模块,has 用来判断模块是否已经注册。 set 形参 id 表示模块 id, value 表示模块。...get 用于返回指定模块 id 对应模块 has 用于判断模块是否注册。

99920

用TypeScript装饰器实现一个简单依赖注入

不仅如此,在实际工程中,这种设计模式还有利于不同组协同合作和单元测试。 2 环境配置 1.安装 typescript 环境以及重要 polyfill reflect-metadata。...3 预备知识 Reflect 简介 Proxy 与 Reflect 是 ES6 为了操作对象引入 API,Reflect  API  Proxy  API 一一对应,并且可以函数式实现一些对象操作...注册依赖时候尽可能简单,甚至不需要用户自己定义 key,所以这里使用 Symbol 唯一字符串来确定一个依赖。...ContainerMap 用来存储注册模块,set  get 用来注册读取模块,has 用来判断模块是否已经注册。 set 形参 id 表示模块 id, value 表示模块。...get 用于返回指定模块 id 对应模块。 has 用于判断模块是否注册。

62310

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

Gremlin、PGQL G-CORE 语法 / 语义 / 特性 SPARQL Cypher Gremlin PGQL G-CORE 图模式匹配查询 语法 CGP CGP CGP(无可选)1 CGP...其存储层中数据记录之间联系并不是关系数据库那样通过主外键引用,而是通过记录之前直接物理指针。...OrientDB 对于数据模式支持相对灵活,可以管理无模式数据 (schema-less),也可以关系数据库那样定义完整模式(schema-full),还可以适应介于两者之间混合模式(schema-mixed...在查询语言方面,OrientDB 支持扩展 SQL Gremlin 用于图上导航式查询;OrientDB MATCH 语句实现了声明式模式匹配,这类似于 Cypher 语言查询模式。...查询语言对比 从查询语句角度出发,Gremlin 比较复杂,nGQL Cypher 比较简练,从可读性角度出发,nGQL 比较类 SQL 化,比较符合大家使用习惯。

1.5K10

JanusGraph -- 简介

关系型数据库用于存储关系型数据效果并不好,其查询复杂、缓慢、超出预期,而图形数据库独特设计恰恰弥补了这个缺陷。...DataStax Enterprise Graph,忙于整合Titan进自己商业产品吧,可是Titan本身没有得到发展)。...中吸收了对属性图模型(Property Graph Model)支持对属性图模型进行遍历Gremlin遍历语言。...应用程序中客户代码(相对JanusGraph来说是客户)直接调用Gremlin去查询JanusGraph中存储图,这种情况下外部存储系统可以是本地,也可以处在远程 第二种方式:应用程序Janus...ETL三个部分中,花费时间最长是“T”(Transform,清洗、转换)部分,一般情况下这部分工作量是整个ETL2/3。

4.5K10
领券