Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
7004a8e
bump version to 2025.02 (#248)
renetapopova Feb 5, 2025
42a163b
Bump @neo4j-antora/antora-modify-sitemaps in the prod-dependencies gr…
dependabot[bot] Feb 27, 2025
f9f2000
Update dev version to 2025.03 (#252)
renetapopova Feb 27, 2025
00efb64
Update version in antora.yml to 2025.03 (#254)
recrwplay Feb 28, 2025
dd72fcf
Update Java driver version to 5.28.3 (#258)
NataliaIvakina Mar 12, 2025
6910e99
Packages workflows refine (#261)
recrwplay Mar 14, 2025
aac58bb
Replace `page-version` with `current` in links (#260)
NataliaIvakina Mar 20, 2025
92d0cc1
Update docs-pr-checks.yml (#263)
recrwplay Mar 21, 2025
ff93493
Update the version to 2025.04 (#268)
NataliaIvakina Mar 28, 2025
b2fce0f
Update version to 2025.05 (#271)
renetapopova Apr 30, 2025
c55e071
Update version to 2025.06 (#277)
renetapopova Jun 3, 2025
148a6ca
Update Java driver version to 5.28.5 (#280)
NataliaIvakina Jun 10, 2025
7726721
Update and fix several pages (#279)
NataliaIvakina Jun 12, 2025
392b672
Update Java driver to 5.28.6 (#283)
NataliaIvakina Jun 30, 2025
3d4c6f3
Bump Neo4j version to 2025.07 (#286)
NataliaIvakina Jul 2, 2025
3a526d1
Update Java driver to 5.28.7 (#287)
NataliaIvakina Jul 3, 2025
412325b
Update path to javadocs (#289)
recrwplay Jul 18, 2025
1af8cfc
Update Java driver version to 5.28.9 (#290)
NataliaIvakina Jul 29, 2025
264b5d0
Update to 2025.08 (#294)
NataliaIvakina Jul 31, 2025
e65d354
Update to 2025.09 (#298)
NataliaIvakina Sep 2, 2025
92582a8
Bump to 2025.10, Java driver to 5.28.10 (#302)
NataliaIvakina Sep 29, 2025
cbae1f3
Update Java to 21 (#306)
NataliaIvakina Oct 17, 2025
905a70d
Update antora.yml (#312)
NataliaIvakina Oct 30, 2025
279219f
Update Java Driver to 6.0.2 (#315)
NataliaIvakina Nov 13, 2025
8e8ee39
Clarified naming rules for user defined callables and added list for …
JoelBergstrand Dec 9, 2025
406f853
We have reverted the deprecation of aura.* in product. (#321)
Lojjs Dec 18, 2025
ff4bcf3
Publish release-2025.11.2
NataliaIvakina Dec 22, 2025
2bce8f4
Update antora.yml
NataliaIvakina Dec 22, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions antora.yml
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
name: java-reference
title: Java Reference
version: '2025.10'
version: '2025.11'
start_page: ROOT:index.adoc
nav:
- modules/ROOT/content-nav.adoc
asciidoc:
attributes:
neo4j-version: '2025.10'
neo4j-version-exact: '2025.10.1'
neo4j-buildnumber: '2025.10'
neo4j-version: '2025.11'
neo4j-version-exact: '2025.11.2'
neo4j-buildnumber: '2025.11'
java-driver-version: '6.0.2'
neo4j-documentation-branch: 'dev'
page-origin-private: false
Expand Down
61 changes: 61 additions & 0 deletions modules/ROOT/pages/extending-neo4j/aggregation-functions.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,13 @@ An aggregator class contains one method annotated with `@UserAggregationUpdate`
The method annotated with `@UserAggregationUpdate` will be called multiple times and enables the class to aggregate data.
When the aggregation is done, the method annotated with `@UserAggregationResult` will be called once and the result of the aggregation will be returned.

Particular things to note:

* All functions are annotated with `@UserAggregationFunction`.
* The aggregation function name must be namespaced and is not allowed in reserved namespaces.
* If a user-defined aggregation function is registered with the same name as a built-in function in a deprecated namespace, the built-in function is shadowed.


See xref:extending-neo4j/values-and-types.adoc[] for details on values and types.

For more details, see the Neo4j Javadocs for link:{org-neo4j-procedure-UserAggregationFunction}[`org.neo4j.procedure.UserAggregationFunction`^].
Expand Down Expand Up @@ -132,3 +139,57 @@ public class LongestStringTest
}
----

[[reserved-and-deprecated-namespaces]]
== Reserved and deprecated function namespaces

Note that deprecated function namespaces will be moved to reserved in the next major Cypher version.
For more information about Neo4j and Cypher versioning, see link:https://neo4j.com/docs/operations-manual/current/introduction/#_cypher_versions[Operations manual -> Introduction].
[[reserved-and-deprecated-function-namespaces]]
.Overview of reserved and deprecated function namespaces and names
[options="header", cols="m,m"]
|===
| Reserved | Deprecated in Cypher 25 since Neo4j 2025.11
| * | abac.*
| date | builtin.*
| date.realtime | cdc.*
| date.statement | coll.*
| date.transaction | date.*
| date.truncate | datetime.*
| datetime | db.*
| datetime.fromepoch | dbms.*
| datetime.fromepochmillis | duration.*
| datetime.realtime | graph.*
| datetime.statement | internal.*
| datetime.transaction | localdatetime.*
| datetime.truncate | localtime.*
| db.nameFromElementId | math.*
| duration | plugin.*
| duration.between | point.*
| duration.inDays | stored.*
| duration.inMonths | string.*
| duration.inSeconds | time.*
| graph.byElementId | tx.*
| graph.byName | unsupported.*
| graph.names | vector.*
| graph.propertiesByName |
| localdatetime |
| localdatetime.realtime |
| localdatetime.statement |
| localdatetime.transaction |
| localdatetime.truncate |
| localtime |
| localtime.realtime |
| localtime.statement |
| localtime.transaction |
| localtime.truncate |
| point.distance |
| point.withinBBox |
| time |
| time.realtime |
| time.statement |
| time.transaction |
| time.truncate |
| vector.similarity.cosine |
| vector.similarity.euclidean |
|===

59 changes: 59 additions & 0 deletions modules/ROOT/pages/extending-neo4j/functions.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,12 @@ RETURN org.neo4j.examples.join(collect(p.names))
User-defined functions are created similarly to how procedures are created.
But unlike procedures, they are annotated with `@UserFunction` and return a single value instead of a stream of values.

Particular things to note:

* All functions are annotated with `@UserFunction`.
* The function name must be namespaced and is not allowed in reserved namespaces.
* If a function is registered with the same name as a built-in function in a deprecated namespace, the built-in function is shadowed.

See xref:extending-neo4j/values-and-types.adoc[] for details on values and types.

For more details, see the link:{org-neo4j-procedure-UserFunction}[Neo4j Javadocs for `org.neo4j.procedure.UserFunction`^].
Expand Down Expand Up @@ -120,3 +126,56 @@ public class JoinTest {
}
----

[[reserved-and-deprecated-namespaces]]
== Reserved and deprecated function namespaces

Note that deprecated function namespaces will be moved to reserved in the next major Cypher version.
For more information about Neo4j and Cypher versioning, see link:https://neo4j.com/docs/operations-manual/current/introduction/#_cypher_versions[Operations manual -> Introduction].
[[reserved-and-deprecated-function-namespaces]]
.Overview of reserved and deprecated function namespaces and names
[options="header", cols="m,m"]
|===
| Reserved | Deprecated in Cypher 25 since Neo4j 2025.11
| * | abac.*
| date | builtin.*
| date.realtime | cdc.*
| date.statement | coll.*
| date.transaction | date.*
| date.truncate | datetime.*
| datetime | db.*
| datetime.fromepoch | dbms.*
| datetime.fromepochmillis | duration.*
| datetime.realtime | graph.*
| datetime.statement | internal.*
| datetime.transaction | localdatetime.*
| datetime.truncate | localtime.*
| db.nameFromElementId | math.*
| duration | plugin.*
| duration.between | point.*
| duration.inDays | stored.*
| duration.inMonths | string.*
| duration.inSeconds | time.*
| graph.byElementId | tx.*
| graph.byName | unsupported.*
| graph.names | vector.*
| graph.propertiesByName |
| localdatetime |
| localdatetime.realtime |
| localdatetime.statement |
| localdatetime.transaction |
| localdatetime.truncate |
| localtime |
| localtime.realtime |
| localtime.statement |
| localtime.transaction |
| localtime.truncate |
| point.distance |
| point.withinBBox |
| time |
| time.realtime |
| time.statement |
| time.transaction |
| time.truncate |
| vector.similarity.cosine |
| vector.similarity.euclidean |
|===
29 changes: 28 additions & 1 deletion modules/ROOT/pages/extending-neo4j/procedures.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -143,6 +143,8 @@ Particular things to note:
* The procedure annotation can take three optional arguments: `name`, `mode`, and `eager`.
** `name` is used to specify a different name for the procedure than the default generated, which is `class.path.nameOfMethod`.
If `mode` is specified, `name` must be specified as well.
** `name` is not allowed in a reserved namespace, and having a `name` without a namespace is deprecated behavior.
** If a procedure is registered with the same name as a built-in procedure in a deprecated namespace, the built-in procedure is shadowed.
** `mode` is used to declare the types of interactions that the procedure performs.
A procedure fails if it attempts to execute database operations that violate its mode.
The default `mode` is `READ`.
Expand All @@ -163,7 +165,7 @@ Particular things to note:
MATCH (n)
WHERE n.key = 'value'
WITH n
CALL deleteNeighbours(n, 'FOLLOWS')
CALL example.deleteNeighbours(n, 'FOLLOWS')
----
This query can delete some of the nodes that are matched by the Cypher query, and the `n.key` lookup will fail.
Marking this procedure as `eager` prevents this from causing an error in Cypher code.
Expand Down Expand Up @@ -273,3 +275,28 @@ public class MyProcedures {
}

----

[[reserved-and-deprecated-namespaces]]
== Reserved and deprecated procedure namespaces

Note that deprecated procedure namespaces will be moved to reserved in the next major Cypher version.
For more information about Neo4j and Cypher versioning, see link:https://neo4j.com/docs/operations-manual/current/introduction/#_cypher_versions[Operations manual -> Introduction].
[[reserved-and-deprecated-procedure-namespaces]]
.Overview of reserved and deprecated procedure namespaces
[options="header", cols="m,m"]
|===
| Reserved | Deprecated in Cypher 25 since Neo4j 2025.11
| cdc.* | *
| date.* | abac.*
| datetime.* | builtin.*
| db.* | coll.*
| dbms.* | math.*
| duration.* | plugin.*
| graph.* | point.*
| internal.* | stored.*
| localdatetime.* | string.*
| localtime.* | vector.*
| time.* |
| tx.* |
| unsupported.* |
|===