我正在使用 gremlin-python 连接到 gremlin-server 并且我正在尝试逐步建立一个查询,但我遇到了困难。我的查询有一个初始部分,如下所示:
query = g.V().hasLabel('<some_label>')
现在我想用这个查询做很多事情,首先我只想要一个计数:
query.count().next()
现在,如果我使用该变量执行任何其他操作,query
则计数步骤将在遍历中,因此以下内容不起作用:
query.out('<some_edge_label>').valueMap().toList()
查看文档似乎我需要克隆遍历,所以我将上面的内容替换为:
query = g.V().hasLabel('<some_label>')
count_query = query.clone()
count_query.count().next()
但是query
仍然有count()
步骤,当我打印字节码时,即使我克隆了它。这是 gremlin-python 的预期行为吗?这是我正在谈论的完整示例,在每个步骤中打印字节码:
query = g.V().hasLabel('alabel')
print(query)
q_count = query.clone()
print(q_count.count())
print(query)
[['V'], ['hasLabel', 'alabel']]
[['V'], ['hasLabel', 'alabel'], ['count']]
[['V'], ['hasLabel', 'alabel'], ['count']]
我该怎么做才能克隆/复制遍历的开始,以便我可以在 gremlin-python 中重用它?