创建简易个人关系图谱(Neo4j )
1. 启动 Neo4j 并进入 Neo4j Browser
确保 Neo4j 已启动,访问:
http://localhost:7474/
2. 创建人物节点(Person)
(1) 创建 Alice
CREATE (alice:Person {name: "Alice", age: 28, gender: "Female"})
RETURN alice
• :Person
是标签(Label),表示节点类型。
• {name: "Alice", age: 28, gender: "Female"}
是属性(Properties)。
(2) 创建 Bob
CREATE (bob:Person {name: "Bob", age: 30, gender: "Male"})
RETURN bob
(3) 创建 Charlie
CREATE (charlie:Person {name: "Charlie", age: 25, gender: "Male"})
RETURN charlie
3. 创建关系(Relationships)
(1) Alice 认识 Bob
MATCH (a:Person {name: "Alice"}), (b:Person {name: "Bob"})
CREATE (a)-[:KNOWS]->(b)
RETURN a, b
• [:KNOWS]
表示 “认识” 关系(方向:Alice → Bob)。
(2) Bob 认识 Charlie
MATCH (b:Person {name: "Bob"}), (c:Person {name: "Charlie"})
CREATE (b)-[:KNOWS]->(c)
RETURN b, c
(3) Alice 和 Bob 结婚
MATCH (a:Person {name: "Alice"}), (b:Person {name: "Bob"})
CREATE (a)-[:MARRIED_TO]->(b)
RETURN a, b
• [:MARRIED_TO]
表示 “已婚” 关系(方向:Alice → Bob,通常婚姻关系是双向的,但这里按单向处理)。
4. 查询图谱
(1) 查看所有节点
MATCH (n) RETURN n
(2) 查看 Alice 的关系
MATCH (a:Person {name: "Alice"})-[r]->(other)
RETURN a, r, other
(3) 查看所有人物及其关系
MATCH (p1:Person)-[r]->(p2:Person)
RETURN p1, r, p2
• 在 Neo4j Browser 中,结果会以图形方式展示。
5. 添加更多属性(可选)
(1) 给 Alice 添加职业
MATCH (a:Person {name: "Alice"})
SET a.occupation = "Software Engineer"
RETURN a
(2) 给 Bob 添加爱好
MATCH (b:Person {name: "Bob"})
SET b.hobby = "Photography"
RETURN b
6. 删除关系或节点(可选)
(1) 删除 Alice 和 Bob 的婚姻关系
MATCH (a:Person {name: "Alice"})-[r:MARRIED_TO]->(b:Person {name: "Bob"})
DELETE r
(2) 删除 Charlie 节点(包括其关系)
MATCH (c:Person {name: "Charlie"})
DETACH DELETE c