代码之家  ›  专栏  ›  技术社区  ›  E.Brum

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

  •  0
  • E.Brum  · 技术社区  · 7 年前

    我一直在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的文档,但没有多大帮助。如何在屏幕上实际打印查询的输出(在本例中,是连接到顶点V1的顶点列表)?

    非常感谢。

    1 回复  |  直到 7 年前
        1
  •  2
  •   stephen mallette    7 年前

    当您这样做时:

    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());
    

    我将验证遍历是否实际返回数据,因为上面的任何一个都应该显示您的输出。