Падение запроса сеанса Гремлина Netpune

#java #gremlin #tinkerpop #amazon-neptune

Вопрос:

Может ли запрос «drop()» работать в сеансовом клиенте в запросах Gremlin на Java для AWS Neptune. Я пробовал несколько раз, но «drop()» работает только в том случае, если я использую iterate() и не оказывает никакого эффекта, если используется клиент сеанса и отправляется запрос.

Если это сработает, будет полезно привести несколько примеров. Это не очень понятно из документации.

Комментарии:

1. Я провел несколько экспериментов и не смог воспроизвести проблему — см. Ответ ниже. Не могли бы вы поделиться некоторыми примерами кода или точным способом настройки сеанса и шагов Gremlin, которые вы использовали?

2. Также — какую версию Java-клиента вы используете? В настоящее время Neptune поддерживает только текстовые запросы для сеансов, пока не произойдет обновление до TinkerPop 3.5.x

Ответ №1:

Я попробовал некоторые эксперименты, используя консоль Gremlin в «режиме сеанса». Обратите внимание, что транзакция будет зафиксирована только после закрытия сеанса.

 $ bin/gremlin.sh

         ,,,/
         (o o)
-----oOOo-(3)-oOOo-----
plugin activated: tinkerpop.server
plugin activated: tinkerpop.utilities
plugin activated: tinkerpop.tinkergraph
gremlin> :remote connect tinkerpop.server conf/krl6w.yaml session abc-123
==>Configured xxxx-[abc-123]

gremlin> :remote console
==>All scripts will now be sent to Gremlin Server - [xxx]-[abc-123] - type ':remote console' to return to local mode

gremlin> g.V().hasLabel('airport').count()
==>3503

gremlin> g.V().hasLabel('airport').drop()

gremlin> g.V().hasLabel('airport').count()
==>0

// This ends the session and commits the transaction
gremlin> :remote close

 

Теперь, чтобы убедиться, что это сработало

 gremlin> :remote connect tinkerpop.server conf/krl6w.yaml
==>Configured xxxx

gremlin> :remote console
==>All scripts will now be sent to Gremlin Server - [xxxxx:8182] - type ':remote console' to return to local mode

gremlin> g.V().hasLabel('airport').count()
==>0
 

Комментарии:

1. Спасибо Кельвину, уверенность в том, что это работает, была очень полезной. Учитывая, что я новичок в Нептуне/Гремлине. Первопричина: В конечном итоге это сработало для меня с сеансами, так как я использовал гремлин на основе строк, я случайно создал некоторые условные выражения с %s вместо «%s», что на самом деле вызвало проблему. Спасибо