- All Known Subinterfaces:
ExposesSubqueryCall.BuildableSubquery
,LoadCSVStatementBuilder
,StatementBuilder
,StatementBuilder.OngoingInQueryCallWithReturnFields
,StatementBuilder.OngoingReading
,StatementBuilder.OngoingReadingAndWith
,StatementBuilder.OngoingReadingAndWithWithSkip
,StatementBuilder.OngoingReadingAndWithWithWhereAndOrder
,StatementBuilder.OngoingReadingWithoutWhere
,StatementBuilder.OngoingReadingWithWhere
,StatementBuilder.OngoingStandaloneCallWithReturnFields
,StatementBuilder.OrderableOngoingReadingAndWith
,StatementBuilder.OrderableOngoingReadingAndWithWithoutWhere
,StatementBuilder.OrderableOngoingReadingAndWithWithWhere
,StatementBuilder.VoidCall
@API(status=STABLE,
since="2020.1.2")
@Neo4jVersion(minimum="4.0.0")
public interface ExposesSubqueryCall
This exposes a call method taking in a statement that represents a valid, correlated subquery.
- Since:
- 2020.1.2
- Author:
- Michael J. Simons
- Neo4j version required
- 4.0.0
-
Nested Class Summary
Modifier and TypeInterfaceDescriptionstatic interface
Subqueries can be valid without any further return statement (i.e when the subquery is a void (unit) one, meaning it doesn't yield or return its results. -
Method Summary
Modifier and TypeMethodDescriptiondefault @NotNull ExposesSubqueryCall.BuildableSubquery
Thesubquery
parameter must be a valid subquery.default @NotNull ExposesSubqueryCall.BuildableSubquery
Thesubquery
parameter must be a valid subquery.call
(Statement statement, IdentifiableElement... imports) Thesubquery
parameter must be a valid sub-query.default @NotNull ExposesSubqueryCall.BuildableSubquery
callInTransactions
(Statement statement) Starts building a new sub-query from aCALL ... IN TRANSACTIONS
clausedefault @NotNull ExposesSubqueryCall.BuildableSubquery
callInTransactions
(Statement statement, Integer rows) Creates a subquery running in its own transactions.default @NotNull ExposesSubqueryCall.BuildableSubquery
callInTransactions
(Statement statement, Integer rows, String... imports) Creates a subquery running in its own transactions.callInTransactions
(Statement statement, Integer rows, IdentifiableElement... imports) Creates a subquery running in its own transactions.default @NotNull ExposesSubqueryCall.BuildableSubquery
callInTransactions
(Statement statement, String... imports) Creates a subquery running in its own transactions.callInTransactions
(Statement statement, IdentifiableElement... imports) Creates a subquery running in its own transactions.callRawCypher
(String rawCypher, Object... args) Starts building a new sub-query from a raw Cypher string that might also have arguments as supported throughCypher.raw(String, Object...)
.
-
Method Details
-
call
@NotNull @CheckReturnValue default @NotNull ExposesSubqueryCall.BuildableSubquery call(Statement statement) Thesubquery
parameter must be a valid subquery.- can be a unit statement
- cannot refer to variables from the enclosing query
- cannot return variables with the same names as variables in the enclosing query
- All variables that are returned from a subquery are afterwards available in the enclosing query
- Parameters:
statement
- The statement representing the subquery.- Returns:
- An ongoing reading
-
call
@NotNull @CheckReturnValue default @NotNull ExposesSubqueryCall.BuildableSubquery call(Statement statement, String... imports) Thesubquery
parameter must be a valid subquery.- must end with a RETURN clause
- cannot refer to variables from the enclosing query
- cannot return variables with the same names as variables in the enclosing query
- All variables that are returned from a subquery are afterwards available in the enclosing query
- Parameters:
statement
- The statement representing the subquery.imports
- Additional things that should be imported into the subquery.- Returns:
- An ongoing reading
- Since:
- 2021.3.0
-
call
@NotNull @CheckReturnValue @NotNull ExposesSubqueryCall.BuildableSubquery call(Statement statement, IdentifiableElement... imports) Thesubquery
parameter must be a valid sub-query.- must end with a RETURN clause
- cannot refer to variables from the enclosing query
- cannot return variables with the same names as variables in the enclosing query
- All variables that are returned from a subquery are afterwards available in the enclosing query
- Parameters:
statement
- The statement representing the sub-query.imports
- Additional things that should be imported into the sub-query.aliased expressions
will automatically be importe twice (once asWITH a
, then {code WITH a AS alias}).- Returns:
- An ongoing reading
- Since:
- 2021.3.0
-
callInTransactions
@NotNull @CheckReturnValue default @NotNull ExposesSubqueryCall.BuildableSubquery callInTransactions(Statement statement) Starts building a new sub-query from aCALL ... IN TRANSACTIONS
clause- Parameters:
statement
- The sub-query to be called in transactions- Returns:
- Ongoing sub-query definition
-
callRawCypher
@NotNull @CheckReturnValue @NotNull ExposesSubqueryCall.BuildableSubquery callRawCypher(String rawCypher, Object... args) Starts building a new sub-query from a raw Cypher string that might also have arguments as supported throughCypher.raw(String, Object...)
. Use this method as your own risk and be aware that no checks are done on the Cypher.- Parameters:
rawCypher
- the raw Cypher statement to callargs
- optional args that replace placeholders in therawCypher
- Returns:
- Ongoing sub-query definition
- Since:
- 2023.10.0
-
callInTransactions
@NotNull @CheckReturnValue default @NotNull ExposesSubqueryCall.BuildableSubquery callInTransactions(Statement statement, Integer rows) Creates a subquery running in its own transactions. The statement won't be checked for a RETURN or YIELD clause to accommodate for CREATE or other clauses that are void and work in a subquery if the outer query is void, too.- Parameters:
statement
- The statement representing the subquery.rows
- The number of rows per transactional batch, leave NULL for the default value- Returns:
- An ongoing reading, that is also buildable for outer queries that are void.
- Since:
- 2022.3.0
-
callInTransactions
@NotNull @CheckReturnValue default @NotNull ExposesSubqueryCall.BuildableSubquery callInTransactions(Statement statement, String... imports) Creates a subquery running in its own transactions. The statement won't be checked for a RETURN or YIELD clause to accommodate for CREATE or other clauses that are void and work in a subquery if the outer query is void, too.- Parameters:
statement
- The statement representing the subquery.imports
- Additional things that should be imported into the subquery.- Returns:
- An ongoing reading, that is also buildable for outer queries that are void.
- Since:
- 2022.3.0
-
callInTransactions
@NotNull @CheckReturnValue default @NotNull ExposesSubqueryCall.BuildableSubquery callInTransactions(Statement statement, Integer rows, String... imports) Creates a subquery running in its own transactions. The statement won't be checked for a RETURN or YIELD clause to accommodate for CREATE or other clauses that are void and work in a subquery if the outer query is void, too.- Parameters:
statement
- The statement representing the subquery.rows
- The number of rows per transactional batch, leave NULL for the default valueimports
- Additional things that should be imported into the subquery.- Returns:
- An ongoing reading, that is also buildable for outer queries that are void.
- Since:
- 2022.3.0
-
callInTransactions
default ExposesSubqueryCall.BuildableSubquery callInTransactions(Statement statement, IdentifiableElement... imports) Creates a subquery running in its own transactions. The statement won't be checked for a RETURN or YIELD clause to accommodate for CREATE or other clauses that are void and work in a subquery if the outer query is void, too.- Parameters:
statement
- The statement representing the subquery.imports
- Additional things that should be imported into the subquery.aliased expressions
will automatically imported twice (once as WITH a, then WITH a AS alias).- Returns:
- An ongoing reading, that is also buildable for outer queries that are void.
- Since:
- 2022.3.0
-
callInTransactions
@NotNull @CheckReturnValue @NotNull ExposesSubqueryCall.BuildableSubquery callInTransactions(Statement statement, Integer rows, IdentifiableElement... imports) Creates a subquery running in its own transactions. The statement won't be checked for a RETURN or YIELD clause to accommodate for CREATE or other clauses that are void and work in a subquery if the outer query is void, too.- Parameters:
statement
- The statement representing the subquery.rows
- The number of rows per transactional batch, leave NULL for the default valueimports
- Additional things that should be imported into the subquery.aliased expressions
will automatically imported twice (once as WITH a, then WITH a AS alias).- Returns:
- An ongoing reading, that is also buildable for outer queries that are void.
- Since:
- 2022.3.0
-