Получить начальный узел и идентификатор конечного узла края без карты step () gremline для нептуна

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

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

Запрос:

   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())
    """

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


person Ravindra Gupta    schedule 02.07.2018    source источник


Ответы (1)


Я не уверен, что понимаю, зачем вам это нужно:

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

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

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

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

person stephen mallette    schedule 02.07.2018
comment
да, я узнал, что после удаления шага карты он работает так же. Спасибо. - person Ravindra Gupta; 02.07.2018