我正在Jupyter笔记本中运行Gremlin-Pyton,由于某些原因,以下操作不起作用:
g.V().group().by().by(bothE().count())
我不断收到错误消息:
NameError: name 'bothE' is not defined
答案 0 :(得分:0)
如果您遵循typical imports listed in the documentation:
>>> 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())
和
最后,静态方法包括所有-methods,因此,像
.out()
这样的匿名遍历可以表示如下。也就是说,没有__.
前缀。>>> g.V().repeat(out()).times(2).name.fold().toList() [[ripple, lop]]
注意事项:我不是Gremlin-Python用户,对我来说,安装Gremlin来完全验证上述内容也不实际。我的基础是阅读文档并扫描项目源代码。