条件与过滤含义
通常我们都是基于筛选来选取我们需要的数据,在对图进行遍历分析的时候,经常需要满足一定条件进行对象过滤。where() 就是用来过滤遍历过程中当前阶段的对象。另一方面,predicate就是过滤使用的判断条件,包含关系运算和区间判断等,只有满足判断条件的对象才能通过进入下一轮或者作为结果。
Predicate | description |
---|---|
eq(object) | 传入对象等于目标object |
neg(object) | 传入对象不等于目标object |
lt(number) | 传入的数字小于目标number |
lte(number) | 传入的数字小于或等于目标number |
gt(number) | 传入的数字大于目标number |
gte(number) | 传入的数字大于或等于目标number |
inside(low,high) | 传入的数字大于low且小于high |
outside(low,high) | 传入的数字小于low或者大于high |
between(low,high) | 传入的数字大于等于low且小于high |
within(objects…) | 传入的对象等于目标对象列表objects中的任意一个 |
without(objects…) | 传入的对象不等于目标对象列表objects中的任何一个 |
指令
- predicate可以通过test()来获得boolean值
- and/or/not作用于predicate之后成为新的predicate
- where()单独使用
where(P)
where(String, P)
where(Traversal) - where()与as()+select()配合使用
- where()与match()配合使用
- filter()
lambda方式,filter{it.get()…}
Traversal方式,filter(Traversal)
特定filter step方式