> 技术文档 > 图数据库Neo4j入门指南:从安装到基础操作

图数据库Neo4j入门指南:从安装到基础操作

什么是Neo4j?

Neo4j是一款高性能的开源图数据库,采用图结构而非传统的表结构来存储数据。它特别适合处理高度互联的数据,如社交网络、推荐系统、知识图谱等场景。

安装

本例安装neo4j-3.X的社区版(对应jdk8)

Neo4j Deployment Center - Graph Database & Analytics

环境变量:

启动服务
neo4j.bat console

访问控制台
浏览器访问:http://localhost:7474

默认凭据:
用户名:neo4j
密码:neo4j

首次登录后会提示修改密码。

CQL基础操作

创建节点
p节点名称,类似变量名,随便写
Person标签名
{id:XXX} 属性 
create(p:Person{pid:1,name:\"zhangsan\",age:20})

创建多个节点:

create(p:Person{pid:2,name:\"lisi\",age:23}),(p2:Person{pid:3,name:\"wangwu\",age:21})

 查询操作

查询所有的节点
match(p) return p

查询所有指定标签的节点
match(p:Person) return p

根据标签查询
match(p:Person{pid:2}) return p

使用where查询,支持比较运算符、逻辑运算符
match(p:Person) where p.pid=3 return p
match(p:Person) where p.pid<3 return p

创建关系

针对已有节点创建关系,关系使用[]
match(p1:Person{pid:1}),(p2:Person{pid:2})
create (p1)-[r:FRIENDS]->(p2)

关系设置属性
match(p1:Person{pid:1}),(p2:Person{pid:3})
create (p1)-[r:FRIENDS{rid:2,date:\"2025-01-10\"}]->(p2)

创建新的节点和关系
create(p1:Person{pid:10,name:\"Tom\",age:9}),
(p2:Person{pid:11,name:\"Jerry\",age:5}),
(p1)-[r:FRIENDS{rid:10}]->(p2),
(p1)<-[r2:FRIENDS{rid:11}]-(p2)

一个是已有节点,一个是新节点
match(p:Person{name:\"wangwu\"})
create (p2:Person{pid:100,name:\"zhaosi\",age:30}),
(p)-[r:FRIENDS{rid:100}]->(p2)

删除操作

删除关系
match(p1:Person)-[r:FRIENDS{rid:10}]->(p2:Person) delete r

删除节点
match(p:Person{pid:10}) delete p

删除属性

match(p:Person{pid:11}) remove p.age

添加或者修改属性

match(p:Person{pid:11}) set p.name=\"laoshu\"

match(p:Person{pid:11}) set p.age=2,p.name=\"haha\"

一些查询

match(p:Person{pid:1})-[r:FRIENDS]->(p2:Person) return p2
match(p:Person{pid:1})-[r:FRIENDS]->(p2:Person) return p,p2
match(p:Person{pid:1})-[r:FRIENDS]->(p2:Person) return p,r,p2

查询指定节点的子节点,子节点的节点
match(p:Person{pid:1})-[r:FRIENDS*]->(p2:Person) return p,p2

match(p:Person{pid:1})-[r:FRIENDS*]->(p2:Person) return p.pid,p.name,p2.pid,p2.name

APOC插件安装

Release 5.19.0 · neo4j-contrib/neo4j-apoc-procedures · GitHub

APOC是Neo4j的扩展库,提供了许多有用的过程和函数。

拷贝插件到plugins目录下

修改配置文件

apoc.export.file.enabled=true
apoc.import.file.enabled=true
dbms.security.procedures.unrestricted=apoc.*


重启Neo4j服务

验证安装:

实际应用场景

Neo4j特别适合以下场景:
1. 社交网络分析(好友关系、影响力传播,比如拉新操作)
2. 推荐系统(基于关系的推荐)
3. 知识图谱构建
4. 欺诈检测(识别异常关系模式)
5. 权限管理与访问控制