运算符优先级Graph
nGQL 运算符的优先级从高到低排列如下(同一行的运算符优先级相同):
-
(负数)!
、NOT
*
、/
、%
-
、+
==
、>=
、>
、<=
、<
、<>
、!=
AND
OR
、XOR
=
(赋值)
如果表达式中有相同优先级的运算符,运算是从左到右进行,只有赋值操作是例外(从右到左运算)。
运算符的优先级决定运算的顺序,要显式修改运算顺序,可以使用圆括号。
示例Graph
nebula> RETURN 2+3*5;
+-----------+
| (2+(3*5)) |
+-----------+
| 17 |
+-----------+
nebula> RETURN (2+3)*5;
+-----------+
| ((2+3)*5) |
+-----------+
| 25 |
+-----------+
openCypher 兼容性Graph
在 openCypher 中,比较操作可以任意连接,例如x < y <= z
等价于x < y AND y <= z
。
在 nGQL 中,x < y <= z
等价于(x < y) <= z
,(x < y)
的结果是一个布尔值,再将布尔值和z
比较,最终结果是NULL
。
最后更新: November 24, 2021