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。