用户自定义函数

用户自定义函数使用 Java 编写,部署到数据库中,并以与其他 Cypher® 函数相同的方式调用。

可以开发和使用的函数主要有两种类型

类型 描述 用法 开发

标量

对于每一行,函数接受参数并返回结果。

使用 UDF

扩展 Neo4j(UDF)

聚合

消耗多行数据并产生聚合结果。

使用聚合 UDF

扩展 Neo4j(聚合 UDF)

用户自定义标量函数

对于每个输入行,函数接受参数并返回单个结果。

有关在 Neo4j 中开发和部署用户自定义函数,请参阅 扩展 Neo4j → 用户自定义函数

示例 1:调用用户自定义函数

本示例展示如何在 Cypher 中调用名为 join 的用户自定义函数。

这将调用用户自定义函数 org.neo4j.procedure.example.join()

查询
MATCH (n:Member)
RETURN org.neo4j.function.example.join(collect(n.name)) AS members
结果
成员

"John,Paul,George,Ringo"

行:1

用户自定义聚合函数

聚合函数消耗多行数据并生成单个聚合结果。

示例 2:调用用户自定义聚合函数

本示例展示如何在 Cypher 中调用名为 longestString 的用户自定义聚合函数。

这将调用用户自定义函数 org.neo4j.function.example.longestString()

查询
MATCH (n:Member)
RETURN org.neo4j.function.example.longestString(n.name) AS member
结果
成员

"George"

行:1