Releases: neo4j/cypher-builder
v1.10.2
Patch Changes
- #274
d154995
Thanks @MacondoExpress! - Fix a bug where the delete clause where not being attached toCypher.Call
v1.10.1
Patch Changes
-
#271
5834c61
Thanks @angrykoala! - AddlabelOperator
option on build to change the default labelAND
operator:const node = new Cypher.Node({ labels: ["Movie", "Film"] }); const query = new Cypher.Match(node); const queryResult = new TestClause(query).build( undefined, {}, { labelOperator: "&", }, );
Will return:
MATCH (this:Movie&Film)
v1.10.0
Minor Changes
-
#269
6d9d3e2
Thanks @angrykoala! - Add chained clauses to Procedures after YIELD:.unwind
.match
.optionalMatch
.delete
.detachDelete
.set
.merge
.create
.remove
v1.9.0
Minor Changes
-
#263
4c4f49b
Thanks @angrykoala! - Support for NODETACH:new Cypher.Match(n).noDetachDelete(n);
MATCH(n) NODETACH DELETE n
-
#261
f018078
Thanks @angrykoala! - Add support for nullIf functionCypher.nullIf(expr1, expr2)
v1.8.0
Minor Changes
-
#253
da0b3ab
Thanks @angrykoala! - Add support for type filtering on relationshipsnew Cypher.Match(new Cypher.Pattern().related(new Cypher.Relationship()).to()).where( relationship.hasType("ACTED_IN") );
MATCH(this0)-[this1]->(this2) WHERE this1:ACTED_IN
-
#251
80e1bca
Thanks @angrykoala! - Add support for label expressions onhasLabel
:const query = new Cypher.Match(node).where(node.hasLabel(Cypher.labelExpr.or("Movie", "Film")));
MATCH (this0:Movie) WHERE this0:(Movie|Film)
-
#256
602c237
Thanks @angrykoala! - Add support forON MATCH SET
afterMERGE
:const node = new Cypher.Node({ labels: ["MyLabel"], }); const countProp = node.property("count"); const query = new Cypher.Merge(node) .onCreateSet([countProp, new Cypher.Literal(1)]) .onMatchSet([countProp, Cypher.plus(countProp, new Cypher.Literal(1))]);
MERGE (this0:MyLabel) ON MATCH SET this0.count = (this0.count + 1) ON CREATE SET this0.count = 1
v1.7.4
Patch Changes
-
#245
a63337d
Thanks @angrykoala! - DeprecateMerge.onCreate
in favor ofMerge.onCreateSet
to better reflect the resulting CypherON CREATE SET
-
#244
347ae01
Thanks @angrykoala! - Fix clauses order when usingMerge.onCreate
along with.set
For example:
const query = new Cypher.Merge(node) .onCreate([node.property("age"), new Cypher.Param(23)]) .set([node.property("age"), new Cypher.Param(10)]);
MERGE (this0:MyLabel) ON CREATE SET this0.age = $param1 SET this0.age = $param0
v1.7.3
Patch Changes
-
#236
34552dc
Thanks @angrykoala! - Support for chained.yield
:const customProcedure = new Cypher.Procedure("customProcedure", []).yield("result1").yield(["result2", "aliased"]);
is equivalent to:
const customProcedure = new Cypher.Procedure("customProcedure", []).yield("result1", ["result2", "aliased"]);
and results in the Cypher:
CALL customProcedure() YIELD result1, result2 AS aliased
v1.7.2
Patch Changes
-
#230
f37cc99
Thanks @angrykoala! - Support for passingundefined
to.where
:const n = new Cypher.Node(); new Cypher.Match(n).where(undefined).return(n);
This will generate the following Cypher:
MATCH(n) RETURN n
Note that the
WHERE
clause is omitted if the predicate isundefined
v1.7.1
Patch Changes
- #226
84b1534
Thanks @angrykoala! - Support fornew Call().innerWith("*")
to generateWITH *
inside aCALL
subquery
v1.7.0
Minor Changes
-
#218
81dc823
Thanks @angrykoala! - Add support for CDC procedures:cdc.current
cdc.earliest
cdc.query
-
#224
c872abd
Thanks @angrykoala! - Implement functions from Cypher 5.13:valueType
char_length
character_length
Patch Changes
- #219
cae1828
Thanks @angrykoala! - Removes duplication between RawCypher (deprecated) and Raw