gremlin语言介绍四:predicate

2020-07-05  本文已影响0人  生饼

gremlin的predicate用于判断一个值是否满足一定条件,而不只是相等。还可以是大于,大于或等于,小于以及这些条件的组合。字符串类型还可以用来判断是否包含特定字符串,或以指定字符串开始或结束

1 gremlin支持的predicate

gremlin支持的predicate有以下这些:

判断等于或不等于

eq、neq

数值类型比较

lt、lte、gt、gte、inside、outside、between、within、without

inside表示在两个值之间,不包含边界值

outside表示在两个值之外,不包含边界值

between也表示在两个值之间,但是包含边界值

within表示值是否是序列中的一个。举例如下:

gremlin> inside(20,30).test(20)
==>false
gremlin> between(20,30).test(20)
==>true
gremlin> within(20,30,40,50).test(20)
==>true
gremlin> within('a', 'hello', 'b').test('hello')
==>true

字符串特定的predicate

startingWith、endingWith、containing、notStartingWith、notEndingWith、notContaining

2 predicate的组合

多个predicate可以通过and()、or()、not()组合成复杂的判断逻辑,而且支持嵌套,例如:

# 组合
gremlin> gt(20).and(lt(30)).test(24)
==>true
gremlin> gt(20).and(lt(30)).and(eq(24)).test(24)
==>true
gremlin> gt(20).and(lt(30)).or(eq(100)).test(100)
==>true

# 嵌套
gremlin> gt(20).and(lt(30).or(eq(100))).test(100)
==>true
gremlin> not(gt(20).and(lt(30).or(eq(100)))).test(100)
==>false
上一篇下一篇

猜你喜欢

热点阅读