Neo4j-在JAVA中执行Cypher查询

 

在JAVA中使用Cypher涉及到org.neo4j.cypher.javacompat包的两个类.
类名 方法名 说明
ExecutionEngine public ExecutionResult execute(String query) 执行query返回存储结果集的一个迭代器(ExecutionResult)
(用于执行Cypher Query)
public ExecutionResult execute(String query, Map params)
执行query返回存储结果集的一个迭代器(ExecutionResult)
其中,params是query所需的参数
ExecutionResult public Iterator columnAs(String n) 返回结果集中n作为列名指定的列信息的集合
(保存Cypher Query执行后的结果集) public List columns() 返回结果集各个列的列名
  public Iterator> iterator() 结果集的一个迭代器,每个元素代表一行记录(存储为map)
  public String toString()  
  public void toString(PrintWriter writer)  

可参考的代码片段:
String rows = "";
//执行一个Cypher Query的查询
ExecutionEngine engine = new ExecutionEngine( db );
ExecutionResult result = engine.execute( "start n=node(0) return n, n.name" );
//直接打印出Query结果
System.out.println(result.toString());
//获取结果集的列名的列表
List columns = result.columns();
//获取指定列的结果集
Iterator n_column = result.columnAs('n');
for(Node node : IteratorUtil.asIterable(n_column)) {
    String nodeResult = node + ": " + node.getProperty("name");
}
//获取结果集的每条记录
for(Map row : result) {
    for(Entry column : row.entrySet()) {
        rows += column.getKey() + ":" + column.getValue() + ";";
    }
    rows += "\n";
}
 

 

你可能感兴趣的:(Neo4j)