У меня есть граф с двумя вершинами с ключом под названием "тип".
Почему следующее:
g.V("type", "language").transform { language_1 ->
1+1;
}
возвращает:
==>2
==>2
и следующее:
g.V("type", "language").transform { language_1 ->
g.V("type", "language").transform { language_2 ->
1+1;
}
}
возвращает:
==>[GremlinStartPipe, GraphQueryPipe(has,vertex), IdentityPipe, TransformFunctionPipe]
==>[GremlinStartPipe, GraphQueryPipe(has,vertex), IdentityPipe, TransformFunctionPipe]
?
Во втором примере вы видите строковое представление конвейера. Оба примера запроса возвращают конвейеры, но когда консоль Gremlin видит, что конвейер возвращается, он автоматически считывает все данные и выводит их. Если вы хотите использовать данные, возвращенные из вложенного конвейера в более крупном запросе, как и во втором запросе, вы должны явно прочитать данные. Попробуй это:
g.V("type", "language").transform { language_1 ->
g.V("type", "language").transform { language_2 ->
1+1;
}.next()
}
Could not process individual retrieval call
.