我正在使用 gremlingo 编写 golang 查询来在匹配顶点时更新插入值,并将该值替换为单个基数,这样它就不会附加被接受为海王星列表默认值的值,为什么他们默认执行列表。
以下命令会出错
g.MergeV(map[interface{}]interface{}{ gremlingo.T.Label: "User", "email": "[email protected]", }).Option(gremlingo.Merge.onMatch, map[interface{}]interface{}{"email": "[email protected]",}, gremlingo.Cardinality.Single).Id().Next()
2024/05/05 07:16:56 Error occurred during operation gremlinServerWSProtocol.responseHandler(): 'E0502: error in read loop, error message '{code:87 message:{"code":"InternalFailureException","requestId":"361e50e3-3fe6-4cce-a29c-79b6c20523ca","detailedMessage":"Could not locate exact method given the supplied arguments: NeptuneGraphTraversal.option(Merge, LinkedHashMap, Cardinality)","message":"Could not locate exact method given the supplied arguments: NeptuneGraphTraversal.option(Merge, LinkedHashMap, Cardinality)"} attributes:map[]}'. statusCode: 87
这是我从tinkerpop官方文档中学到的https://tinkerpop.apache.org/docs/3.7.1/reference/#mergevertex-step
但是 golang gremlingo 不起作用,或者我只是没有正确使用它
您尝试的模式最近才添加到 TinkerPop 3.7.0 中:https://tinkerpop.apache.org/docs/current/upgrade/#_map_and_cardinality
Amazon Neptune 的最新引擎版本 (1.3.1.0) 目前仅支持 TinkerPop 3.6.5:https://docs.aws.amazon.com/neptune/latest/userguide/engine-releases-1.3.1.0.html#引擎发布-1.3.1.0-查询版本
上面的 TinkerPop 链接还讨论了在
property()
步骤中使用 option()
步骤的潜在解决方法。