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 );
Copyright © 2013 Neo Technology