一些非常好的资料:
- 基于java api的开发
http://www.infoq.com/cn/articles/graph-nosql-neo4j
- java开发入门教程:
http://www.neo4j.org.cn/basic-tutorials/
- cypher语言学习
http://neo4j.com/developer/cypher/
Neo4j是一个java开发的图数据库,它将结构化数据存储在网络(从数学角度叫做图)上而不是表中。相对于关系数据库来说,图数据库善于处理大 量复杂、互连接、低结构化的数据,这些数据变化迅速,需要频繁的查询——在关系数据库中,这些查询会导致大量的表连接,因此会产生性能上的问题。 Neo4j重点解决了拥有大量连接的传统RDBMS在查询时出现的性能衰退问题。Neo4j还提供了非常快的图算法、推荐系统和OLAP风格的分析,而这 一切在目前的RDBMS系统中都是无法实现的。它提供了广泛使用的REST接口,能够方便地集成到基于JAVA、PHP、.NET和JavaScript 的环境里。
Neo4j 使用cypher语言进行查询
创建节点
CREATE (ee:员工 { 姓名: "张勇", 来自: "中国" , 年龄 : 99 })
• 通过CREATE创建一个节点
• () 代表一个节点
• ee:员工 变量'ee',标签label是 '员工'
• {} 包含了属性
自己动手写个Demo试试:

