美文网首页
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