【图数据库】-- Gremlin 常用语法总结
Gremlin是 Apache TinkerPop 框架下的图遍历语言。Gremlin是一种函数式数据流语言,可以使得用户使用简洁的方式表述复杂的属性图(property graph)的遍历或查询。每个Gremlin遍历由一系列步骤(可能存在嵌套)组成,每一步都在数据流(data stream)上执行一个原子操作。Gremlin 语言包括三个基本的操作:map-step:对数据流中的对象进行转换;
·
Gremlin是 Apache TinkerPop 框架下的图遍历语言。Gremlin是一种函数式数据流语言,可以使得用户使用简洁的方式表述复杂的属性图(property graph)的遍历或查询。每个Gremlin遍历由一系列步骤(可能存在嵌套)组成,每一步都在数据流(data stream)上执行一个原子操作。
Gremlin 语言包括三个基本的操作:
- map-step:对数据流中的对象进行转换;
- filter-step:对数据流中的对象就行过滤;
- sideEffect-step:对数据流进行计算统计;
Tinkerpop3 模型核心概念
- Graph: 维护节点&边的集合,提供访问底层数据库功能,如事务功能
- Element: 维护属性集合,和一个字符串label,表明这个element种类
- Vertex: 继承自Element,维护了一组入度,出度的边集合
- Edge: 继承自Element,维护一组入度,出度vertex节点集合.
- Property: kv键值对
- VertexProperty: 节点的属性,有一组健值对kv,还有额外的properties 集合。同时也继承自element,必须有自己的id, label.
- Cardinality: 「single, list, set」 节点属性对应的value是单值,还是列表,或者set。
Gremlin 查询示例
下面先介绍下本文中所用到的图的 Schema
(Lable):
顶点:
- person
- software
边:person
- uses(person -> software)
- develops(person -> software)
- knows(person -> person)
下面结合上面的 Schema
给出一些常用的图操作。完整的语法见下一部分。
查询点
...................
感谢原文:https://ittang.com/2018/11/15/gremlin_traversal_language/
更多推荐
已为社区贡献1条内容
所有评论(0)