yangyang12138

导航

gremlin

一、概述

  一个图遍历和图计算的查询语言,可以适配任何图数据库,只有开放制定gremlin-plugin。

二、Traversal

  即迭代器,图数据的一个遍历,

  如以下语句, g.traversal().V() 

  其中g代表图书库,traversal即为开始一个迭代,V是一个step,一个step代表一个迭代的操作,也就是说traversal可以理解为开启for循环,step即为for循环里的操作

  一个step包含若干个Traverser,一个Traverser维护一组结果,如路径查找时,路径的中间结果就是通过Traverser来保存的。

  step有很多中,仅当遇到终结式step的时候才会触发计算,常用的终结step有:next,get,list(如果没有执行终结step,普通的step也可以被序列化,故在gremlin终端执行g.V()也有数据返回)

三、会触发计算的step

  当前遍历 S 对象(开始) — Traverser.get()

  当前遍历器遍历过的路径 — Traverser.path()

  辅助理解:获取指定历史路径 — Traverser.path(String) == Traverser.path().get(String)

  获取遍历器当前循环的次数 — Traverser.loops()

  遍历器中维护的对象的个数 — Traverser.bulk()

  遍历器相关联的局部数据结构 — Traverser.sack()

  遍历器相关联的side-effects — Traverser.sideEffects()

posted on 2021-03-29 19:41  杨杨09265  阅读(184)  评论(0编辑  收藏  举报