gremlin - Gremlin 翻译器返回错误:“无法读取未定义的属性‘长度’”
问题描述
我正在尝试使用此处描述的翻译功能: https ://tinkerpop.apache.org/docs/3.4.11/reference/#translators
但我收到一个错误:“无法读取未定义的属性‘长度’”
我将其追溯到 Gremlin 源代码中的这一行: https ://github.com/apache/tinkerpop/blob/b84c3ece2a584f6634f1586f4b84c4e1c349595d/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/process/translator.js# L53
看起来instructions
回来未定义。
这是我正在测试的代码:
const traversal = g.V().hasLabel("user").limit(1);
const translator = new gremlin.process.Translator("g");
console.log(translator.translate(traversal));
这发生在"gremlin": "3.5.0"
. 这是一个错误还是我错误地使用了这个功能?
解决方案
你正在做文档所说的,我认为这是Translator
应该使用的理想方式,但该translate()
函数实际上需要一个Bytecode
对象,因此正确的用法应该是:
const traversal = g.V().hasLabel("user").limit(1);
const translator = new gremlin.process.Translator("g");
console.log(translator.translate(traversal.getBytecode()));
因此,从某种意义上说,文档是错误的,它确实显示了所需的 API,而不是实际的 API。现在,您需要按上面所示调用它,但我已经为下一个版本推送了一个修复程序,允许它被调用,如文档中所示。
推荐阅读
- javascript - JavaScript 文件中的 VS Code 格式 HTML (ReactJS)
- bash - 删除超过 15 天的 *.ZIP 文件
- python - python pandas中日期时间行的GroupBy日期
- excel - 运行时错误:查看#N/A 字符串时显示 13
- python - 如果行具有相同的“A 列”值,则用最后一个已知值填充空的“B 列”单元格
- python - 如何有效地将随机数添加到数组中,直到达到累积和?
- python - 在 pandas 中将单项系列作为元组返回
- python - IF 在 Python 中使用 Selenium 验证 XPATH 的问题
- wordpress - 带有革命滑块的锚链接
- web-crawler - 使用 Apify SDK 时有没有办法指定最大爬网深度?