You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Gremlin查询在控制台可正常运行但JavaScript Lambda中报in不是函数错误

问题原因

  • in是JavaScript的内置保留关键字,用于for...in循环、属性存在判断等原生语法中,不能直接作为方法名使用。因此Gremlin官方的JavaScript语言驱动(GLV)在实现时,已经将原本Gremlin语法中的in()步骤重命名为in_()避免冲突。
  • Gremlin控制台默认使用Groovy语法解析查询,Groovy中不存在该命名冲突,因此同样的语句在控制台可以正常运行,放到JS代码中就会触发方法不存在的报错。

解决方案

将查询中的.in("memberOf")替换为.in_("memberOf")即可正常执行,修改后的代码如下:

const people = await g.V("1").out("memberOf").in_("memberOf").next()

同类问题参考

如果遇到其他类似的方法不存在报错,可优先检查是否是Gremlin步骤名和JS保留字冲突的情况,常见的冲突改名对应关系:

  • as() 改为 as_()
  • from() 改为 from_()
  • not() 改为 not_()

内容的提问来源于stack exchange,提问作者xeroshogun

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 10:06:02