问题标签 [gremlinjs]

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 投票
2 回答
277 浏览

javascript - 有没有办法在第三方 URL 上运行 gremlin.js Monkey Tests?

是否可以在第三方 URL 或外部网站上运行 Gremlin 测试?例如,如果我想在 Twitter.com 上运行 gremlin,我需要做什么?我还没有尝试过,但我想像 nightwatch.js 这样的框架可能会很方便,但我不确定如何去做。

0 投票
1 回答
2684 浏览

gremlin - 如何删除边并在两个顶点之间添加新边?

我正在尝试删除一条边并在两个顶点之间添加一条新边。我如何在 Tinkerpop3 中做到这一点?

这是我在 gremlin shell 上遇到的错误:

谢谢你。

0 投票
0 回答
179 浏览

javascript - Gremlins.js:ReferenceError:文档未定义

我正在尝试使用命令行(节点)将以下 gremlins.js 代码注入我的网页:

javascript:(function(){function callback(){gremlins.createHorde().unleash()} var s=document.createElement("script");s.src="https://rawgithub.com/marmelab/gremlins .js/master/gremlins.min.js";if(s.addEventListener){s.addEventListener("load",callback,false)}else if(s.readyState){s.onreadystatechange=callback}document.body。 appendChild(s);})()

但我不断收到ReferenceError: document is not defined错误,我还没有找到任何可以修复它的东西。我对javascript比较陌生。谁能帮我吗?

0 投票
1 回答
1510 浏览

cypher - Gremlin 查询 - 在边缘上重复条件

我有一个火车网络的 gremlin 图结构。顶点是站点,具有站点 ID 和名称作为属性。边缘是带有路线、公里数和停止顺序的轨道。

大约有 840 个站点和 24 条路线连接它们。正如我们可以想象的那样,这些站点是由路线连接的,任何两个站点都可以通过多条路线连接。也有循环路线,即在同一个站点开始和停止。有些站点既是不同路线的起点又是终点。

我想问的问题是,如果给定的站点无法使用,我如何才能获得受影响的来源和目的地。即获取通过它的路线并获取给定路线的来源和目的地。

似乎是一个简单的问题,但我不知道 gremlin 足以回答这个问题。:)

到目前为止,以下是我最接近答案的一个。给定车站、路线和最终终点站,我能够获得介于两者之间的所有车站。

理想的情况是,给定车站,给出所有受影响的路线,包括到最终目的地的路线和来自源头的路线。

我无法根据边的属性连接顶点。就像根据路由连接顶点而不给出值一样。此外,在叶节点处终止重复。即没有其他目的地可以连接。如果我可以删除直到 hasID,那将是一个胜利。:)

示例结构如下:

我在 Azure CosmosDB Graph 中执行此操作。

0 投票
1 回答
562 浏览

node.js - 在 Nodejs 中添加边缘 gremlin 查询

这是添加部落顶点的代码

这是添加边缘的代码

这是添加边缘的正确方法吗?

我只是混淆了我需要传递什么 .to() 方法

0 投票
1 回答
841 浏览

javascript - 当我执行查询 gV().ToList() 时,如何让 gremlin 返回顶点的属性?当前返回未定义

我有一个 gremlin 服务器,其中数据由一些 c# 代码推送(如下所示)它基本上迭代一个类的属性并将这些属性添加到图中。

我在 javascript 中使用 gremlin 与这个 gremlin 服务器通信。当我执行 gV().ToList 时,我将所有顶点作为带有 id 和标签的 json 对象数组。但是属性未定义:

但是,当我执行 gV().properties() 时,我看到属性列为顶点属性:

以上显示已添加属性,但我在第一次调用时需要它们。

预期的属性应该出现,但它们是未定义的。

0 投票
2 回答
1359 浏览

gremlin - 在 Gremlin 中,仅当版本属性与数字匹配时,如何修改顶点的属性?

在 Gremlin/Tinkerpop 中,我想在 Vertex 上执行版本化 upsert。如果有一个现有的顶点,我只想在版本与版本号属性匹配时对其进行变异。

下面是尝试使用gremlinjs. 它无法创建顶点,以后的查询无法找到它。

(以前的版本有一个编译错误,但这是一个 javscriptism 未记录的语法问题)

[更新] 请参阅有关问题的答案的评论。https://gist.github.com/pszabop/3b07fa7caadf1dbd86953a713ed96ce0的工作版本

参考:

版本

  • janusgraph/janusgraph:最新
  • gremlinjs 3.4.4
0 投票
1 回答
84 浏览

gremlin - Gremlin:如果我的查询不能以 V() 或 E() 开头怎么办?

在我的项目上执行的第一个查询在一个可能为空的数据库上运行,如果尚未创建一些顶点,则创建一些顶点,因此我的查询无法开始,V()或者E()因为数据库可能为空,也无法开始,addE()因为首先我需要检查是否没有创建边缘,我找到了以下解决方案,inject()但它看起来像一个黑客:

有没有办法以一种优雅的方式来写这个而没有任何看起来很老套的东西?

0 投票
1 回答
452 浏览

javascript - 带有边数组的 Gremlin 值图

我正在尝试使用 Node Gremlin 和 AWS Neptune 查询顶点的属性,并在单个输出中获取通过“出”边连接到它的所有顶点及其所有属性。例如,如果我有一个“贝克”顶点,其边“烘烤”到两个“蛋糕”顶点,我想获得一个具有他所有属性的“贝克”对象以及两个“蛋糕”的数组顶点作为具有所有属性的对象。

我知道我可以使用 .project 有效地做到这一点,但我不想为任何顶点选择特定属性,因为我想要它们的所有属性。

我目前正在处理这样的查询:g.V(BakerId).as('Baker').out('bakes').as('Cake').select('Baker','Cake').by(valueMap(true)),但问题是这个查询给了我一个包含两个输出的列表,一个带有 Baker 和第一个 Cake,另一个带有相同的 Baker 和第二个 Cake。我想避免冗余并将其合并到一个输出中,而 Baker 只出现一次。

我也希望有一个足够通用的解决方案(或足够简单以轻松扩展)来处理更深层次的问题,以便在“蛋糕”顶点上的“外”边上做同样的事情,例如“蛋糕”->“制造”- ->“成分”,所以我可以得到一个面包师,每个蛋糕上只有一次,每个成分上只有一次,并且都具有所有属性。

0 投票
1 回答
63 浏览

javascript - Gremlin 的 valueMap() 返回一个带有 JS 和 Neptune 的空对象

我正在尝试获取所有节点及其具有特定标签的 gremlin 和 js 的属性。

它应该输出如下内容:

我现在尝试了一百万件事,但我认为它应该适用于:

或者

但两人都回来了

我不明白,因为如果我这样做:

我得到了一个我想要的列表,但只有值。