step.map.PropertyMapStep не может быть приведен к step.ByModulation - PullRequest
1 голос
/ 30 апреля 2019

Я пытаюсь выполнить следующий запрос к 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 Ответ

1 голос
/ 30 апреля 2019

Обнаружено, что указанный выше запрос может быть переписан как

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

Однако я все еще не понимаю, почему исходный запрос не работает.Было бы хорошо, если бы кто-то мог мне это объяснить.

...