SHOW FUNCTIONS

可以使用 SHOW FUNCTIONS 列出可用函数。

命令 SHOW FUNCTIONS 仅返回默认输出。如需完整输出,请使用可选的 YIELD 命令。完整输出为:SHOW FUNCTIONS YIELD *

SHOW FUNCTIONS 命令将生成一个包含以下列的表格

表格 1. 列出函数输出
描述 类型

名称

函数的名称。默认输出

字符串 (STRING)

类别

函数类别,例如 scalarstring默认输出

字符串 (STRING)

描述

函数描述。默认输出

字符串 (STRING)

签名

函数的签名。

字符串 (STRING)

是否内置

函数是内置的还是用户定义的。

布尔值 (BOOLEAN)

参数描述

函数参数列表,表示为字符串和布尔值的映射,包含 nametypedefaultisDeprecateddescription

列表<映射> (LIST<MAP>)

返回描述

返回值类型。

字符串 (STRING)

聚合

函数是否为聚合函数。

布尔值 (BOOLEAN)

角色执行

允许执行此函数的角色列表。如果没有 SHOW ROLE 权限,则为 null

列表<字符串> (LIST<STRING>)

角色增强执行

允许在执行此函数时使用增强模式的角色列表。如果没有 SHOW ROLE 权限,则为 null

列表<字符串> (LIST<STRING>)

已弃用

函数是否已弃用。5.9 版本引入

布尔值 (BOOLEAN)

弃用者

弃用时的替代函数;否则为 null5.21 版本引入

字符串 (STRING)

语法

有关语法描述的更多详细信息,请参见此处

列出函数,可以是全部,也可以是仅内置或用户定义的
SHOW [ALL|BUILT IN|USER DEFINED] FUNCTION[S]
[YIELD { * | field[, ...] } [ORDER BY field[, ...]] [SKIP n] [LIMIT n]]
[WHERE expression]
[RETURN field[, ...] [ORDER BY field[, ...]] [SKIP n] [LIMIT n]]

使用 RETURN 子句时,YIELD 子句是强制性的,不得省略。

列出当前用户可以执行的函数
SHOW [ALL|BUILT IN|USER DEFINED] FUNCTION[S] EXECUTABLE [BY CURRENT USER]
[YIELD { * | field[, ...] } [ORDER BY field[, ...]] [SKIP n] [LIMIT n]]
[WHERE expression]
[RETURN field[, ...] [ORDER BY field[, ...]] [SKIP n] [LIMIT n]]

使用 RETURN 子句时,YIELD 子句是强制性的,不得省略。

列出指定用户可以执行的函数
SHOW [ALL|BUILT IN|USER DEFINED] FUNCTION[S] EXECUTABLE BY username
[YIELD { * | field[, ...] } [ORDER BY field[, ...]] [SKIP n] [LIMIT n]]
[WHERE expression]
[RETURN field[, ...] [ORDER BY field[, ...]] [SKIP n] [LIMIT n]]

需要 SHOW USER 权限。此命令不能用于 LDAP 用户。

使用 RETURN 子句时,YIELD 子句是强制性的,不得省略。

列出所有函数

要列出所有可用函数(带默认输出列),可以使用 SHOW FUNCTIONS 命令。如果需要所有列,请使用 SHOW FUNCTIONS YIELD *

查询
SHOW FUNCTIONS
表格 2. 结果
名称 类别 描述

"abs"

"数值"

"返回 INTEGER 的绝对值。"

"abs"

"数值"

"返回 FLOAT 的绝对值。"

"acos"

"三角函数"

"返回 FLOAT 的反余弦值(弧度制)。"

"all"

"谓词"

"如果给定 LIST<ANY> 中所有元素都满足谓词,则返回 true。"

"any"

"谓词"

"如果给定 LIST<ANY> 中至少有一个元素满足谓词,则返回 true。"

"asin"

"三角函数"

"返回 FLOAT 的反正弦值(弧度制)。"

"atan"

"三角函数"

"返回 FLOAT 的反正切值(弧度制)。"

"atan2"

"三角函数"

"返回一组坐标的反切值(弧度制)。"

"avg"

"聚合"

"返回一组 INTEGER 值的平均值。"

"avg"

"聚合"

"返回一组 FLOAT 值的平均值。"

"avg"

"聚合"

"返回一组 DURATION 值的平均值。"

"ceil"

"数值"

