Neo4j是基于java语言实现的世界领先的图形数据库,是一个高性能的图形存储,具有成熟和强大的数据库所需的所有功能,如友好的查询语言(数字)和酸事务。对于许多应用程序,与关系数据库相比,Neo4j提供了数量级的性能优势。主要应用于图检索和关系计算。其优点在于:
-
<李>节点没上线(3.0以后去掉了限制)李>
<李>扩展性很好,支持集群和企业版李>
<李>数据ETL有丰富的工具支持,自带GUI李>
<李>良好的WebUI李>
更加详细的介绍参考:https://neo4j.com/docs/getting-started/current/graphdb-concepts/
Neo4j在不同部署环境中的安装,例如Linux, Mac操作系统,Windows, Debian,码头工人或CAPI Flash,以下介绍在Windows系统中的安装方法:
<强> 1。下载最新安装包强>
点击以下地址:https://neo4j.com/download-center/,选择社区服务器下相应版本下载即可。
<强> 1。建立一个springBoot项目强>
& lt; dependencies> & lt; dependency> & lt; groupId> org.springframework.boot & lt; artifactId> spring-boot-starter-data-neo4j & lt;/dependency> & lt;/dependencies>
<强> 3。建立一个人和电影的实体类强>
@NodeEntity 公共类人{ @ id @GeneratedValue 私人长id; 私人字符串名称; 私人出生的字符串; 公众人物(){//从Neo4j API 2.0.5开始需要无参构造函数 } 公众人物(字符串名称字符串出生){ this.name=名称; 这一点。生=出生; }//省略getter和setter
@NodeEntity 公共类电影{ @ id @GeneratedValue 私人长id; 私人字符串标题; 私人发布的字符串; 公共电影(){ } 公共电影(字符串标题、字符串发布){ 这一点。标题=标题; 这一点。发布=发布; }//省略getter和setter
需要注意的是类上@NodeEntity,标识这是一个节点,实体类中还需要一个无参构造方法,从Neo4j API 2.0.5开始需要的。
<>强4。建立MovieRepository和PersonRepository 强>
公共接口MovieRepository延伸CrudRepository<电影,Long>{ 电影findByTitle(字符串标题); }
公共接口PersonRepository延伸CrudRepository<人,Long>{ 人findByName(字符串名称); }
其中继承CrudRepository已经可以实现简单的CRUD了
<强> 5。在人中建立电影与演员,导演的指向关系强>
@Relationship (type=" ACTED_IN”方向=Relationship.OUTGOING) 公共SetspringBoot与neo4j的简单整合示例