Skip to content

Commit dc6bd0f

Browse files
JPryce-Aklundhstefano-ottolenghidependabot[bot]nadja-mullerJMHReif
authored
2025.03 publish (#1228)
Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: Stefano Ottolenghi <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Nadja Müller <[email protected]> Co-authored-by: Jennifer Reif <[email protected]> Co-authored-by: Bastien Louërat <[email protected]> Co-authored-by: dogofbrian <[email protected]> Co-authored-by: Wilco <[email protected]> Co-authored-by: Hannes Voigt <[email protected]> Co-authored-by: Richard Sill <[email protected]> Co-authored-by: Therese Magnusson <[email protected]> Co-authored-by: Neil Dewhurst <[email protected]> Co-authored-by: Gem Lamont <[email protected]> Co-authored-by: Christophe Willemsen <[email protected]> Co-authored-by: JoelBergstrand <[email protected]> Co-authored-by: Lars Korduner <[email protected]> Co-authored-by: Neil Dewhurst <[email protected]>
1 parent cb8d410 commit dc6bd0f

File tree

6 files changed

+469
-109
lines changed

6 files changed

+469
-109
lines changed

antora.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,4 @@ nav:
66
- modules/ROOT/content-nav.adoc
77
asciidoc:
88
attributes:
9-
neo4j-version: '2025.02'
9+
neo4j-version: '2025.03'

modules/ROOT/pages/deprecations-additions-removals-compatibility.adoc

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,34 @@ New features are added to the language continuously, and occasionally, some feat
1616
This section lists all of the features that have been removed, deprecated, added, or extended in different Cypher versions.
1717
Replacement syntax for deprecated and removed features are also indicated.
1818

19+
[[cypher-deprecations-additions-removals-2025.03]]
20+
== Neo4j 2025.03
21+
22+
=== New features
23+
24+
[cols="2", options="header"]
25+
|===
26+
| Feature
27+
| Details
28+
29+
a|
30+
label:functionality[]
31+
label:new[]
32+
[source, cypher, role=noheader]
33+
----
34+
UNWIND range(1, 100) AS i
35+
CALL (i) {
36+
MERGE (u:User {id: i})
37+
ON CREATE SET u.created = timestamp()
38+
} IN TRANSACTIONS ON ERROR RETRY 1 SECOND THEN FAIL
39+
----
40+
41+
| New error handling option for `CALL { ... } IN TRANSACTIONS`: `ON ERROR RETRY`.
42+
This option applies an exponential delay between retries for transaction batches failing due to transient errors, with an optional maximum retry duration, and handles failure based on a specified fallback error mode if the transaction does not succeed within the given time.
43+
For more information, see xref:subqueries/subqueries-in-transactions#on-error-retry[`CALL` subqueries in transactions -> `ON ERROR RETRY`].
44+
45+
|===
46+
1947
[[cypher-deprecations-additions-removals-2025.01]]
2048
== Neo4j 2025.01
2149

modules/ROOT/pages/subqueries/call-subquery.adoc

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@ The variables returned in a subquery are available to the outer scope of the enc
5050
In this example, the `CALL` subquery executes three times, one for each row that the xref:clauses/unwind.adoc[`UNWIND`] clause outputs.
5151
5252
.Query
53+
// tag::subqueries_call_subquery_basic_example[]
5354
[source, cypher]
5455
----
5556
UNWIND [0, 1, 2] AS x
@@ -58,6 +59,8 @@ CALL () {
5859
}
5960
RETURN innerReturn
6061
----
62+
// end::subqueries_call_subquery_basic_example[]
63+
6164
6265
.Result
6366
[role="queryresult",options="header,footer",cols="m"]
@@ -117,6 +120,7 @@ As a result, `CALL` subqueries can help maintain optimal performance and scalabi
117120
In this example, a `CALL` subquery is used to xref:functions/aggregating.adoc#functions-collect[`collect`] a `LIST` containing all players who play for a particular team.
118121
119122
.Collect a list of all players playing for a particular team
123+
// tag::subqueries_call_subquery_variable_scope[]
120124
[source, cypher]
121125
----
122126
MATCH (t:Team)
@@ -126,6 +130,8 @@ CALL (t) {
126130
}
127131
RETURN t AS team, players
128132
----
133+
// end::subqueries_call_subquery_variable_scope[]
134+
129135
130136
.Result
131137
[source, role="queryresult",options="header,footer",cols="m,2m"]
@@ -457,6 +463,7 @@ RETURN p.name AS playerName, team.name AS team
457463
Note that no results are returned for `Player C`, since they are not connected to any `Team` with a `PLAYS_FOR` relationship.
458464
459465
.Query using regular `OPTIONAL CALL`
466+
// tag::subqueries_call_subquery_optional_call[]
460467
[source, cypher]
461468
----
462469
MATCH (p:Player)
@@ -466,10 +473,10 @@ OPTIONAL CALL (p) {
466473
}
467474
RETURN p.name AS playerName, team.name AS team
468475
----
476+
// end::subqueries_call_subquery_optional_call[]
469477
470478
Now all `Player` nodes, regardless of whether they have any `PLAYS_FOR` relationships connected to a `Team`, are returned.
471479
472-
.Result
473480
.Result
474481
[role="queryresult",options="header,footer",cols="2*m"]
475482
|===
@@ -572,6 +579,7 @@ Call subqueries can be used to further process the results of a xref:clauses/uni
572579
This example query finds the youngest and the oldest `Player` in the graph.
573580
574581
.Find the oldest and youngest players
582+
// tag::subqueries_call_subquery_union[]
575583
[source, cypher]
576584
----
577585
CALL () {
@@ -587,6 +595,7 @@ UNION
587595
}
588596
RETURN p.name AS playerName, p.age AS age
589597
----
598+
// end::subqueries_call_subquery_union[]
590599
591600
.Result
592601
[role="queryresult",options="header,footer",cols="2*<m"]

0 commit comments

Comments
 (0)