问题标签 [gremlinpython]

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 投票
3 回答
748 浏览

gremlin - 如何在 janusgraph 中将数组设置为属性?

我想将顶点和边的属性设置为列表值。我正在使用janusgraph。小鬼蟒

0 投票
0 回答
295 浏览

websocket - 海王星 | 小鬼蟒 | 使用 websocket 的并行查询

从 gremlin python jupyter notebook 到 Neptune 集群执行并行查询的最佳方法是什么?我正在尝试使用 Python 中的 Multiprocess 包来解决这个问题。然而,我的三个 db.r5.4xlarge 阅读器很快就会在 100% CPU 时达到最大值,如下图所示。图 1 是 CPU 利用率,图 2 是 gremlin 错误。下面是我的代码。有没有办法使用 websockets 更好地解决这个问题?如果是的话,你能帮我解决这个问题,因为我对小精灵或海王星很陌生。

在此处输入图像描述

在此处输入图像描述

0 投票
1 回答
1563 浏览

python - Multiprocessing Gremlin "OSError: [Errno 9] Bad file descriptor"

I'm trying to compute a feature for every vertex in my graph using gremlinpython. It's too slow to sequentially iterate over every single vertex. While batching could help to provide a speedup, I thought first I'd try parallizing the query.

Broadly, 1. get the full set of vertices, 2. split them over num_cores=x, 3. iterate over each sub-vertex set in parallel.

But I'm getting the error "OSError: [Errno 9] Bad file descriptor". The below code is my latest attempt at solving this.

Here's the full stack-trace, looks like it's an issue with tornado, which gremlinpython uses.

I'm using Pythton3.7, gremlinpython==3.4.6, MacOS.

0 投票
1 回答
598 浏览

gremlin - Gremlin - 使用自定义字符串/UUID 作为顶点 ID

我正在尝试添加一个带有自定义 ID 的顶点,虽然我已经浏览了很多关于此的线程(例如这里),但我仍然无法让它适用于字符串/UUID,只有整数 ID。事实上,它似乎接受数字,但我不知道为什么。

有任何想法吗?

0 投票
1 回答
199 浏览

gremlin - 使用 Gremlin 插入属性

我正在使用 python 和 AWS Neptune。

我正在使用 id 的“upsert”模式:

实际上,使用添加的属性添加(或从图中选择)顶点。现在我想添加两个我未能添加的属性:

  1. 我想添加“max”属性。如果顶点具有属性,我想取它的最大值和值“10”(例如)。尝试将以下语句添加到我的查询中,但它不起作用:

    property('time_max', __.max(__.values('max'), 10))

    但是我遇到了一个异常“无法找到方法:DefaultGraphTraversal.max”

  2. 以相同方式递增“计数”属性的另一个属性。我在“sack”方法上遇到了同样的异常。

如何添加这些属性?唯一的方法是获取顶点然后提交吗?我希望它尽可能高效。

谢谢!

0 投票
1 回答
144 浏览

gremlin - gremlinpython - 从边缘获取 ID 作为简单列表而不是字典

使用 gremlinpython 时,是否可以返回边的 ID 列表,而不是返回这个冗长的字典?

所以,目前g.E().limit(10).id().toList()返回这个:

但相反,我希望它返回这个:

这在 gremlin 控制台中按预期工作。

Python3.7、gremlinpython==3.4.2

0 投票
1 回答
240 浏览

gremlin - 如何编写一个 gremlin 查询来查找其他顶点之间的公共顶点并按重叠计数排序返回?

我正在使用 python+gremlin 来实现我的图形查询,但还远远没有理解很多概念,并且遇到了一个我不知道该怎么做的有趣查询。

假设我们有许多带有标签的厨师顶点、带有标签Chef的配料顶点Ingredient和菜肴顶点Dish。在任何给定时间,厨师都可以使用手头的食材,用 和 之间的ChefIngredient表示hasDish菜肴有配料,用介于和之间Ingredient的边缘表示uses。和之间还有一条边ChefDish表示他/她之前是否成功过,称为madeBefore

可能很明显,但有些菜肴是厨师从未做过的,并非所有菜肴都使用所有食材,厨师很可能没有所有食材。

我想创建一个执行以下操作的查询:

获取厨师从未做过的菜肴,按厨师必须制作的成分最多的菜肴排序(如果能得到比例也很棒)。所以结果中的第一道菜是厨师从未做过的菜,也许有所有的原料要做,结果中间的某个地方是他们从未做过的菜,大约有一半的原料需要做,最后将是他们从未做过的菜肴,也几乎没有制作它所需的成分。

以下查询将查找厨师从未做过的所有菜肴:

但从这里开始,我不知道从哪里开始,以便根据厨师有多少食材开始对这些菜肴进行分类。

我的另一个想法是查询成分并使用project来获取连接厨师和菜肴的边数,然后以某种方式过滤它们,但我不知道之后该怎么做:

我现在对 Gremlin 的问题是了解如何将更复杂的查询链接在一起,有没有人可以对如何解决此类问题有所了解?

0 投票
2 回答
1697 浏览

gremlin - Gremlin python 返回具有所有属性的边

我正在使用 gremlin Python 来查询 Neptune DB。给定一个顶点,我需要返回所有向外的边缘以及它们的“从”和“到”ID、标签和任何其他属性。

下面的查询

以我可以解析成字典列表的形式给我'from'和'to',边缘的值映射给我其他值,但我需要它在一个列表中返回。我的理想格式是 [{from: x, to: y, label: foo, property1: bar},...]

非常感谢任何帮助。

0 投票
1 回答
246 浏览

gremlin - 检索 Gremlin 中重复顶点的所有 ID

问题

我正在运行一个查询,该查询通过name属性查找重复的顶点。我想知道所有相应顶点的 ID。

此时只返回 where 子句中的 id。

示例图

这是一个玩具示例图。有两个同名的顶点ex

检测重复项

当我找到重复项并获得 时elementMap(),ID 仅适用于where子句中匹配的顶点。

而我想看看这id两个将是id:0id:4

我想要类似的东西:

0 投票
1 回答
121 浏览

amazon-neptune - 无法在海王星工作台中使用 python 添加顶点

我正在尝试使用 Neptune 工作台制作 Neptune 的演示,但有些东西无法正常工作。我已经设置了这个块:

问题是调用add_sku不会导致将顶点添加到图中。在具有 gremlin 魔法的单元格中执行相同的操作,我可以通过 python 检索值,但我不能添加顶点。有人看到我在这里缺少什么吗?