在图形中打印层次结构顶点 [英] Print hierarchical vertices in a graph

查看:79
本文介绍了在图形中打印层次结构顶点的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何打印给定节点的所有父代.

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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