【发布时间】:2015-04-01 06:33:35
【问题描述】:
仅使用TinkerGraph,并尝试递归查找由特定边缘标签连接的节点(在本例中为created)。
- 有没有一种方法可以递归(/循环)遍历节点?在下面的示例中,我想循环直到没有更多匹配的边(而不是硬编码的
3值)。 - 在给定图表的情况下,是否有办法找到并分组连接的顶点?
对重复数据删除节点和处理节点循环的额外赞誉。
依赖关系
compile("com.thinkaurelius.titan:titan-berkeleyje:0.5.4")
compile('com.tinkerpop:gremlin-groovy:2.6.0')
代码(手动递归3次:()
Gremlin.load()
def g = TinkerGraphFactory.createTinkerGraph()
println g.v(5).as('x')
.both('created')
.dedup
.loop(2){it.loops <= 3}
.path
.toList().flatten() as Set // groovy code to flatten & dedup
给我:(正确)
[v[5], v[4], v[3], v[1], v[6]]
谢谢!
【问题讨论】:
-
这是否意味着您不想遍历您已经在遍历中访问过的顶点?
-
@D.Mill ,我不介意使用哪种方法来获取一组连接的节点。不过,这听起来合乎逻辑(取决于您的方法),您不想遍历同一个顶点两次(以避免无限循环),对吧?
标签: gremlin tinkerpop tinkerpop-blueprint