我想打印查询以进行调试。
我无法找出最好的方法,而不必两次重复查询,一次是作为要打印的字符串,一次是实际执行它。
我尝试过:
add_vertex_query = "g.addV('addvqueryLabel').next()"
print("going to run query: %s"%(add_vertex_query))
add_vertex_query_res = add_vertex_query
print("add_vertex_query result: %s"%(add_vertex_query_res))
但这不起作用,因为它只是在第三行
顺便说一句,我在 Neptune 中运行图形,所以如果解决方案与Neptune兼容
更新
我找到了替代(尽管不理想):
query = g.V().valueMap(True)
print("query: %s"%(query))
result_list = query.toList()
print("result: %s"%(result_list))
这给出了
query: [['V'], ['valueMap', True]]
在打印输出中,可以理解为
“ g.V().valueMap(True)
”
但是理想情况下最好的情况是,如果我可以记录/打印我想要的确切整个查询:
g.V().valueMap(True).toList()
无需在
query_string = "g.V().valueMap(True).toList()"
print("running query: %s"%(query_string))
res = g.V().valueMap(True).toList()
print("results: %s"%(res))
答案 0 :(得分:0)
使用Python eval
query_string = "g.V().valueMap(True).limit(5).toList()"
print("running query: %s ..."%(query_string))
res_list = eval(query_string)
[print("result %s: %s"%(i, res)) for i, res in enumerate(res_list, 1)]