Neo4j 超详细入门

Neo4j 是全球最主流、原生高性能属性图数据库 ,专门存储节点 - 关系 - 属性 的图结构数据,是 GraphRAG、知识图谱、多跳推理系统的标准底层存储底座

一、核心定义与数据模型

1. 原生图数据库

底层物理存储就是图结构,不是 MySQL 套图插件,遍历多跳关系毫秒级,远超关系型数据库 JOIN 查询。

2. 三大核心元素(属性图标准)

  • 节点 Node:实体(人物、技术、文档、代码模块、概念)
  • 关系 Relationship:实体关联(属于、调用、依赖、合作、引用)
  • 属性 Property:节点 / 关系附带键值信息(描述、时间、来源、向量)

3. 查询语言:Cypher

类 SQL 语法、可视化图匹配,专门做路径遍历、多跳查询

复制代码
# 查找A依赖的所有2跳技术路径
MATCH (a:Code)-[:DEPENDS]->(b)-[:USES]->(c) RETURN a,b,c

二、核心优势(对比 MySQL / 向量库)

  1. 多跳关系极速查询 MySQL 多层 JOIN 指数变慢;Neo4j 天生邻接存储,N 跳关联毫秒返回,完美适配 GraphRAG 多跳推理。
  2. 结构灵活无表约束不用建表、不用外键,新增实体 / 关系无需改库结构,适配文档动态抽取知识图谱。
  3. 企业级稳定 支持ACID 事务、集群高可用、持久化、备份恢复,可上生产环境。
  4. 可视化 + 图算法自带 Neo4j Browser 图形可视化;内置路径、聚类、社区发现算法,匹配 GraphRAG 社区分层检索。
  5. AI 生态无缝打通 原生适配 LlamaIndex、LangChain、微软 GraphRAG,一键做文本→知识图谱→图检索 RAGNeo4j。

三、Neo4j 在 GraphRAG 里的角色(你项目核心)

传统 RAG:向量库 → 文本块语义匹配GraphRAG:Neo4j(知识图谱)+ 向量库 双存储

  1. LlamaIndex 从文档抽取实体 + 关系,写入 Neo4j 构建属性图
  2. 用户提问 → LLM 转 Cypher → Neo4j 做多跳路径检索
  3. 结合向量语义召回 + 图结构化关联,拼接上下文给 LLM
  4. 输出可溯源、可推理、低幻觉的问答结果Neo4j

四、Neo4j vs 向量数据库(Milvus/Chroma)

表格

对比项 Neo4j 图数据库 向量数据库
存储单元 节点、关系、路径 文本向量
擅长能力 关系推理、多跳链路、全局关联 语义相似度模糊匹配
GraphRAG 定位 结构化知识底座 语义补充检索
幻觉控制 极强(显式关系约束) 一般
适用场景 复杂代码依赖、论文引用、企业关联知识 普通文档问答、摘要

五、LlamaIndex + Neo4j 极简实战代码

复制代码
# 安装依赖
pip install llama-index llama-index-graph-stores-neo4j

# 连接Neo4j + 构建知识图谱索引
from llama_index.graph_stores.neo4j import Neo4jPropertyGraphStore
from llama_index.core import PropertyGraphIndex, SimpleDirectoryReader

# 连接本地Neo4j
graph_store = Neo4jPropertyGraphStore(
    url="bolt://localhost:7687",
    username="neo4j",
    password="你的密码"
)

# 加载文档→自动抽实体关系→写入Neo4j
docs = SimpleDirectoryReader("./code_docs").load_data()
index = PropertyGraphIndex.from_documents(docs, graph_store=graph_store)

# 图检索问答(多跳推理)
query_engine = index.as_query_engine()
print(query_engine.query("这个模块依赖哪些底层组件?调用链路是什么"))

六、典型落地场景

  • GraphRAG 企业知识库、学术论文关联图谱
  • 代码依赖图谱、项目架构溯源(你的 CodeFlow-AI)
  • 社交网络、风控关联链路、供应链上下游
  • 法律法条关联、医疗疾病因果推理
相关推荐
亦暖筑序5 天前
GraphRAG vs 传统向量RAG:Spring AI实战对比
知识图谱·neo4j·向量数据库·rag·spring ai·graphrag
i建模6 天前
Milvus 和neo4j对比
neo4j·milvus
哥本哈士奇(aspnetx)7 天前
看完《低智商犯罪》,学习Cypher构建知识图谱
neo4j
子榆.10 天前
CANN TensorFlow适配器:当tf.matmul跑在昇腾NPU上时在底层发生了什么
人工智能·neo4j·llama
lzp079111 天前
基于多模态视觉模型和图文向量模型的工业图像知识库研究与应用(伍)
数据库·学习·neo4j
Arhero11 天前
GraphRAG 层级聚类中的“孤儿社区“:为什么有些 Community 没有 PARENT_OF 边
知识图谱·社区检测·graphrag·leiden算法·层级聚类
子榆.12 天前
CANN ATC编译器:模型从Python到达芬奇指令走了多远
开发语言·python·neo4j
程序员清洒12 天前
一个Token的昇腾之旅——从模型输入到硬件执行的完整链路
neo4j·cann
林夕0715 天前
Qt集成AI推理引擎:TensorFlow Lite与ONNX Runtime实战
人工智能·qt·neo4j
格鸰爱童话17 天前
springboot3.2使用neo4j
springboot·neo4j