step.map.Property MapStep无法强制转换为step.By Modulating

问题描述 投票:1回答:1

我正在尝试针对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控制台中成功执行!

gremlin amazon-neptune
1个回答
1
投票

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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.