在图形中打印层次结构顶点 [英] Print hierarchical vertices in a graph
本文介绍了在图形中打印层次结构顶点的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
如何打印给定节点的所有父代.
How to print all the parents of a given node.
推荐答案
Graham的答案还可以,但是使用了昂贵的路径计算,这对您的用例而言并不是必需的.
Graham's answer is okay, but uses expensive path computations, which are not really required for your use-case.
这是我设置图表的方式:
This is how I've set up your graph:
g = TinkerGraph.open().traversal()
g.addV().property(id, 1).as("v1").
addV().property(id, 2).as("v2").
addV().property(id, 3).as("v3").
addV().property(id, 4).as("v4").
addV().property(id, 5).as("v5").
addV().property(id, 6).as("v6").
addV().property(id, 7).as("v7").
addV().property(id, 8).as("v8").
addE("black").from("v2").to("v1").
addE("black").from("v7").to("v2").
addE("black").from("v8").to("v7").
addE("orange").from("v8").to("v7").
addE("black").from("v3").to("v2").
addE("black").from("v6").to("v3").
addE("black").from("v4").to("v3").
addE("black").from("v5").to("v4").
addE("orange").from("v5").to("v4").iterate()
现在,要获得所有祖先,您所需要做的就是:
Now, to get all ancestors, all you need is this:
gremlin> g.V(5).repeat(out().dedup()).emit()
==>v[4]
==>v[3]
==>v[2]
==>v[1]
同样,您不需要计算路径即可确定最大深度:
Likewise you won't need path computations to determine the maximum depth:
gremlin> g.V(5).emit().repeat(out().dedup()).count()
==>5
这篇关于在图形中打印层次结构顶点的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文