我正在尝试针对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控制台中成功执行!
发现上面的查询可以重写为
g.V(1).project('id', 'type', 'properties') \
.by(id) \
.by(label) \
.by(properties().group().by(__.key()).by(__.value()))
但是我仍然困惑为什么原始查询不起作用。如果有人可以向我解释,那就太好了。