Neo4j 语句的特定语法

本节介绍所有类型语句(标准语句、预编译语句和可调用语句)中参数索引和命名约定,以及其他 Neo4j 特定语法。

可调用语句

通用语法

您可以按以下方式调用存储过程:

通用 JDBC 语法

{? = call db.index.fulltext.queryNodes(?, ?)}

标准 Neo4j 语法

call db.index.fulltext.queryNodes(?, ?) yield *

枚举生成列

{$propertyName = call db.schema.nodeTypeProperties()}

返回 (仅适用于函数)

RETURN sin(?)

命名参数

我们的可调用语句实现 (org.neo4j.jdbc.Neo4jCallableStatement) 支持命名参数。根据 JDBC 规范,这些不是查询或语句字符串中的命名占位符,而是要调用的存储过程的实际正式参数。我们支持 $ 语法和冒号语法(即 $name:name)。

赋值 {? = call xxx()} 将被重写为 call xxx() yield *,而 {$x = call xxx()} 将被重写为 call xxx() yield x

可调用语句的结果集

当您通过 executeQuery 执行可调用语句时,必须使用返回的结果集。如果您只使用 execute,我们假定底层过程只返回一行,并且您使用了语句本身的 getter。