我有一个用于连接neo4j的java程序.想要传递参数,该参数是用户给cypher查询的变量值.
void connect() {
graphDataService = new GraphDatabaseFactory().newEmbeddedDatabase(DB_PATH);
Transaction transaction = graphDataService.beginTx();
String name = "";
Scanner sc_name = new Scanner(System.in);
System.out.println("enter name : ");
name=sc_name.next();
try {
ExecutionEngine engine = new ExecutionEngine(graphDataService);
ExecutionResult result = engine.execute("START n = node(*) where n.nodename = ? return n");
System.out.println(result.dumpToString());
transaction.success();
}
finally {
transaction.finish();
}
}
Run Code Online (Sandbox Code Playgroud)
我应该如何连接将替换的变量名中的值?并获取结果.任何的想法?
你可以这样做:
import org.neo4j.helpers.collection.MapUtil;
...
ExecutionResult result = engine.execute("START n=node(*) WHERE n.nodename={name}, return n", MapUtil.map("name", "value");
Run Code Online (Sandbox Code Playgroud)