【问题标题】:Convert GraphTraversal<Vertex, Map<Object, List>> into Java8 stream将 GraphTraversal<Vertex, Map<Object, List>> 转换为 Java8 流
【发布时间】:2022-01-23 21:26:54
【问题描述】:

我有一个对graphDB 的查询结果,它返回GraphTraversal&lt;Vertex, Map&lt;Object, List&gt;&gt; values。通过使用默认方法values.iterate().toStream(),它应该返回Stream&lt;Map&lt;Object, List&gt;&gt; 的流,我可以将其作为Java8 流处理,但由于某种原因,它不起作用,重复,通过使用gemlin API 中的默认方法来获取流.

注意:通过使用while,我可以对其进行迭代,这很好,但我需要做一些更复杂的操作,这些操作将通过使用Java8 Streams 来简化,但是,正如我所说,它不起作用,甚至使用tinkerpop 默认方法。有什么想法吗?

没有错误,但由于某种原因流为空。

【问题讨论】:

  • 您是否尝试过使用 toList() 而不是 iterate()iterate 终端步骤包含一个隐含的none 步骤,因此不会向调用者返回任何结果。这是一个相关的问题。 stackoverflow.com/questions/59024185/…

标签: java java-stream gremlin graph-databases tinkerpop


【解决方案1】:

当您调用iterate() 时,它会返回一个GraphTraversal,然后您可以调用toStream(),但它始终为空。如果您打算将值返回到您的Stream,则应省略iterate()。简而言之,只需values().toStream()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多