支持的强制性 GQL 特性

与可选的 GQL 特性不同,强制性 GQL 特性不分配 GQL 特性 ID 代码。下表按其在 ISO/IEC 39075:2024(en) GQL 标准 中出现的顺序排列。

GQL 标准子条款 描述 文档 注释

4.9.2

GQL 状态对象

Neo4j 将成功的执行结果、错误、异常和警告公开为 GQL 状态对象。

4.11

图模式匹配

4.13

GQL 对象类型

包括:NODE (ANY NODE, VERTEX, ANY VERTEX) 和 RELATIONSHIP (ANY RELATIONSHIP, EDGE, ANY EDGE)。

4.16

预定义值类型

包括:BOOLEAN (BOOL), FLOAT, INTEGER (SIGNED INTEGER, INT) 和 STRING (VARCHAR)。

Cypher 支持针对 truefalsenull 的布尔类型谓词,但不支持 GQL 关键字 UNKNOWN

9.1

<嵌套过程规范>

13.2

<插入语句>

13.3

<设置语句>

SET

GQL 的 SET 没有顺序依赖关系,因为所有右侧操作都在赋值发生前完成。在 Cypher 的 SET 中,行顺序可能会影响结果,因为执行期间所做的更改可能取决于赋值的顺序。在 Neo4j 中保证行顺序的唯一方法是使用 ORDER BY

13.4

<移除语句>

13.5

<删除语句>

14.4

<匹配语句>

14.9

<排序和分页语句>

14.10

<原始结果语句>

14.11

<返回语句>

15.4

<条件语句>

16.2

<限制子句>

16.4

<图模式>

16.5

<插入图模式>

16.6

<排序子句>

16.7

<路径模式表达式>

16.8

<标签表达式>

16.9

<路径变量引用>

16.11

<图模式量词>

16.17

<排序规范列表>

16.19

<偏移子句>

19.3

<比较谓词>

19.4

<存在谓词>

19.5

<空值谓词>

19.6

<值类型谓词>

19.7

<标准化谓词>

20.2

<值表达式主项>

20.3

<值规范>

GQL 定义了 SESSION_USER 值表达式,允许在查询中访问用户的用户名。在 Cypher 中,可以使用 SHOW CURRENT USER 命令 查看当前用户详细信息。

20.7

<case 表达式>

20.9

<聚合函数>

当查询返回 0 行时,Cypher 和 GQL 对 sum() 函数中 null 值的处理方式不同。例如,在空表上执行 RETURN sum(<expr>),GQL 返回 null,而 Cypher 返回 0

20.11

<属性引用>

20.21

<数值表达式>

20.22

<数值函数>

20.23

<字符串表达式>

20.24

<字符串函数>

在 GQL 中,TRIM() 仅移除空格字符。在 Cypher 中,trim() 移除任何空白字符。

21.1

名称和变量

Cypher 支持 GQL 的词法元素,但有以下注意事项:

  • GQL 允许将非变量标识符用反引号和引号引起来。Cypher 仅允许使用反引号。例如:MATCH (n) RETURN n."a prop" 在 GQL 中是允许的,但在 Cypher 中不允许。

22.15

分组操作

© . This site is unofficial and not affiliated with Neo4j, Inc.