我正在基于sample在 CosmosDB 上使用Python拖放并重新创建一个大图。
使用g.V().drop()
删除图形,使用g.V().addV...
创建顶点,使用g.V().addE...
创建边。
但是,在可变数量的项目或时间之后多次运行该过程时,添加被卡住-client.submitAsync()
没有结果。
答案 0 :(得分:0)
在addE()
和addV()
语句之前进行检查时,我发现图在drop()
之后并没有完全为空。似乎需要几秒钟。
因此,在我继续执行drop()
操作之前,我在add
之后放置了一个循环,直到图形完全为空为止。
def drop_graph(client):
client.submitAsync("g.V().drop()").result()
remain = None
while remain != 0:
callback = client.submitAsync("g.V().count()")
for result in callback.result():
previous = remain
remain = result[0]
print('remaining nodes {}'.format(remain))
if remain > 0:
sleep(1)
if previous == remain:
client.submitAsync("g.V().drop()").result()
编辑:gremlin.python.driver
或后端Gremlin服务器上似乎都存在错误-在某些情况下,删除所有顶点没有任何进展。为此,我添加了另一个drop()
的启动程序,以防剩余节点不减少。