Gremlin - Concepts
2019年06月25日
对象在traversal中传递的过程中被封装在Traverser<T>内。Traverser使得steps保持无状态化。所有关于traversal的metadata都由traverser进行维护。
我们这里所说的traversal起始于TraversalSource。TraversalSource可以为GraphTraversalSource生成traversals。GraphTraversalSource提供了连接graph instance的方法(按照通用惯例,以"g"表示),以及两种traversal方法用来生成traversal:
记住这5种step,后面的文章会对它们详细介绍。
*
*
本文概念性的介绍较多,且较晦涩,但由于后面的内容对本文的内容涉及较多,请勿跳过。
图计算(graph computing)包括两大部分:Structure (graph) 和Process (traversal)。下文如无特殊说明,structure和process均只限定于图计算领域。
Vertex、Edge和property共同定义了图的数据模型,也就是structure。
- Vertex:我们真实生活中的对象或实体(entities)
- Label:实体或对象的类型,例如人、软件等等
- Edge:孤立的实体在图数据领域没有太大的意义,因为图存在的主要意义是研究个体之间的关系。Edges代表实体之间的关系。一个Edge从一个Vertex指向另一个Vertex。
- Property:可以被关联到各个Vertex和Edge。它是key-value pair。
对象在traversal中传递的过程中被封装在Traverser<T>内。Traverser使得steps保持无状态化。所有关于traversal的metadata都由traverser进行维护。
我们这里所说的traversal起始于TraversalSource。TraversalSource可以为GraphTraversalSource生成traversals。GraphTraversalSource提供了连接graph instance的方法(按照通用惯例,以"g"表示),以及两种traversal方法用来生成traversal:
- GraphTraversalSource.V(Object… ids): 生成一个以Vertices为起点的traversal。
- GraphTraversalSource.E(Object… ids): 生成一个以Edges为起点的traversal。
- map
- flatMap
- filter
- sideEffect
- branch
记住这5种step,后面的文章会对它们详细介绍。
*