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

Spring Data Neo4j 从入门到精通(一)

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

Spring Data Neo4j 从入门到精通(一)

大家好,最近在折腾Neo4j图数据库,Neo4j是啥我就不赘述了,怎么玩我也不说了,因为我懒。。。

本来是没有这个系列的,但是我在最近一周的爬坑里发现SDN的资料真的是少啊,要么也说得是含糊其辞,实在是受不了。。。

所以我就记录一下SDN的学习过程吧,互相学习。。。。。欢迎大家批评指正。。。。

正文如下:

SDN介绍1、什么是SDN

    SDN全称Spring Data Neo4j,是开源Spring Data项目下一个项目,是Spring Data下的一个重要子项目,它提供了高级的特性以将注解的实体类映射到Neo4j图型数据库上。其模板编程模型类似于我们熟知的Spring模板,为与图的交互提供了基础,此外也用于高级的仓库支持。该项目旨在为NoSQL数据库操作提供便捷的支持,是为了让广大码农少写代码的福音。。。

2、如何下载SDN

如果你需要单独研究源码玩呢,请至http://projects.spring.io/spring-data-neo4j下载,在那里你也能找到很多关于SDN的信息。如果你使用Maven管理项目,请在Pom.xml加入如下依赖。我搞了半天不知道简书咋插入依赖代码,只能贴图了,sorry了同学们。

pom.xml依赖

3、SDN能干什么

SDN是能够操作基于POJO实体将其映射到Neo4j的一种方法。SDN提供了许多优秀的工具能够操作Neo4j的GraphDatabaseService,可以使用底层API来获得最佳的性能和最大的自由度。总而言之,在适当的逻辑数量范围内(大约10000)使用SDN来操作Neo4j是非常爽的。


准备工作

    既然你都到了搜索SDN的程度了,我就默认你具有java和neo4j的基础。。。。不会也没关系,先去看一下这两者的从入门到放弃。。或者私信我,大家一起学习。。。。。

案例代码初始化一个社交网络:

public void createCypherNodeUse(GraphDatabaseService graphDB) {

try (Transaction tx = graphDB.beginTx()) {

Node userJohn = graphDB.createNode();

        userJohn.setProperty("name", "John Johnson");

        userJohn.setProperty("type","user");

        Node userKate = graphDB.createNode();

        userKate.setProperty("name", "Kate Smith");

        userKate.setProperty("type","user");

        Node userJack = graphDB.createNode();

        userJack.setProperty("name", "Jack Jeffries");

        userJack.setProperty("type","user");

        Node movieFargo = graphDB.createNode(LabelCity.MOVIE);

        movieFargo.setProperty("name", "Fargo");

        movieFargo.setProperty("type","movie");

        Node movieAlien = graphDB.createNode(LabelCity.MOVIE);

        movieAlien.setProperty("name", "Alien");

        movieAlien.setProperty("type","movie");

        Node movieHeat = graphDB.createNode(LabelCity.MOVIE);

        movieHeat.setProperty("name", "Heat");

        movieHeat.setProperty("type","movie");

        userJohn.createRelationshipTo(userKate, RelationNeo.IS_FRIEND_OF);

        userJohn.createRelationshipTo(userJack, RelationNeo.IS_FRIEND_OF);

        Relationship real1 = userJohn.createRelationshipTo(movieFargo, RelationNeo.HAS_SEEN);

        real1.setProperty("Stars", 5);

        Relationship real2 = userJack.createRelationshipTo(movieFargo, RelationNeo.HAS_SEEN);

        real2.setProperty("Stars", 4);

        Relationship real3 = userJack.createRelationshipTo(movieAlien, RelationNeo.HAS_SEEN);

        real3.setProperty("Stars", 5);

        Relationship real4 = userKate.createRelationshipTo(movieHeat, RelationNeo.HAS_SEEN);

        real4.setProperty("Stars", 3);

        tx.success();

    }catch (Exception e){

e.printStackTrace();

    }finally {

logger.info("社交网络初始化完毕!");

    }

}



作者:漳甲
链接:https://www.jianshu.com/p/234ff78c3d5a


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

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

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