Neo4j是一个NoSQL的图数据库管理系统,这里所说的图是指图论中的图这种数据结构,图是一个比线性表和树更高级的数据结构。
Neo4j存储的数据是一个属性图,其中,节点表示一个实体,节点的属性表示实体的内容,而实体之间的关联表示节点的关系,比如朋友关系、从属关系。
Neo4j的优势:主要表现为查询的高性能、设计的灵活性和开发的敏捷性。
Neo4j适合领域:社交网络、推荐引擎、地理数据、主数据存储、访问控制、欺诈检测、物流管理等。
一、Neo4j API 应用
在java项目中应用Neo4j,可以参考官方文档:在java项目中使用Neo4j
其中介绍了对Neo4j数据库基本的增、删、改、查方法。
Neo4j同时还提供了官方的遍历查询方法:遍历查询
二、使用Cypher查询语言
像关系型数据库使用SQL查询语言一样,Neo4j使用Cypher查询语言来存储数据。使用Cypher查询语言,可以对数据库执行增、删、改、查等所有操作,并且实现起来更加简单和方便。
Cypher语法和使用方法可参考:Cypher手册
三、使用SDN建模
SDN是Spring Data的子项目,像JPA使用ORM一样,SDN使用OGM(对象-图映射)将域对象与图数据进行相互转换。使用这种机制,我们在对对象进行建模时,只要使用一些简单的注解,就可以让对象与图数据建立起映射关系。