Neo4j以图论为基础设计的关系数据库-快速入门

809 阅读3分钟

neo4j官方文档 neo4j.com/docs/
neo4j 中文社区 neo4j.com.cn/

1. Neo4j安装

安装 java 11
www.oracle.com/java/techno…

下载neo4j社区版

neo4j.com/download-ce…

解压,启动

neo4j start

访问本地neo4j browser

http://localhost:7474/

2. 图数据库相关"图论"专业名词:

图论wiki:

zh.wikipedia.org/wiki/%E5%9B…

图数据库主要用的名词

  1. 边:图上连接点和点之间的东西叫做边,图上边分为有向边和无向边。有向边是有方向的边,无向边是没有方向的边,在图上具体体现为有无箭头。
  2. 点:图上的点
  3. 权:就是某个东西的大小,图中一般会存在点权和边权,就是给点赋一个值和给边赋一个值,没有权的情况称为无权,权值为负的时候称为负权(注意以后算法中的负权边)
  4. 出度:以某个点为起点的边,称为该边的出度
  5. 入度:以某个点为终点的边,称为该边的入度
  6. 路径:从一条边到另一条边的路称为路径,简单路径是一条没有环的路径。
  7. 连通性:如果一个点A能到达另一个点B,称为点A和点B连通,如果点B也能到达A点则称点A和点B是强连通的,从图中某一点出发,如果能到达图上任意一点,则称,这个图是一个连通图。
  8. 力导向图(Force-Directed Graph),neo4j数据关系呈现所用的图

图连通性定义扩展:

c.biancheng.net/view/3405.h…

《图数据库》

www.jb51.net/books/58781…

3. 图数据库的应用(主要解决问题)

提升解决下列问题速度,相比传统数据库,可以更快更简单的实现,实现(开发)成本更低

neo4j 应用案例

blog.csdn.net/liudongdong…

  1. 最短路的求解
  2. 可达性求解(连通性求解)
  3. 关系图谱可视化

4. Cypher语法入门(cql)

  1. 语法设计比较简单,建议看文档前,建议直接看官方示例,查看官方示例方法,本地安装Neo4j后访问:

    http://localhost:7474/

  1. 选择try neo4j with live data,
  2. 按照步骤查看cql语句和运行结果

  1. Cql 速查手册

neo4j.com/docs/cypher…

  1. cql官方文档

neo4j.com/docs/cypher…

  1. Vs Code (Cypher Query Language) cql 语法高亮插件

5. 与传统关系型数据库比较

  1. 图数据库有哪些优点?

    zhuanlan.zhihu.com/p/112689382

  2. 图数据库与关系型数据库优势

    zhuanlan.zhihu.com/p/112704484

  3. 与传统关系型数据库性能比较

    在一个有100万人,每个人有约50朋友的社交网络中,查找最大深度为5的朋友的朋友数据时的性能比较

6. neo4j for js client

neo4j 官方js客户端

npm install neo4j-driver

neo4j.com/developer/j…

7. neo4j 数据可视化(力导向图可视化)

官方与第三方neo4j数据可视化库,工具挺多详情可以细看下面文章

zhuanlan.zhihu.com/p/381044281

zhuanlan.zhihu.com/p/126219777

分类列举比较常用的和官方一些工具

  1. 开发工具,帮助开发人员处理图表。

    1. Neo4j browser(neo4j 自带的web client)
    2. Neovis.js (前端直连neo4j,vis.js的neo4j版)
    3. Popoto.js (前端直连neo4j,d3.js的neo4j版)
    4. d3.js (前端非直连neo4j)
    5. echarts (前端非直连neo4j)
  2. 探索/分析/报告工具,帮助分析师探索数据关系,趋势和差异。

    1. Neo4j Bloom (neo4j官方数据可视化工具)