Skip to content

Commit 005d0b0

Browse files
authored
Merge branch 'dev' into repeat-walk
2 parents 23f93ba + 1ccfc70 commit 005d0b0

File tree

5 files changed

+104
-2
lines changed

5 files changed

+104
-2
lines changed

modules/ROOT/pages/clauses/filter.adoc

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,38 @@ RETURN p.name AS person,
9393
3+|Rows: 2
9494
|===
9595

96+
[[filter-on-dynamic-labels-and-types]]
97+
== Filter on dynamic labels and types
98+
99+
To filter on a label or relationship type using a dynamically computed value, use `$(<expr>)` where <expr> is any Cypher expression:
100+
101+
.Parameters
102+
[source, parameters]
103+
----
104+
{
105+
"label": "Swedish"
106+
}
107+
----
108+
109+
.Filter on a dynamically computed node label
110+
// tag::clauses_where_dynamic[]
111+
[source, cypher]
112+
----
113+
MATCH (n)
114+
FILTER n:$($label)
115+
RETURN labels(n) AS labels
116+
----
117+
// end::clauses_where_dynamic[]
118+
119+
.Result
120+
[role="queryresult",options="header,footer",cols="1*<m"]
121+
|===
122+
| labels
123+
| ["Person", "Swedish"]
124+
1+d|Rows: 1
125+
|===
126+
127+
96128
[[filter-on-dynamic-properties]]
97129
== Filter on dynamic properties
98130

modules/ROOT/pages/clauses/where.adoc

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,38 @@ RETURN f.name AS oldFriend
103103
|===
104104

105105

106+
[[filter-on-dynamic-labels-and-types]]
107+
== Filter on dynamic labels and types
108+
109+
To filter on a label or relationship type using a dynamically computed value, use `$(<expr>)` where <expr> is any Cypher expression:
110+
111+
.Parameters
112+
[source, parameters]
113+
----
114+
{
115+
"label": "Swedish"
116+
}
117+
----
118+
119+
.Filter on a dynamically computed node label
120+
// tag::clauses_where_dynamic[]
121+
[source, cypher]
122+
----
123+
MATCH (n)
124+
WHERE n:$($label)
125+
RETURN labels(n) AS labels
126+
----
127+
// end::clauses_where_dynamic[]
128+
129+
.Result
130+
[role="queryresult",options="header,footer",cols="1*<m"]
131+
|===
132+
| labels
133+
| ["Person", "Swedish"]
134+
1+d|Rows: 1
135+
|===
136+
137+
106138
[[filter-on-dynamic-properties]]
107139
== Filter on dynamic properties
108140

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

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,31 @@ Cypher 25 was introduced in Neo4j 2025.06 and can only be used on Neo4j 2025.06+
2222
Features removed in Cypher 25 are still available on Neo4j 2025.06+ databases either by prepending a query with `CYPHER 5` or by having Cypher 5 as the default language for the database.
2323
For more information, see xref:queries/select-version.adoc[].
2424

25+
[[cypher-deprecations-additions-removals-2025.07]]
26+
== Neo4j 2025.07
27+
28+
=== Updated in Cypher 25
29+
30+
[cols="2", options="header"]
31+
|===
32+
| Feature
33+
| Details
34+
35+
a|
36+
label:functionality[]
37+
label:updated[]
38+
[source, cypher, role="noheader"]
39+
----
40+
MATCH (n)-[r]->()
41+
WHERE n:$(<expr1>)
42+
WITH n, r:$(<expr2>) AS hasType
43+
RETURN n:$(<expr3>)
44+
----
45+
46+
| Added the ability to dynamically reference node labels and relationship types in places where xref:patterns/reference.adoc#label-expressions[label expressions] are allowed.
47+
|===
48+
49+
2550
[[cypher-deprecations-additions-removals-2025.06]]
2651
== Neo4j 2025.06
2752

modules/ROOT/pages/indexes/semantic-indexes/vector-indexes.adoc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
:description: Information about creating, querying, and deleting vector indexes with Cypher.
2-
:test-setup-dump: https://github.com/neo4j-graph-examples/recommendations/raw/main/data/recommendations-embeddings-25.dump
2+
:test-setup-dump: https://github.com/neo4j-graph-examples/recommendations/raw/refs/heads/main/data/recommendations-embeddings-aligned-5.26.dump
33
:l2-norm: image:l2.svg["l2"]-norm
44
include::https://raw.githubusercontent.com/neo4j-graphacademy/courses/main/asciidoc/courses/llm-vectors-unstructured/ad.adoc[]
55

@@ -26,7 +26,7 @@ image::vector-index-graph.svg[Graph example connecting movie to person nodes via
2626

2727
The graph contains 28863 nodes and 332522 relationships.
2828

29-
To recreate the graph, download and import this link:https://github.com/neo4j-graph-examples/recommendations/raw/main/data/recommendations-embeddings-50.dump[dump file] to an empty Neo4j database.
29+
To recreate the graph, download and import this link:https://github.com/neo4j-graph-examples/recommendations/raw/refs/heads/main/data/recommendations-embeddings-aligned-5.26.dump[dump file] to an empty Neo4j database.
3030
Dump files can be imported for both link:{neo4j-docs-base-uri}/aura/classic/auradb/importing/import-database/[Aura] and link:{neo4j-docs-base-uri}/operations-manual/current/backup-restore/restore-dump/[on-prem] instances.
3131

3232
[NOTE]

modules/ROOT/pages/patterns/reference.adoc

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -314,6 +314,19 @@ The following matches relationships that have a type that is neither `A` nor `B`
314314
-[:!A&!B]->
315315
----
316316

317+
[[dynamic-label-and-type-expressions]]
318+
=== Dynamic label and type expressions
319+
320+
Node labels and relationship types can be referenced dynamically in expressions, parameters, and variables within label expressions.
321+
322+
.Syntax for creating nodes and relationships dynamically
323+
[source, syntax]
324+
----
325+
dynamicLabelExpression ::= ":$(" + valueExpression ")"
326+
----
327+
328+
The `valueExpression` must evaluate to a `STRING NOT NULL | LIST<STRING NOT NULL> NOT NULL` value.
329+
317330
[[property-key-value-expressions]]
318331
== Property key-value expressions
319332

0 commit comments

Comments
 (0)