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

时间:2019-04-30 10:57:25

标签: gremlin amazon-neptune

我正在尝试对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]])"}

查询的外观如何?我已经精疲力尽了寻找修改查询的方法,以便由海王星解释的方法。

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

1 个答案:

答案 0 :(得分:1)

发现上述查询可以重写为

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

但是,我仍然困惑为什么原始查询不起作用。 如果有人可以向我解释一下,那就太好了。