问题标签 [gremlin]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
9 回答
42405 浏览

neo4j - Neo4j - Cypher vs Gremlin 查询语言

我开始使用 REST API 使用 Neo4j 进行开发。我看到执行复杂查询有两种选择——Cypher(Neo4j 的查询语言)和 Gremlin(通用图形查询/遍历语言)。

这就是我想知道的 - 是否有任何查询或操作可以使用 Gremlin 完成而不能使用 Cypher 完成?或相反亦然?

Cypher 对我来说似乎比 Gremlin 清楚得多,而且总的来说,Neo4j 中的人似乎都在使用 Cypher。但是 - 如果 Cypher 与 Gremlin 相比是有限的 - 我真的很想提前知道这一点。

0 投票
1 回答
375 浏览

graph-databases - 在 Gremlin 的用户定义步骤中传递参数的奇怪结果

我创建了一个名为的用户定义步骤otherV,它从一条边 ( e) 开始,采用单个 Vertex 参数(要么 要么e.inVe.outV,然后输出该边上的另一个顶点。

我有g=TinkerGraphFactory.createTinkerGraph();

当我像这样传递参数顶点时,该otherV步骤会给出正确的结果:

x但是,当我第一次在一个步骤中将参数 vertex 分配给一个变量(例如) sideEffect,然后x作为参数传递给我的步骤时,它会失败并显示 ERROR No such property: x for class: groovysh_evaluate

我做错了什么?


otherV这是自定义步骤应该如何工作的简单说明:

0 投票
1 回答
258 浏览

groovy - 在 gremlin 中保存中间步骤

我正在编写一个查询,它应该检测图表中的某些循环,这意味着我需要为路径中的某些节点分配名称,以便稍后可以将路径中的节点与保存的节点进行比较。例如 A -> B -> C -> A。这在 gremlin 中可能吗?

0 投票
1 回答
1544 浏览

graph - 如何在 gremlin 中获取名为 ID 的属性

在编写 gremlin 查询时,我得到了奇怪的结果。我可以愉快地为我的节点的大多数属性使用 has 函数,例如“ ().has('name', 'VerisignCzagExtension').property('id')”将返回 v5086。但是当我尝试使用带有属性 id 的 has 函数时,它永远不会返回 true。例如 " ().has('id', 'v5086').property('id')" 不返回任何结果。有人知道为什么会这样吗?

谢谢。

0 投票
3 回答
177 浏览

codeigniter - 为codeigniter用户实现neo4j,gremlin的步骤是什么

我需要从 RDBMS 迁移到 GRAPH 并决定使用 gremlin 实现 neo4j。但我只有 PHP 作为服务器端语言。在 codeigniter 环境中实现 neo4j(和 gremlin?)的步骤是什么。可能这个问题太笼统了,但我相信很多人都和我一样有同样的问题。

0 投票
1 回答
490 浏览

graph-databases - 如何使用 GremlinPipeline 获取自循环路径?

我正在使用一个允许自循环的网络(即,某些边与头部和尾部具有相同的顶点)。假设该图g有 3 个顶点(adambillcid)和 3 个类型的边reports[adam-reports->bill][bill-reports->cid][adam-reports->adam]),最后一个是本例中唯一的自反边。

在 gremlin 中,可以轻松检索自循环,因此:

但是,我试图GremlinPipeline在 Java 中做同样的事情,但没有成功。如何构建有效的 GremlinePipeline 来执行上述操作?

0 投票
2 回答
76 浏览

neo4j - 我们可以检查 Cypher 或 Gremlin 生成的翻译后的函数调用吗?

我相信在内部 Cypher / Gremlin 将语句转换为相应的 Java 方法调用。有没有办法跟踪运行中的方法调用?

例如,在 Hibernate 中,我们可以指定“show sql”来查看生成的 sql 语句。

[编辑] 我想这样做的原因: 1. 出于调试目的:找出密码 / gremlin 没有产生预期结果的原因。

  1. 用于学习目的:找出幕后发生的事情

  2. 优化:找出瓶颈在哪里。

0 投票
1 回答
1289 浏览

filter - 如何在 Gremlin 过滤器中使用自定义函数?

在 Gremlin 中,我可以如下定义一个函数:

当我打电话

我明白了

但是当我进入

我明白了

这有什么问题?我怎样才能让它运行?我使用 Rexster 的 doghouse 基于 Web 的界面。

当我想编写一个函数时遇到了这个问题,如果在给定顶点的任何地方有任何名为土豆的顶点,该函数返回 true。虽然我对这个问题的任何其他解决方案感兴趣,但我在这个阶段的目标(作为初学者 Gremliner)是对 Gremlin 的评估/学习,了解它的工作原理,尝试不同的解决方案,而不是找到最好的解决方案.

0 投票
1 回答
956 浏览

groovy - 使用 gremlin 查找距起始节点给定距离内的所有节点

我正在尝试通过 java/pipes 使用 gremlin,作为我的第一个查询之一,我试图找到从给定起始节点可到达的所有节点,最大距离为 3。在密码中,我的查询是:

哪个工作正常,到目前为止我在 gremlin 中所拥有的是:

这不能正常工作。根据我的理解,它应该从每次迭代中发出输出并迭代 3 次。目前我得到的结果太少了。

任何帮助,将不胜感激,

谢谢。

0 投票
1 回答
3119 浏览

traversal - 将 Gremlin 与 Java API 一起用于 OrientDB

我正在使用 Gremlin 遍历 OrientDB,但我不太了解这里的演示代码OrientDB Gremlin Wiki
这是我的代码,这段代码有什么问题?

我可以得到脚本的最终结果,但为什么我不能得到“聚合”结果?我怎么才能得到它?

我真的很陌生。提前致谢!