【发布时间】:2021-07-06 09:05:52
【问题描述】:
我正在使用官方 docker 容器运行 gremlin 服务器:
docker run --rm -it -p 8182:8182 --name gremlin tinkerpop/gremlin-server
然后我尝试从主机运行以下脚本:
from gremlin_python.process.anonymous_traversal import traversal
from gremlin_python.driver.driver_remote_connection import DriverRemoteConnection
if __name__ == "__main__":
g = traversal().withRemote(DriverRemoteConnection('ws://localhost:8182', 'g'))
g.V().drop()
g.V().addV('person')
l = g.V().hasLabel('person')
print(l.toList())
连接似乎有效(没有错误),但查询似乎并未实际执行(gremlin 服务器统计显示没有任何调用)。
更奇怪的是,toList() 调用会阻塞执行,并且什么也不返回。如果然后我停止 docker 容器,python 端的连接将断开。
我正在使用 gremlin 服务器的默认设置。 有人可以帮我了解发生了什么吗?
编辑:我还尝试将 gremlin 配置主机更改为 0.0.0.0。
编辑:所以看起来只有toList 等待答案的原因是因为其他查询尚未实际执行,您需要.next()。
【问题讨论】:
标签: docker gremlin tinkerpop gremlin-server gremlinpython