Создание прямых запросов gremlin от gremlin-python - PullRequest
0 голосов
/ 05 октября 2018

Я столкнулся с несколькими проблемами с gremlin-python, которых нет в чистом gremlin:

  • Я не могу напрямую выбрать данный тип вершины (gV ('customer')) безперебирая все вершины (gV (). hasLabel ('customer'))
  • Я получаю ошибки "Максимальная рекурсия достигнута" из Python.Тот же запрос в gremlin работает плавно и быстро
  • Команда ".next ()" работает очень медленно в gremlin-python, в то время как в gremlin это занимает 1 сек

Итак, из Python /gremlin-python, я хотел бы иметь возможность сделать чистый запрос gremlin к серверу и напрямую сохранить его результат в переменной Python.Это возможно?

(я использую gremlin-python на Apache Zeppelin, если это имеет значение)

1 Ответ

0 голосов
/ 05 октября 2018

Я не могу напрямую выбрать данный тип вершины (gV ('customer')) без итерации по всем вершинам (gV (). HasLabel ('customer'))

g.V('customer') в Gremlin означает «найти вершину с идентификатором« customer »», а не «найти вершины с меткой« customer ». Для последнего вам нужно то, что вы написали g.V().hasLabel('customer'). Эти правила одинаковы во всех вариациях Gremlin, включаяPython. И вы правы, что запрос типа g.V().hasLabel('customer') будет дорогостоящим, так как существует не так много графиков, оптимизирующих этот тип операций. На больших графиках это обычно считается OLAP-запросом, который вы выполняете с Gremlin Spark..

Я получаю ошибки "Максимальная рекурсия достигнута" от Python. Тот же самый запрос в gremlin работает гладко и быстро

Это ошибка .Это решено сейчас, но исправление не выпущено для pypi. В настоящее время готовится релиз, и вы увидите это в 3.2.10 и 3.3.4. Если вам нужен немедленный патч, вы можете увидеть, что исправить было справедливоly trivial .

Команда ".next ()" работает очень медленно в gremlin-python, в то время как в gremlin это занимает 1 секунду

Я не уверенчто вы видите точно.Я думаю, что вы, возможно, захотите подробнее рассказать о своей среде, в частности, о том, как воссоздать разницу.Возможно, вам следует перенести этот вопрос в список рассылки gremlin-users.

Итак, из Python / gremlin-python я хотел бы иметь возможность сделать чистый запрос gremlin на сервер и напрямую сохранитьего результат в переменной Python.Это возможно?

Это вполне возможно и это именно то, для чего предназначен gremlin-python.Он позволяет вам писать Gremlin на Python и получать от сервера результаты, которые вам нужны на стороне клиента.

...