如何在 java 环境中打印 Tinkerpop (TinkerGraph) 查询的输出?

How to print the output of Tinkerpop (TinkerGraph) queries in a java environment?

我一直在 Java 环境中使用 Apache Tinkerpop 3.3,但我一直无法打印我所做的查询的输出。例如,当我使用以下代码时:

GraphTraversalSource g = tg.traversal();
System.out.println(g.V(V1).in().values().fold());

我得到的输出只是对操作的描述(类似这样)。

[GraphStep(vertex,[v[0]]), VertexStep(IN,vertex)] 

我已经尝试添加 .toList() 但它仍然不起作用。我已经阅读了 TinkerPop 的文档,但没有太大帮助。我该怎么做才能在屏幕上实际打印查询的输出(在本例中为连接到 Vertex V1 的顶点列表)?

谢谢!

当你这样做时:

System.out.println(g.V(V1).in().values().fold());

您正在打印 Traversal 实例本身,而不是结果。结果需要以某种方式迭代 - 结果迭代在 The Gremlin Console Tutorial 中有一些详细描述。

现在,您确实说您将 .toList() 附加到该遍历的末尾,所以我不确定如果您的代码如下所示,为什么您仍然会遇到问题:

System.out.println(g.V(V1).in().values().fold().toList());

虽然这可能就是您所需要的,因为 fold() 已经返回一个 List:

System.out.println(g.V(V1).in().values().fold().next());

我会验证你的遍历实际上是 returns 数据,因为以上任何一个都应该显示你的输出。