单个顶点上的 Gremlin 属性 数学

Gremlin property math on a single vertex

我正在尝试对顶点的属性执行一些数学运算。我的解决方案在 Gremlin 控制台中有效,但在 JavaScript 中的 运行 时抛出错误。

gremlin> g.addV("trip").property(single, "trackLength", 100).property(single, "travelDistance", 75).property(single, "carWeight", 10)

==>v[f8b42b9d-9053-2838-808d-ba14606b8390]

gremlin> g.V("f8b42b9d-9053-2838-808d-ba14606b8390").property(single, "carFactor", __.project("trackLength", "travelDistance", "carWeight").by("trackLength").by("travelDistance").by("carWeight").math("(trackLength - travelDistance) * carWeight")).valueMap()

我在控制台中 运行ning 时得到了预期的结果:

==>{trackLength=[100], travelDistance=[75], carWeight=[10], carFactor=[250.0]}

然而,当我在 JS 中 运行 时出现错误:

TypeError: __.project(...).by(...).by(...).by(...).math is not a function

Gremlin 版本 3.2.10。我已尝试升级到 ^3.4.0,但遇到了一个单独的问题 here

math() 步骤仅在 3.3.1 上 introduced,因此如果您使用的是 3.2.10,那将不起作用。也许尝试 3.3.5 看看 math() 是否在那里工作。