美文网首页
gremlin语言介绍四:predicate

gremlin语言介绍四:predicate

作者: 生饼 | 来源:发表于2020-07-05 03:09 被阅读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

相关文章

网友评论

      本文标题:gremlin语言介绍四:predicate

      本文链接:https://www.haomeiwen.com/subject/hmemqktx.html