NOSQL图形数据库 - Neo4j

本文介绍了Neo4j,一个高性能的NOSQL图形数据库,它将数据存储在网络而非表中。内容包括Neo4j的特点,如解决对象关系不匹配问题,适合表达半结构化数据;安装步骤,通过Docker部署并访问Web UI;基础操作,如使用Cypher语法进行CRUD操作;以及Java集成的三种方式:内嵌、服务器和Spring集成,并提供了相关依赖和示例代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Neo4j入门指南



1、简介

Neo4j是一个高性能的,NOSQL图形数据库,它将结构化数据存储在网络上而不是表中。它是一个嵌入式的、基于磁盘的、具备完全的事务特性的Java持久化引擎,但是它将结构化数据存储在网络(从数学角度叫做图)上而不是表中。Neo4j也可以被看作是一个高性能的图引擎,该引擎具有成熟数据库的所有特性。程序员工作在一个面向对象的、灵活的网络结构下而不是严格、静态的表中——但是他们可以享受到具备完全的事务特性、企业级的数据库的所有好处。

2、特点

  1. 对象关系的不匹配使得把面向对象的“圆的对象”挤到面向关系的“方的表”中是那么的困难和费劲,而这一切是可以避免的。
  2. 关系模型静态、刚性、不灵活的本质使得改变schemas以满足不断变化的业务需求是非常困难的。由于同样的原因,当开发小组想应用敏捷软件开发时,数据库经常拖后腿。
  3. 关系模型很不适合表达半结构化的数据——而业界的分析家和研究者都认为半结构化数据是信息管理中的下一个重头戏。
  4. 网络是一种非常高效的数据存储结构。人脑是一个巨大的网络,万维网也同样构造成网状,这些都不是巧合。关系模型可以表达面向网络的数据,但是在遍历网络并抽取信息的能力上关系模型是非常弱的。

3、安装

从Docker Hub上pull一个Neo4j的镜像

docker pull neo4j

启动一个Neo4j的容器, 在Home目录下建立一个/neo4j/data文件夹用于存放数据

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

在浏览器中访问 http://ipaddress:7474 可以看到如下的UI界面,输入默认用户名和密码neo4j即可连接到neo4j数据库。

neo4jconsole

4、基础操作

Neo4j使用Cypher语法操作数据库,CRUD示例

创建节点

CREATE (e:Country{
   
   name:"中国"})
CREATE (e1:Country{
   
   name:"美国"})
CREATE (c:Company{
   
   name:"腾讯",createtime:"2000-12-20"})
CREATE (c1:Company{
   
   name:"苹果",createtime:"2002-07-08"})
CREATE (c2:Company{
   
   name:"阿里",createtime:"2004-12-20"})
CREATE (c3:Company{
   
   name:"美团",createtime:"2010-12-20"})
CREATE (c4:Company{
   
   name:"亚马逊",createtime:"2007-07-08"})

创建关系

MATCH (e:Country) WHERE e.name="中国" MATCH (c:Compa
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值