neo4j图数据库
Neo4j 简介
Neo4j 是一款高性能的图数据库(Graph Database),采用原生图存储引擎,专门为处理高度关联的复杂关系数据设计。与传统关系型数据库(如 MySQL)相比,Neo4j 通过节点(Node)、关系(Relationship)和属性(Property)直接映射现实世界的关联关系,适用于社交网络、推荐系统、知识图谱等场景。
Neo4j 核心特点
原生图处理:数据以图的形式存储和查询,避免关系型数据库的多表连接操作。
Cypher 查询语言:专为图数据设计的声明式查询语言,语法直观。
ACID 事务支持:确保数据一致性和可靠性。
可扩展性:支持分布式部署和集群化。
Neo4j 基本概念
节点(Node):表示实体(如用户、商品),可带有标签(Label)和属性(Property)。
关系(Relationship):连接两个节点,具有方向性和类型(如 FRIENDS_WITH
)。
属性(Property):附着在节点或关系上的键值对(如 name: "Alice"
)。
Cypher 查询示例
创建节点和关系
CREATE (a:Person {name: "Alice", age: 30})-[:FRIENDS_WITH]->(b:Person {name: "Bob", age: 25})
查询节点和关系
MATCH (p:Person)-[r:FRIENDS_WITH]->(friend:Person)
WHERE p.name = "Alice"
RETURN p, r, friend
更新数据
MATCH (p:Person {name: "Alice"})
SET p.age = 31
RETURN p
Neo4j 应用场景
社交网络:分析用户关系链。
推荐系统:基于共同兴趣或行为生成推荐。
欺诈检测:识别异常交易模式。
知识图谱:构建语义关联网络。
Neo4j 部署方式
社区版:免费开源,适合学习和小规模应用。
企业版:支持集群、备份等高级功能。
AuraDB:全托管的云服务(Neo4j 官方提供)。