栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Neo4j 在 JAVA 中进行 REST

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Neo4j 在 JAVA 中进行 REST

Neo4j 在 JAVA 中进行 REST_API 开发时 Cypher 查询接口的实现 本次也算完成了自己的一个执念,用java进行neo4j数据库的开发,第一次看API文档,并成功实现了任意Cypher语句的查询,返回JSON文档。 代码如下:
 public static HashMap>>> executeFindNodeCypher(String cypher) {
        Map>> retuMap = new HashMap>>();
        GraphDatabaseConnection();
        Session session = driver.session();
        Result result =  session.run(cypher);
        List>> nodedatas;// 存放所有的节点数据
        nodedatas = new ArrayList>>();
        List>> allrelationships;
        allrelationships= new ArrayList>>();// 存放所有的关系数据
        while (result.hasNext()) {
            Record record = result.next();
            Map date = record.asMap();
            for (String key : date.keySet()) {
                Object object = date.get(key);
                if(object.getClass().isAssignableFrom(InternalNode.class)){
                    InternalNode data  = (InternalNode) object;
                    Map data1 = data.asMap();
                    HashMap> node = new HashMap>();
                    HashMap nodelable = new HashMap();
                    nodelable.put("id",""+data.id());
                    nodelable.put("labels",data.labels().toString());
                    nodelable.put("props",data1);
                    node.put("node",nodelable);
                    nodedatas.add(node);}
                else{
                    InternalRelationship relationdatas = (InternalRelationship) object;
                    HashMap> Relations;
                    Relations= new HashMap>();
                    HashMap relationlabels = new HashMap();
                    HashMap> relationprops = new HashMap>();
                    Map props = relationdatas.asMap();
                    relationlabels.put("id",relationdatas.id());
                    relationlabels.put("start",relationdatas.startNodeId());
                    relationlabels.put("end",relationdatas.endNodeId());
                    relationlabels.put("type",relationdatas.type());
                    relationlabels.put("props",props);
                    Relations.put("ralation",relationlabels);
                    allrelationships.add(Relations);
                    System.out.println(Relations);
                }
        }}
        HashMap>>> graphdatas;
        graphdatas= new HashMap>>>();
        graphdatas.put("Ralitions",allrelationships);
        graphdatas.put("Nodes",nodedatas);
        return graphdatas;
    }
}

利用Session进行数据库查询,返回的数据为neo4j的Record格式数据,进行数据遍历,得到InternalNode与InterRelationShip格式数据,随后,进行数据组装,由于采用的是前后端分离的开发模式,虽然两端都是我自己,但是我认为要把数据库里有的数据都返回到前端,为以后的可视化开发做准备。

心得:
在java的学习与使用中渐渐爱上了这种语言,严谨,效率。快速开发Web应用我虽然还会选择Python,但是写java的感觉让我更加迷恋。这次采用了SpringBoot框架+Vue框架进行协同开发,自我感觉可以使组内框架在未来三年里不至于落后的太严重,也可以为组件扩展提供更大的便利。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/284349.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号