step.map.PropertyMapStep 无法转换为 step.ByModulating

step.map.PropertyMapStep cannot be cast to step.ByModulating

我正在尝试 运行 针对 AWS Neptune 的以下查询。

g.V(1).project('id', 'type', 'properties') \
      .by(id) \
      .by(label) \
      .by(valueMap().by(unfold()))

通过 HTTP 请求调用它会引发以下错误

{
    "requestId": "5eb536e9-017a-db82-9234-db5c556e386f",
    "code": "MalformedQueryException",
    "detailedMessage": "Failed to interpret Gremlin query: org.apache.tinkerpop.gremlin.process.traversal.step.map.PropertyMapStep cannot be cast to org.apache.tinkerpop.gremlin.process.traversal.step.ByModulating"
}

使用 gremlin-python 客户端

gremlin_python.driver.protocol.GremlinServerError: 599: {"requestId":"11f7c020-f2d5-445a-b35a-ee531c31a7e3","code":"InternalFailureException","detailedMessage":"null:by([[UnfoldStep]])"}

查询应该是什么样子的?我已经厌倦了寻找修改查询以便 Neptune 解释的方法。

请注意,查询已在 Gremlin 控制台中成功执行!

发现上面的查询可以改写为

g.V(1).project('id', 'type', 'properties') \
      .by(id) \
      .by(label) \
      .by(properties().group().by(__.key()).by(__.value()))

但是我仍然很困惑为什么原来的查询不起作用。 如果有人能给我解释一下就好了。