图遍历:概念、步骤与 Gremlin 实现
1. 图遍历的基础准备
在进行图遍历之前,我们需要明确一些关键的图结构元素。首先是与顶点相连的边标签,在某些模型中,比如这里的社交网络模型,边标签可能只有“朋友(friends)”这一种。接着要确定边的方向,这有助于我们在有向图中明确遍历的路径。不过在一些情况下,边的方向可能并不重要,例如当边是从一个顶点指向自身(循环边)时。
这些明确的图结构元素是后续规划和编写遍历操作的基础。当我们清晰地定义了业务问题并深入理解了使用场景后,合理的逻辑模型和确定的图结构元素将有助于我们编写有效的遍历操作。如果在编写遍历操作以解决使用场景问题时遇到困难,可能意味着在数据建模过程中遗漏了某些重要信息。
2. 规划图数据遍历步骤
以社交网络图数据为例,我们来解决“谁是 Ted 的朋友”这个问题。具体步骤如下:
1. 确定起始点 :在图中找到 Ted 顶点作为遍历的起始点。
2. 寻找朋友 :从 Ted 顶点出发,通过与之相连的“朋友(friends)”边找到对应的顶点。需要注意的是,这里的边具有方向性,“谁是 Ted 的朋友”指的是 Ted 主动添加为朋友的人,所以我们只沿着从 Ted 顶点出发的“朋友”边进行遍历,而不是指向 Ted 顶点的边。
3. 完成遍历 :沿着选定的边到达另一个顶点,这个顶点对应的人就是 Ted 的朋友。
下面是这个过程的 mermaid 流程图:
graph L
超级会员免费看
订阅专栏 解锁全文
1043

被折叠的 条评论
为什么被折叠?



