Можно ли сгенерировать скрипт gremlin из байт-кода?
Я работаю над POC, в котором мне нужно запросить базу данных Azure CosmosDB графа через Gremlin API.
В настоящее время Azure CosmosDB не поддерживает байт-код. Команда разработчиков Azure начала работать над этим , но сроки выпуска пока не опубликованы.
Я хотел бы подготовить рабочий код, который потребует минимального рефакторинга в будущем, когда поддержка байт-кода станет общедоступной.
На основе документов Apache TinkerPop существует два способа отправки запросов Gremlin: байт-код и сценарий
# script
client = Client('ws://localhost:8182/gremlin', 'g')
list = client.submit("g.V().has('person','name',name).out('knows')",{'name': 'marko'}).all()
# bytecode
g = traversal().withRemote(DriverRemoteConnection('ws://localhost:8182/gremlin','g'))
list = g.V().has("person","name","marko").out("knows").toList()
«Путь байт-кода» кажется мне гораздо более эффективным (проверка синтаксиса, intellisens IDE и т. Д.), Более того, я заинтересован в создании DSL (предметно-ориентированный язык).
Можно ли использовать свободный API и сериализовать его в строку, аналогично следующему:
client = Client('ws://localhost:8182/gremlin', 'g')
g = traversal()
q = g.V().has("person","name","marko").out("knows").toString()
list = client.submit(q).all()
Я использую python 3.5 и gremlinpython 3.4.0