5.14. Query Parameters

For more information on parameters see Section 11.4, “Parameters”.

Below follows example of how to use parameters when executing Cypher queries from Java.

Parameter for node id. 

Map<String, Object> params = new HashMap<String, Object>();
params.put( "id", 0 );
String query = "start n=node({id}) return n.name";
ExecutionResult result = engine.execute( query, params );

Parameter for node object. 

Map<String, Object> params = new HashMap<String, Object>();
params.put( "node", andreasNode );
String query = "start n=node({node}) return n.name";
ExecutionResult result = engine.execute( query, params );

Parameter for multiple node ids. 

Map<String, Object> params = new HashMap<String, Object>();
params.put( "id", Arrays.asList( 0, 1, 2 ) );
String query = "start n=node({id}) return n.name";
ExecutionResult result = engine.execute( query, params );

Parameter for string literal. 

Map<String, Object> params = new HashMap<String, Object>();
params.put( "name", "Johan" );
String query = "start n=node(0,1,2) where n.name = {name} return n";
ExecutionResult result = engine.execute( query, params );

Parameter for index value. 

Map<String, Object> params = new HashMap<String, Object>();
params.put( "value", "Michaela" );
String query = "start n=node:people(name = {value}) return n";
ExecutionResult result = engine.execute( query, params );

Parameter for index query. 

Map<String, Object> params = new HashMap<String, Object>();
params.put( "query", "name:Andreas" );
String query = "start n=node:people({query}) return n";
ExecutionResult result = engine.execute( query, params );

Numeric parameters for SKIP and LIMIT

Map<String, Object> params = new HashMap<String, Object>();
params.put( "s", 1 );
params.put( "l", 1 );
String query = "start n=node(0,1,2) return n.name skip {s} limit {l}";
ExecutionResult result = engine.execute( query, params );

Parameter for regular expression. 

Map<String, Object> params = new HashMap<String, Object>();
params.put( "regex", ".*h.*" );
String query = "start n=node(0,1,2) where n.name =~ {regex} return n.name";
ExecutionResult result = engine.execute( query, params );

Parameter setting properties on node. 

Map<String, Object> n1 = new HashMap<String, Object>();
n1.put( "name", "Andres" );
n1.put( "position", "Developer" );

Map<String, Object> params = new HashMap<String, Object>();
params.put( "props", n1 );

String query = "START n=node(0) SET n = {props}";
engine.execute( query, params );