neo4j图形数据库第五弹——整合springboot(支持查询属性)

本文介绍了一种使用Neo4j工具类方法获取节点属性和统计信息的简便方式。通过解析cql查询语句,可以有效地提取节点的特定属性,如ID和名称,或者执行节点计数等统计操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

正经学徒,佛系记录,不搞事情

基于上文:https://blog.youkuaiyun.com/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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

My name is Red ^^

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值