gremlin в python NameError не распознает функции - PullRequest
0 голосов
/ 07 января 2019

Я запускаю Gremlin-Pyton в записной книжке Jupyter, и по какой-то причине следующее не работает:

g.V().group().by().by(bothE().count())

Я получаю сообщение об ошибке:

NameError: name 'bothE' is not defined

1 Ответ

0 голосов
/ 07 января 2019

Если вы выполнили типичный импорт , указанный в документации :

>>> from gremlin_python import statics
>>> from gremlin_python.structure.graph import Graph
>>> from gremlin_python.process.graph_traversal import __
>>> from gremlin_python.process.strategies import *
>>> from gremlin_python.driver.driver_remote_connection import DriverRemoteConnection

, затем bothE доступно как __.bothE.

Методы в пространстве имен __ могут быть добавлены в глобальные переменные вашего ноутбука с помощью:

>>> statics.load_statics(globals())

, чтобы вы могли получить доступ к bothE напрямую без префикса.

Цитирование из документации:

Более того, при импорте статики Gremlin-Python префиксы классов можно опустить.

>>> statics.load_statics(globals())

и

Наконец, статика включает все -методы, и, таким образом, анонимные обходы, такие как .out(), могут быть выражены, как показано ниже. То есть без __. -приставки.

>>> g.V().repeat(out()).times(2).name.fold().toList()
[[ripple, lop]]

Предостережение : Я не являюсь пользователем Gremlin-Python, и для меня не практично установить Gremlin, чтобы полностью проверить вышеуказанное. Я основал это на чтении документации и проверке исходного кода проекта.

...