图数据库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. 权限管理与访问控制


