小编And*_*ler的帖子

在Java中使用gremlin遍历图形时,如何收集属性值?

图中的每个顶点至少都有一个name属性。我有一个标签L集合S的名称值。现在,我想从具有集合S中名称的顶点中,通过具有边标签EL的特定出局边,收集(递归)可以到达的所有顶点的name属性值。

我当前对名称为S1的单个起始节点的解决方案如下所示:

            g.traversal().V().hasLabel(L)
            .has("name", S1)
            .repeat(__.optional(__.out(EL)))
            .until(__.out(EL).count().is(0))
            .path()
            .forEachRemaining(path -> {
             path.forEach(e -> System.out.println(((Vertex)e).property("name").value()));});
Run Code Online (Sandbox Code Playgroud)

println是只看到这产生了预期的结果,通常我会收集姓名的设置。

有没有更好的方法来收集通过标签EL通过出线边可到达的所有顶点的name属性值?

从多个顶点开始的最佳方法是什么(从Set S仅知道名称)?

当前,该结构是一棵树,但是如果按周期排列,上面的代码是否可以防止无限循环?如果没有,该怎么办?

java gremlin

3
推荐指数
1
解决办法
1376
查看次数

标签 统计

gremlin ×1

java ×1