在JAVA中使用Cypher涉及到org.neo4j.cypher.javacompat包的两个类.
| 类名 | 方法名 | 说明 |
| ExecutionEngine | public ExecutionResult execute(String query) | 执行query返回存储结果集的一个迭代器(ExecutionResult) |
| (用于执行Cypher Query) |
public ExecutionResult execute(String query, Map<String,Object> params)
|
执行query返回存储结果集的一个迭代器(ExecutionResult)
其中,params是query所需的参数
|
| ExecutionResult | public <T> Iterator<T> columnAs(String n) | 返回结果集中n作为列名指定的列信息的集合 |
| (保存Cypher Query执行后的结果集) | public List<String> columns() | 返回结果集各个列的列名 |
| public Iterator<Map<String,Object>> 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<String> columns = result.columns();
//获取指定列的结果集
Iterator<Node> n_column = result.columnAs('n');
for(Node node : IteratorUtil.asIterable(n_column)) {
String nodeResult = node + ": " + node.getProperty("name");
}
//获取结果集的每条记录
for(Map<String, Object> row : result) {
for(Entry<String, Object> column : row.entrySet()) {
rows += column.getKey() + ":" + column.getValue() + ";";
}
rows += "\n";
}
1万+





