0

我需要在 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 中的函数之间也没有更多了,所以我怎样才能为这个旧函数获得相同的结果,并在 js/ts 中编写它?(这只是查询的一部分)

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

谢谢前面的各位。

4

1 回答 1

2

几个快速的答案。

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;

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

干杯开尔文

于 2019-03-15T15:18:48.080 回答