初识Neo4j

488 阅读1分钟

Neo4j是一个高性能的,NOSQL图形数据库,它将结构化数据存储在网络上而不是表中。

Neo4j底层会以图的方式把用户定义的节点以及关系存储起来,通过这种方式,可是高效的实现从某个节点开始,通过节点与节点间关系,找出两个节点间的联系。

数据模型

图形数据库数据模型的主要构建块是:

  • 节点
  • 关系
  • 属性

一个图会记录几节点和关系,关系用来关联两个节点,节点和关系都可以拥有自己的属性,可以给节点赋予多个标签。

亮点

  • 完整的ACID支持
  • 高可用性
  • 轻易扩展到上亿级别的节点和关系
  • 通过遍历工具高速检索数据

Docker中安装

docker pull neo4j

启动neo4j容器

docker run --publish=7474:7474 --publish=7687:7687 --volume=$HOME/neo4j/data:/data neo4j 

在浏览器中访问loalhost:7474可以连接到neo4j数据库。

实践

创建一个人节点jgc

create (people:People{name:"jgc",age:24})

创建一个节点猫mary

create(cat:Cat{name:"mary",color:"white"})

节点jgc和节点mary的关系是拥有

match(people:People{name:"jgc"}) 
match(cat:Cat{name:"mary"}) 
merge(people)-[:HAVE{since:'2018'}]->(cat)

创建完之后的UI图

使用场景

适用于图形一类数据。这是 Neo4j与其他nosql数据库的最显著区别

例如:社会关系,公共交通网络,地图及网络拓谱,企业基础设施及网络架构