版权声明:博主原创,未经允许不得转载。 https://blog.csdn.net/qq_31748587/article/details/84392092
正经学徒,佛系记录,不搞事情
基于上文:https://blog.csdn.net/qq_31748587/article/details/84308573 的项目
可以获取节点的属性值
或者统计返回的具体值
工具类方法相对更简单些
工具类 Neo4jUtil 中添加方法 getFields 对返回的属性进行解析
/**
* cql 返回具体的属性, 如match (n)-[]-() return n.id,n.name,match (n)-[]-() return count(n)
* @param cql 查询语句
* @return List<Map<String,Object>>
*/
public static List<Map<String, Object>> getFields(String cql) {
List<Map<String, Object>> resList = new ArrayList<>();
try {
Session session = driver.session();
StatementResult result = session.run(cql);
List<Record> list = result.list();
for (Record r : list) {
resList.add(r.asMap());
}
} catch (Exception e) {
e.printStackTrace();
}
return resList;
}
调用方法:
@GetMapping("getFields")
public Map<String, Object> getFields(){
Map<String, Object> retMap = new HashMap<>();
//cql语句
String cql = "match (n:Person{name:\"Anthony Edwards\"}) return n.name as name,n.born as born";
//String cql = "match (n:Person) return count(n) as cou";
retMap.put("fieldList",neo4jUtil.getFields(cql));
return retMap;
}
这里返回的节点属性最好通过 as 转换别名,否则查询的结果会是这样的
查询统计函数(或其他函数)的结果
项目地址:
https://pan.baidu.com/s/1Yub6WEdcs1TJh9DuYqo_mQ 提取码: rdb1