From 1159dbaaf04185e64607ab36c063c960cae6f88a Mon Sep 17 00:00:00 2001 From: Gemma Lamont Date: Fri, 25 Oct 2024 14:15:43 +0200 Subject: [PATCH] Allow for parameters in SHORTEST --- ...ions-additions-removals-compatibility.adoc | 29 +++++++++++++++++++ modules/ROOT/pages/patterns/reference.adoc | 4 +-- .../ROOT/pages/patterns/shortest-paths.adoc | 4 +-- 3 files changed, 33 insertions(+), 4 deletions(-) diff --git a/modules/ROOT/pages/deprecations-additions-removals-compatibility.adoc b/modules/ROOT/pages/deprecations-additions-removals-compatibility.adoc index db0c05224..ebfd2f634 100644 --- a/modules/ROOT/pages/deprecations-additions-removals-compatibility.adoc +++ b/modules/ROOT/pages/deprecations-additions-removals-compatibility.adoc @@ -16,6 +16,35 @@ New features are added to the language continuously, and occasionally, some feat This section lists all of the features that have been removed, deprecated, added, or extended in different Cypher versions. Replacement syntax for deprecated and removed features are also indicated. +[[cypher-deprecations-additions-removals-5.26]] +== Neo4j 5.26 + +[cols="2", options="header"] +|=== +| Feature +| Details + +a| +label:functionality[] +label:updated[] +[source, cypher, role=noheader] +---- +MATCH SHORTEST $param (:A)-[:R]->{0,10}(:B) +---- + +[source, cypher, role=noheader] +---- +MATCH p = ANY $param (:A)-[:R]->{0,10}(:B) +---- + +[source, cypher, role=noheader] +---- +MATCH SHORTEST $param GROUPS (:A)-[:R]->{0,10}(:B) +---- + +a| Introduced the allowance of parameters to the xref:patterns/shortest-paths.adoc[SHORTEST and ANY path patterns]. +|=== + [[cypher-deprecations-additions-removals-5.25]] == Neo4j 5.25 diff --git a/modules/ROOT/pages/patterns/reference.adoc b/modules/ROOT/pages/patterns/reference.adoc index d9da89346..831332dcb 100644 --- a/modules/ROOT/pages/patterns/reference.adoc +++ b/modules/ROOT/pages/patterns/reference.adoc @@ -1165,10 +1165,10 @@ anyPathSearch ::= "ANY" [ numberOfPaths ] [ pathOrPaths ] pathOrPaths ::= { "PATH" | "PATHS" } -numberOfPaths ::= unsignedDecimalInteger +numberOfPaths ::= unsignedDecimalInteger | parameter -numberOfGroups ::= unsignedDecimalInteger +numberOfGroups ::= unsignedDecimalInteger | parameter ---- [NOTE] diff --git a/modules/ROOT/pages/patterns/shortest-paths.adoc b/modules/ROOT/pages/patterns/shortest-paths.adoc index b6f540e91..faf34cb0f 100644 --- a/modules/ROOT/pages/patterns/shortest-paths.adoc +++ b/modules/ROOT/pages/patterns/shortest-paths.adoc @@ -20,7 +20,7 @@ Use Cypher if: * You need to specify complex graph navigation via xref:patterns/variable-length-patterns.adoc#quantified-path-patterns[quantified path patterns]. * Creating a link:https://neo4j.com/docs/graph-data-science/current/management-ops/graph-creation/graph-project/[graph projection] takes too long. -* GDS is not available in your instance, or the size of the GDS projection is too large for your instance. +* GDS is not available in your instance, or the size of the GDS projection is too large for your instance. Use GDS if: @@ -65,7 +65,7 @@ CREATE (asc)-[:LINK {distance: 7.25}]->(cnm), (wof)-[:LINK {distance: 0.65}]->(wos) ---- -The paths matched by a xref:patterns/fixed-length-patterns.adoc#path-patterns[path pattern] can be restricted to only the shortest (by number of hops) by including the keyword `SHORTEST k`, where `k` is the number of paths to match. +The paths matched by a xref:patterns/fixed-length-patterns.adoc#path-patterns[path pattern] can be restricted to only the shortest (by number of hops) by including the keyword `SHORTEST k`, where `k` is the number of paths to match, and can be either an `INTEGER` literal or a parameter which resolves to an `INTEGER`. For example, the following example uses `SHORTEST 1` to return the length of the shortest path between `Worcester Shrub Hill` and `Bromsgrove`: .Query