"返回大于或等于给定数字且等于 INTEGER 的最小 FLOAT 值。"

"coalesce"

"标量"

"返回表达式列表中第一个非 null 值。"

"collect"

"聚合"

"返回一个列表,其中包含表达式返回的值。"

"cos"

"三角函数"

"返回 FLOAT 的余弦值。"

"cot"

"三角函数"

"返回 FLOAT 的余切值。"

"count"

"聚合"

"返回值或行的数量。"

"date"

"时间"

"创建 DATE 瞬时。"

"date.realtime"

"时间"

"使用实时时钟返回当前 DATE 瞬时。"

"date.statement"

"时间"

"使用语句时钟返回当前 DATE 瞬时。"

行数:20

上表仅显示查询的前 20 个结果。有关 Cypher® 中所有可用函数的完整列表,请参阅函数章节。

按输出列过滤函数列表

列出的函数可以通过多种方式进行过滤。一种方式是通过类型关键字 BUILT INUSER DEFINED。更灵活的方式是使用 WHERE 子句。例如,获取所有以字母 'a' 开头的内置函数的名称

查询
SHOW BUILT IN FUNCTIONS YIELD name, isBuiltIn
WHERE name STARTS WITH 'a'
表格 3. 结果
名称 是否内置

"abs"

true

"abs"

true

"acos"

true

"all"

true

"any"

true

"asin"

true

"atan"

true

"atan2"

true

"avg"

true

"avg"

true

"avg"

true

行数:11

使用其他过滤条件列出函数

列出的函数还可以根据用户是否可以执行它们进行过滤。此过滤仅通过 EXECUTABLE 子句可用,而不能通过 WHERE 子句。这是因为使用了用户的权限,而不是根据可用输出列进行过滤。

使用 EXECUTABLE 子句有两种选项。第一种选项是过滤当前用户:

查询
SHOW FUNCTIONS EXECUTABLE BY CURRENT USER YIELD *
表格 4. 结果
名称 类别 描述 角色执行 角色增强执行 …​

"abs"

"数值"

"返回 INTEGER 的绝对值。"

<null>

<null>

"abs"

"数值"

"返回 FLOAT 的绝对值。"

<null>

<null>

"acos"

"三角函数"

"返回 FLOAT 的反余弦值(弧度制)。"

<null>

<null>

"all"

"谓词"

"如果给定 LIST<ANY> 中所有元素都满足谓词,则返回 true。"

<null>

<null>

"any"

"谓词"

"如果给定 LIST<ANY> 中至少有一个元素满足谓词,则返回 true。"

<null>

<null>

"asin"

"三角函数"

"返回 FLOAT 的反正弦值(弧度制)。"

<null>

<null>

"atan"

"三角函数"

"返回 FLOAT 的反正切值(弧度制)。"

<null>

<null>

"atan2"

"三角函数"

"返回一组坐标的反切值(弧度制)。"

<null>

<null>

"avg"

"聚合"

"返回一组 INTEGER 值的平均值。"

<null>

<null>

"avg"

"聚合"

"返回一组 FLOAT 值的平均值。"

<null>

<null>

行数:10

请注意,由于缺少 SHOW ROLE 权限,两个 roles 列为空。另请注意,下表不包含以下列:

  • 签名

  • 是否内置

  • 参数描述

  • 返回描述

  • 聚合

  • 已弃用

  • 弃用者

第二种选项是为特定用户进行过滤

查询
SHOW FUNCTIONS EXECUTABLE BY jake
表格 5. 结果
名称 类别 描述

"abs"

"数值"

"返回 INTEGER 的绝对值。"

"abs"

"数值"

"返回 FLOAT 的绝对值。"

"acos"

"三角函数"

"返回 FLOAT 的反余弦值(弧度制)。"

"all"

"谓词"

"如果给定 LIST<ANY> 中所有元素都满足谓词,则返回 true。"

"any"

"谓词"

"如果给定 LIST<ANY> 中至少有一个元素满足谓词,则返回 true。"

"asin"

"三角函数"

"返回 FLOAT 的反正弦值(弧度制)。"

"atan"

"三角函数"

"返回 FLOAT 的反正切值(弧度制)。"

"atan2"

"三角函数"

"返回一组坐标的反切值(弧度制)。"

"avg"

"聚合"

"返回一组 INTEGER 值的平均值。"

"avg"

"聚合"

"返回一组 FLOAT 值的平均值。"

行数:10

© . All rights reserved.