Neo4j​ 是业界最主流的原生图数据库(Graph Database),专门用于存储、查询和分析节点-关系-属性构成的知识图谱/关联数据,核心查询语言是 Cypher


一、核心概念(类比关系型 DB)

图模型

关系型 DB

说明

Node(节点)

行 / 记录

实体,如 PersonCompany

Relationship(关系)

外键 / 中间表

有方向有类型,如 KNOWSWORKS_AT

Property(属性)

列字段

挂在节点或关系上,如 namesince

Label(标签)

表名

节点分类,如 :Person:Product


二、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 path

Cypher 语法接近 SQL 但专为图遍历设计,()=节点,[]=关系,-[:TYPE]->=有向边


三、主要特性

  • 原生图存储:关系是一等公民,不用 JOIN 表,多跳关联查询极快

  • ACID 事务、支持 HA/集群(企业版)

  • Neo4j Browser / Bloom:可视化图探索(Bloom 偏业务友好)

  • 生态完善:Python(py2neoneo4jDriver)、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,可以继续问 👍