谓词函数

    Nebula Graph支持以下谓词函数。

    如果列表为空,或者列表中的所有元素都为空,则返回NULL。

    在 openCypher 中只定义了函数exists(),其他几个函数依赖于具体实现。

    示例

    1. nebula> RETURN any(n IN [1, 2, 3, 4, 5, NULL] \
    2. WHERE n > 2) AS r;
    3. +------+
    4. | r |
    5. +------+
    6. | true |
    7. +------+
    8. nebula> RETURN single(n IN range(1, 5) \
    9. WHERE n == 3) AS r;
    10. +------+
    11. | r |
    12. +------+
    13. | true |
    14. +------+
    15. WHERE n == 0) AS r;
    16. +------+
    17. | r |
    18. +------+
    19. | true |
    20. +------+
    21. RETURN any(n IN a WHERE n > 2);
    22. +-------------------------+
    23. | any(n IN a WHERE (n>2)) |
    24. +-------------------------+
    25. | true |
    26. +-------------------------+
    27. nebula> MATCH p = (n:player{name:"LeBron James"})<-[:follow]-(m) \
    28. RETURN nodes(p)[0].name AS n1, nodes(p)[1].name AS n2, \
    29. all(n IN nodes(p) WHERE n.name NOT STARTS WITH "D") AS b;
    30. +----------------+-------------------+-------+
    31. | n1 | n2 | b |
    32. +----------------+-------------------+-------+
    33. | "LeBron James" | "Danny Green" | false |
    34. +----------------+-------------------+-------+
    35. | "LeBron James" | "Dejounte Murray" | false |
    36. +----------------+-------------------+-------+
    37. | "LeBron James" | "Chris Paul" | true |
    38. +----------------+-------------------+-------+
    39. | "LeBron James" | "Kyrie Irving" | true |
    40. +----------------+-------------------+-------+
    41. +----------------+-------------------+-------+
    42. | "LeBron James" | "Dwyane Wade" | false |
    43. +----------------+-------------------+-------+
    44. RETURN single(n IN nodes(p) WHERE n.age > 40) AS b;
    45. +------+
    46. | b |
    47. +------+
    48. | true |
    49. +------+
    50. nebula> MATCH (n:player) \
    51. RETURN exists(n.id), n IS NOT NULL;
    52. +--------------+---------------+
    53. | exists(n.id) | n IS NOT NULL |
    54. +--------------+---------------+
    55. | false | true |
    56. +--------------+---------------+
    57. ...
    58. nebula> MATCH (n:player) \
    59. WHERE exists(n['name']) RETURN n;
    60. +-------------------------------------------------------------------------------------------------------------+
    61. | n |
    62. +-------------------------------------------------------------------------------------------------------------+
    63. | ("Grant Hill" :player{age: 46, name: "Grant Hill"}) |
    64. +-------------------------------------------------------------------------------------------------------------+
    65. | ("Marc Gasol" :player{age: 34, name: "Marc Gasol"}) |
    66. ...