图数据库查询与结果格式化详解
1. 路径查找遍历与图变异
1.1 E 和 V 步骤的常见用例
在图数据库查询中,我们常常会思考:既然可以使用 in() 、 out() 和 both() 步骤完成各种操作,为什么还要使用 E 和 V 步骤(Apache TinkerPop 称之为顶点步骤)呢?实际上,E 和 V 步骤有三个常见用例:
- 使用第 3 章中的 has() 过滤方法对边属性进行过滤。
- 在 path() 结果中包含边。
- 高效的边计数和反规范化。
1.2 基于边属性的过滤
基于边属性的过滤通常有两种类型:基于时间的过滤和基于权重的过滤。以基于时间的过滤为例,我们来查找在 2019 年开始工作之前与 Dave 共事过的人。具体步骤如下:
1. 找到 Dave 顶点。
2. 忽略方向遍历到 works_with 边。
3. 过滤 end_year 属性小于或等于 2018 的边。
4. 使用 otherV() 步骤完成边的遍历,到达相邻顶点。
5. 在相邻顶点上返回 first_name 属性的值。
对应的 Gremlin 代码如下:
g.V().has('person', 'first_name'
超级会员免费看
订阅专栏 解锁全文

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



