Skip to content

Commit

Permalink
Allow for parameters in SHORTEST
Browse files Browse the repository at this point in the history
  • Loading branch information
gem-neo4j committed Nov 28, 2024
1 parent 01eb3cd commit 62c81b9
Show file tree
Hide file tree
Showing 3 changed files with 24 additions and 4 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -93,6 +93,26 @@ MATCH (n)-[r:REL]->(m) SET n = properties(r)
| 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].

a|
label:functionality[]
label:updated[]
Expand Down
4 changes: 2 additions & 2 deletions modules/ROOT/pages/patterns/reference.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -1165,10 +1165,10 @@ anyPathSearch ::= "ANY" [ numberOfPaths ] [ pathOrPaths ]
pathOrPaths ::= { "PATH" | "PATHS" }
numberOfPaths ::= unsignedDecimalInteger
numberOfPaths ::= unsignedDecimalInteger | parameter
numberOfGroups ::= unsignedDecimalInteger
numberOfGroups ::= unsignedDecimalInteger | parameter
----

[NOTE]
Expand Down
4 changes: 2 additions & 2 deletions modules/ROOT/pages/patterns/shortest-paths.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,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:

Expand Down Expand Up @@ -64,7 +64,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
Expand Down

0 comments on commit 62c81b9

Please sign in to comment.