如何在 javascript/typescript 中用新的 Gremlin 3.x 语法编写旧查询

How to write old queries in new Gremlin 3.x syntax in javascript/typescript

我需要在 JS/TS 中编写从 Gremlin 2.6 到 3.4 语法的旧查询,因为在 2.6 中,我已经用字符串完成了所有操作,然后执行该字符串,但现在我想使用 3.4 语法,其中我可以使用链接方法。

首先我需要转换这个查询,但我不知道如何处理这个嵌套查询 out().simplePath()label().is('Recording').

g.V().repeat(out().simplePath()).until(label().is('Recording'))

我正在考虑这样做,但不确定是否正确。

g.V().repeat(g.V().out().simplePath()).until(g.V().label().is('Recording'));

在 gremlin 中也没有更多的 between 函数,所以我怎样才能得到这个旧函数的相同结果并将其写在 js/ts 中? (这只是查询的一部分)

.has('name', between('${partialPropertyName}', '${partialPropertyName}a'))

谢谢前面的各位

几个快速答案。

Gremlin 中还有一个 between() 谓词。不知道你用的数据库支持不支持

重复直到你能做为止

g.V().repeat(out().simplePath()).until(hasLabel('Recording'))

TinkerPop 文档对所有这些步骤都有很好的示例。我建议快速阅读文档。也可以随意在 "Practical Gremlin" 上搜索我有几个例子。

编辑以添加示例 JavaScript 导入

const gremlin = require('gremlin');
const Graph = gremlin.structure.Graph;
const __ = gremlin.process.statics;
const { t: { id },order,cardinality } = gremlin.process;

再次编辑指出 npm install gremlin 创建的 gremlin 包的根目录中有一个 index.js 文件。您还可以在 TinkerPop GitHub 存储库中找到此文件。

干杯 开尔文