Neo4j 简介
Neo4j 是业界最主流的原生图数据库(Graph Database),专门用于存储、查询和分析节点-关系-属性构成的知识图谱/关联数据,核心查询语言是 Cypher。
一、核心概念(类比关系型 DB)
二、Cypher 查询示例
// 创建节点和关系
CREATE (a:Person {name:'Alice'})-[:KNOWS {since:2024}]->(b:Person {name:'Bob'})
// 查询 Alice 认识的人
MATCH (a:Person {name:'Alice'})-[:KNOWS]->(friend)
RETURN friend.name
// 找最短路径
MATCH path = shortestPath((a:Person {name:'Alice'})-[*]-(b:Person {name:'Bob'}))
RETURN pathCypher 语法接近 SQL 但专为图遍历设计,
()=节点,[]=关系,-[:TYPE]->=有向边
三、主要特性
✅ 原生图存储:关系是一等公民,不用 JOIN 表,多跳关联查询极快
✅ ACID 事务、支持 HA/集群(企业版)
✅ Neo4j Browser / Bloom:可视化图探索(Bloom 偏业务友好)
✅ 生态完善:Python(
py2neo、neo4jDriver)、Java、JS、Go;可与 LangChain / Spring Data Neo4j 集成✅ GDS 库(Graph Data Science):内置 PageRank、社区发现、节点嵌入等图算法
✅ 免费社区版:足够用于学习、中小项目
四、典型应用场景
🕸️ 知识图谱(实体关系抽取、问答系统)
🔍 反欺诈 / 风控(资金环路、关联账户识别)
👥 社交网络 / 推荐系统(共同好友、影响力传播)
🏢 IT 运维 / 依赖分析(服务调用链、组件影响面)
🧬 生物医药(基因-蛋白-疾病关联)
五、快速启动(Docker)
docker run -d \
--name neo4j \
-p 7474:7474 -p 7687:7687 \
-e NEO4J_AUTH=neo4j/yourPassword \
neo4j:latest访问 http://localhost:7474→ 用你设的用户名/密码登录。
如果你是想把 Neo4j 作为 MyAgents / MCP 工具的后端知识图谱存储,或者想看 Python 操作 Neo4j 的代码示例 / 与 LangChain 结合做 RAG,可以继续问 👍