CREATE (p1:Person {name:'胡兴炯', born:1991, interest:'mac,ios,旅游', goodat:'java,swift,objectiveC'}) CREATE (p2:Person {name:'张勇', born:1990, interest:'android', goodat:'java,android'}) CREATE (p3:Person {name:'成文龙', born:1990, interest:'linux,hadoop', goodat:'linux,java,android'}) CREATE (p4:Person {name:'王昕', born:1978, interest:'wpf,noSQL,旅游', goodat:'java,c#'}) CREATE (p5:Person {name:'周开琪', born:1977 , interest:'管理', goodat:'管理,'}) CREATE (p6:Person {name:'徐锦亮', born:1985, interest:'前端', goodat:'前端,html5'}) CREATE (p8:Person {name:'徐辉霞', born:1990, interest:'管理,旅游', goodat:'管理,采购'}) CREATE (p9:Person {name:'黄廷鹏', born:1992, interest:'OA', goodat:'java'}) CREATE (p10:Person {name:'史乐乐', born:1991, interest:'OA,旅游', goodat:'管理'}) CREATE (p1)-[:认识]->(p2) CREATE (p1)-[:认识]->(p3) CREATE (p1)-[:认识]->(p4) CREATE (p1)-[:认识]->(p5) CREATE (p1)-[:认识]->(p9) CREATE (p2)-[:认识]->(p1) CREATE (p2)-[:认识]->(p3) CREATE (p2)-[:认识]->(p4) CREATE (p2)-[:认识]->(p5) CREATE (p2)-[:认识]->(p9) CREATE (p3)-[:认识]->(p1) CREATE (p3)-[:认识]->(p2) CREATE (p3)-[:认识]->(p4) CREATE (p3)-[:认识]->(p5) CREATE (p3)-[:认识]->(p9) CREATE (p4)-[:认识]->(p1) CREATE (p4)-[:认识]->(p2) CREATE (p4)-[:认识]->(p3) CREATE (p4)-[:认识]->(p5) CREATE (p4)-[:认识]->(p9) CREATE (p5)-[:认识]->(p1) CREATE (p5)-[:认识]->(p2) CREATE (p5)-[:认识]->(p3) CREATE (p5)-[:认识]->(p4) CREATE (p5)-[:认识]->(p6) CREATE (p5)-[:认识]->(p8) CREATE (p5)-[:管理]->(p1) CREATE (p5)-[:管理]->(p2) CREATE (p5)-[:管理]->(p3) CREATE (p5)-[:管理]->(p4) CREATE (p5)-[:管理]->(p6) CREATE (p6)-[:认识]->(p5) CREATE (p6)-[:认识]->(p4) CREATE (p6)-[:夫妻]->(p8) CREATE (p9)-[:认识]->(p1) CREATE (p9)-[:认识]->(p2) CREATE (p9)-[:认识]->(p3) CREATE (p9)-[:认识]->(p10) CREATE (p9)-[:单相思]->(p10) CREATE (p10)-[:认识]->(p9)
运行完上面脚本的效果
查找所有擅长goodat“管理”的人
MATCH (n:Person ) WHERE n.goodat =~ '.*管理.*' return n;
查找成文龙“认识“的人
MATCH (n:Person { name: '成文龙' })-[:认识]-(neighbors) RETURN n,neighbors
查找所有“单相思”的人
MATCH (n:Person)-[:单相思]-(neighbors) RETURN n,neighbors
查找周开琪“管理”的人
MATCH (n:Person { name: '周开琪' })-[:管理]-(neighbors) RETURN n,neighbors
查找徐辉霞“认识“的人 (2层关系网络)
MATCH (n:Person { name: '徐辉霞' })-[:认识*1..2]-(neighbors) RETURN n, collect(DISTINCT neighbors)
查找徐辉霞“认识“的人 (3层关系网络)
MATCH (n:Person { name: '徐辉霞' })-[:认识*1..3]-(neighbors) RETURN n, collect(DISTINCT neighbors)
(图略)
徐锦亮找到史乐乐的所有最短路径 (不超过4层)
MATCH p=allShortestPaths(
(a:Person { name: '徐锦亮' })-[:认识*..4]-(b:Person { name: '史乐乐'})
)
RETURN p
删除所有节点和关系
MATCH (n)
OPTIONAL MATCH (n)-[r]-()
DELETE n,r
http://www.cnblogs.com/starcrm/p/5033117.html
相关推荐
6. **API和驱动程序**:Neo4j提供多种编程语言的驱动程序,如Java、Python、JavaScript等,使得开发人员能够方便地在应用程序中集成和操作数据库。 7. **实例与最佳实践**:通过示例展示如何利用Neo4j解决实际问题...
在本篇文章中,我们将对Neo4j的基本使用进行讲解,包括安装、创建数据库、创建节点、创建关系等操作。 一、Neo4j的安装 Neo4j的安装过程相对初学者繁琐,本文暂时不做介绍,有兴趣同学可以自学或课后咨询。 二、...
《Neo4j官方开发手册3.1》是针对图数据库管理系统Neo4j的权威指南,主要面向开发者,提供了详尽的开发和使用信息。手册涵盖了3.1版本的所有关键特性和功能,帮助开发者深入理解并有效利用Neo4j的强大功能。 在 ...
在IT领域,尤其是在开发Web应用程序时,整合不同的技术框架能够极大地提高开发效率和系统的...通过遵循上述步骤,你可以轻松地在Spring Boot应用中管理Neo4j中的节点和关系,实现数据的增删改查以及更高级的图操作。
在本示例中,我们将深入探讨如何利用Spring Boot框架进行Neo4J服务端开发,实现节点与关系的增删改查以及复杂的查询操作。 首先,"neo4j-community-3.5.18-windows.zip"是Neo4j 3.5.18版本的Windows安装文件。这个...
1. **驱动程序**:讨论了Java、.NET、Python、JavaScript等语言的驱动程序,如何在应用程序中连接和操作Neo4j。 2. **REST API**:通过HTTP接口与Neo4j进行交互,适用于无服务器或跨平台的场景。 **九、性能调优** ...
课程涉及Neo4j概念、原理、实战、综合完整项目(Neo4j+D3.js可视化)全方位深入讲解,深入讲解图数据库查询语言Cyther,可帮助学员快速掌握...深入讲解Neo4j Java API,并在Neo4j+D3.js完整Web项目中手把手编写代码
在Neo4j中,关系是第一类公民,它们代表实体间的预材料化连接。与关系型数据库中随着关系数量增多性能呈指数级下降的join操作不同,Neo4j通过从一个节点到另一个节点的导航来执行操作,性能与关系数量成线性关系。...
Neo4j特别强调了关系型数据库中的连接(join)操作,与关系型数据库相比,其性能不会因关系数量的增加而急剧下降,因为Neo4j将关系作为“一等公民”来对待,并且利用了数据连接的丰富性。 ### 核心知识点 #### 图...
结合Spring Data Neo4j(SDN),我们可以轻松地在Spring Boot应用中使用Neo4j。SDN是Spring Data项目的一部分,提供了对图形数据库的抽象和便捷的访问层。 集成步骤如下: 1. **添加依赖**:在Spring Boot项目的`...
Neo4j 入门资料汇总 Neo4j 是一个高性能的 NOSQL 图形数据库,它将结构化数据存储在网络上而不是表中。它是一个嵌入式的、基于磁盘的、具备完全的事务特性的 Java 持久化引擎,但是它将结构化数据存储在网络(从...
neo4j api neo4j学习资料 neo4j教程 │ neo4j官方API(官方各种API的文档整理).7z │ neo4j数据迁移--初探(一).htm │ neo4j笔记.docx │ neo4j错误码状态码.html │ └─01.neo4j学习博客汇总 │ index.html └...
在Java开发环境中,与Neo4j交互主要依赖于官方提供的Java驱动程序,这使得Java开发者能够利用其丰富的库和工具来构建高效的应用程序。本快速指南将深入探讨如何使用Java API与Neo4j进行集成,以及如何执行常见的...
官网 Spring Data Neo4j API。 Spring Data Neo4j 开发文档。 Spring Data Neo4j API
在Java开发环境中,我们可以利用其丰富的API和工具来构建高效、灵活的应用程序。本快速指南将深入探讨如何使用Java与Neo4j进行交互,包括创建自定义函数和过程。 首先,理解Neo4j的核心概念是至关重要的。它是一个...
3. 域模型:讲解了如何定义领域模型,也就是数据库中节点、关系以及属性的概念,并且讲述了如何在Java对象和图结构之间建立映射。 4. 关键注点: - 关于实体图映射:介绍了如何用Java类来映射Neo4j中的节点、关系...
这份Neo4j中文使用手册将带你深入理解并掌握这个强大的图形数据库系统,通过实例演示如何使用Cypher查询语言操作数据,以及如何在实际项目中应用Neo4j解决复杂问题。无论你是初学者还是经验丰富的开发者,都能从中...
在Java和Python等编程语言中,Neo4j提供了丰富的API来方便开发人员进行操作。"Neo4j中文使用手册以及例子.7z"这个压缩包显然包含了关于如何使用Neo4j的详细指导和实例,这对于开发者来说是一份非常宝贵的资源。 1. ...
在现代数据处理中,关系图谱作为一种强大的工具,被广泛应用于社交网络分析、网络安全、推荐系统等领域。本文将深入探讨如何使用Neo4j,一个流行的图形数据库,来构建关系图谱,并结合Spring Boot和Swagger2实现后台...