Получить начальный и конечный узлы идентификатора ребра без карты step () gremline для Нептуна - PullRequest
0 голосов
/ 02 июля 2018

Я работаю в Neptune AWS и пытаюсь уточнить начальный идентификатор узла и конечный идентификатор края. Шаг карты работает для Neo4j, но тот же запрос не работает для Neptune.

Пример данных: введите описание ссылки здесь

Запрос:

   query = """g.V().hasLabel('Person').has("name", "marko").as("from", "to")
        .repeat(bothE().as("e").otherV().as("to").as("to")).times(2).emit(hasLabel("Person")).hasLabel("Person").has("name", "josh")
        .project("name",  "Label","start", "end")
        .by(select(all, "to").unfold().values("title").fold())
        .by(select(all, "to").unfold().label().fold())
        .by(select(all, "e").unfold().id().map{g.E(it.get()).next()}.outV().id().fold())
        .by(select(all, "e").unfold().id().map{g.E(it.get()).next()}.inV().id().fold())
    """

Это дает ошибку в Нептуне, но работает на Neo4j. Есть ли другой способ получить идентификаторы начального и конечного узлов.

1 Ответ

0 голосов
/ 02 июля 2018

Я не уверен, что следую, почему вам нужно это сделать:

.by(select(all, "e").unfold().id().map{g.E(it.get()).next()}.outV().id().fold())

Разве это не упрощено до:

.by(select(all, "e").unfold().outV().id().fold())

Это избавило бы от лямбд, что, как я полагаю, твоя проблема с Нептуном.

...