Как я могу использовать gremlin-console для удаленного создания и доступа к переменным?

Я удаленно подключаюсь к серверу gremlin с помощью gremlin-console (это janusgraph), но когда я создаю переменную и получаю к ней доступ, она не работает. Моя конечная цель - использовать gremlin-console для создания индекса ...

gremlin> :remote connect tinkerpop.server conf/remote.yaml
==>Configured localhost/127.0.0.1:8182
gremlin> :remote console
==>All scripts will now be sent to Gremlin Server - 
[localhost/127.0.0.1:8182] - type ':remote console' to return to local mode
gremlin> a = "b"
==>b
gremlin> a
No such property: a for class: Script3
Type ':help' or ':h' for help.

person Gao    schedule 18.08.2017    source источник


Ответы (2)


Вы не можете использовать такие переменные для последующих запросов, потому что консоль по умолчанию не имеет сеанса. Таким образом, каждый запрос выполняется в отдельной транзакции, и два разных запроса не имеют общего состояния.

Однако вы можете настроить консоль для использования сеанса, просто добавив ключевое слово session к аргументу connect:

gremlin> :remote connect tinkerpop.server conf/remote.yaml session
==>Configured localhost/127.0.0.1:8182-[15dc7030-0e5b-4b4b-a997-9d2cf519ebb2]
gremlin> :> x = 1
==>1
gremlin> :> y = 2
==>2
gremlin> :> x + y
==>3

Я скопировал этот пример из документации TinkerPop по этой теме.

person Florian Hockmann    schedule 18.08.2017

Загрузите janusdb и запустите консоль gremlin, запустив

/bin/gremlin.sh

Постройте график Януса, используя следующую команду:

gremlin> graph = JanusGraphFactory.open('conf/janusgraph-cassandra-solr.properties')

Получите источник обхода графа, запустив:

gremlin> g = graph.traversal()

Теперь вы подключены напрямую к базе данных с полным контролем. Вы можете сохранить возвращаемые значения и использовать их в следующих запросах.

person Chandran Anjur    schedule 28.10.2017