Предполагая, что вы используете Neo4jHaGraph
, тогда он будет работать так, как вы описываете с помощью сетевых вызовов, так как каждый шаг требует их (т. Е. Весь оператор не компилируется и не отправляется на сервер). Я не уверен в последних возможностях удаленной конфигурации для OrientGraph
, хотя я подозреваю, что он работает аналогичным образом, делая сетевые вызовы по мере необходимости на каждом шаге.
Одной из причин, по которой было разработано Rexster, было разрешение на отправку скриптов Gremlin на сервер, чтобы он мог выполняться во встроенной реализации графика (например, Neo4jGraph
). Таким образом, сетевые обратные вызовы будут уменьшены, поскольку выполнение обхода произойдет в пределах одной JVM.
Все вышесказанное относится к TinkerPop 2.x. С нетерпением ждем TinkerPop 3.x (еще не выпущенного), у вас будет сервер Gremlin, который заменяет Rexster и позволяет более эффективно передавать потоки результатов клиентам. Это также дает возможность продавцам оптимизировать траверсы, подобные тем, которые вы предоставили в качестве примера, чтобы быть более эффективными с учетом реализации. Пока еще не видно, как это может относиться к удаленным конфигурациям, но интересно подумать, что может быть возможно в этой области.