neo4j入门
文章目录
- neo4j
- 版本说明
- 部署安装
- Mac部署
- docker部署
- neo4j web工具使用
- 数据结构
- 图数据库VS关系数据库
neo4j
- neo4j官网
- Neo4j是用ava实现的开源NoSQL图数据库。Neo4作为图数据库中的代表产品,已经在众多的行业项目中进行了应用,如:网络管理,软件分析、组织和项目管理、社交项目等方面。
- Neo4j实现了专业数据库级别的图数据模型的存储,提供了完整的数据库特性,包括ACID事务的支持、集群的支持、备份和故障转移等。
- Neo4j提供了申明式的查询语言Cypher,它类似于关系型数据库中的SQL语言,其具有表现力丰富、使用简单、查询效率高、高扩展性等特点。
版本说明
- Neo4j有企业版和社区版。社区版具备基本的功能,功能较为完整,没有提供企业服务。企业版相对于社版本,增加了一些功能,如:集群、高级监控、高级缓存、在线备份
- 开发环境使用社区版、生产环境使用企业版。企业版从3.2版本开始支持集群,无地理位置限制并且可以做到事务的ACID特性。
部署安装
- Neo4j支持多个平台部署,如Mac、win、Linux。Neo4j是基于java平台的,所以部署安装需要保证安装了java环境,当然使用docker部署例外。
Mac部署
-
使用homebrew进行安装neo4j,然后启动服务
brew install neo4j
neo4j start
-
输入浏览器访问地址,输入用户和密码,设置新密码后,即可登录成功!
http://localhost:7474/browser/
docker部署
- 作者这里使用1panel面板进行安装部署
- 在应用商店选择数据库分类Neo4j应用
- 配置容器需要的信息,务必选择端口外部访问
- 输入
服务器IP地址:7474/browser
,访问Neo4j访问管理界面
neo4j web工具使用
- 打开指导,创建图实例,查看图表
match(tom:Person{name:"Tom Hanks"})-[:ACTED_IN]->(tomHanksMovies) return tom,tomHanksMovies
数据结构
- neo4j采用节点、属性、关系、标签来存储
- 节点:存储实体数据、在上图中,演员、电影都是节点;可以理解为关系数据库中的表。
- 关系:存储节点之间的关系;关系只能有一个类型,必须有开始节点和结束节点以及指向;关系可以自我循环引用,但是两头永远不能为空。
- 属性:节点和关系都可以有属性,它是由键值对组成。节点的属性可以理解为关系型数据库中的字段。关系中的属性进一步明确了关系。
- 标签:标签是对节点的分类,使得构建Neo4j数据模型更加简单。
图数据库VS关系数据库
- 图数据库在存储和查询方面要比传统的关系型数据库更加敏捷,并且更加容易理解。
- 关系型数据库其实并非真正存储的“关系”,而是通过中间表完成。
- 图数据库是真正存储关系,也许图数据库应该叫“关系型数据库”。