neo4j数据库简介

2020-03-15

neo4j 数据库是一个高性能的 NoSQL 图形数据库。它的存储结构非常类似于数学中的图,以结点和结点之间的关系为存储的基本内容。neo4j 中的图指的是有向图,所有的关系都必须是有方向的,如果试图创建没有方向的关系会失败。它非常适合存储关系错综复杂的数据,如知识图谱、人脉网等。neo4j 中没有分库分表的概念,所有结点和关系都存在一个库中。由于没有表结构,因此它非常适合存储半结构化数据,扩展性极好。

neo4j 名字的来源应该是《黑客帝国》中的尼奥(neo),因为在它的管理界面有个教程演示就是创建《黑客帝国》的图谱。4j 则是指为 Java 而生,和 log4j 等一众 4j 结尾的软件一样。

安装

neo4j 的官网地址为:https://neo4j.com/,但访问十分缓慢。neo4j 数据库不需要进行安装,直接运行软件包中的 bin/neo4j.bat 文件即可使用。但是官网的下载速度过于缓慢,下载一个压缩包需要好几个小时,就算是迅雷加速也没用,而且最新版的 neo4j 只支持 Java11 以上的版本,所以不推荐使用这种方式运行。本人推荐在 docker 中安装运行 neo4j(最好配置国内镜像源)命令如下:

docker pull neo4j
docker run -it -d -p 7474:7474 -p 7687:7687 neo4j

安装完成后,访问 http://localhost:7474 即可看到 neo4j 的登录界面。如果部署在服务器上,需要同时放通 7474 和 7687 两个端口,只放通 7474 会出现登录失败的情况。默认用户名和密码都是 neo4j。

CQL

neo4j 使用 CQL(Cypher Query Language)检索数据。具体的教程可以在 w3cschool 中找到:https://www.w3cschool.cn/neo4j/neo4j_cql_introduction.html 。语法和 SQL 不太一样,但也有一定相通之处,比如都有 where 语句且用法相同,而 CQL 中的 return 语句就相当于 SQL 中的 select 语句。

强大的可视化工具

neo4j 拥有强大的可视化工具,可以以图形的方式展示出各个结点和它们之间的关系,展示效果如图:
neo4j.png

评论
发表评论