Neo4j 超级简单关系图创建示例

示例场景:创建一个小型社交网络

1. 创建节点和关系(一次性执行)

cypher 复制代码
// 创建3个人物节点
CREATE (alice:Person {name: 'Alice', age: 28})
CREATE (bob:Person {name: 'Bob', age: 30})
CREATE (charlie:Person {name: 'Charlie', age: 35})

// 创建公司节点
CREATE (google:Company {name: 'Google', founded: 1998})
CREATE (microsoft:Company {name: 'Microsoft', founded: 1975})

// 建立关系
// 人物关系
CREATE (alice)-[:KNOWS {since: 2015}]->(bob)
CREATE (bob)-[:KNOWS {since: 2016}]->(charlie)
CREATE (alice)-[:KNOWS {since: 2018}]->(charlie)

// 工作关系
CREATE (alice)-[:WORKS_AT {since: 2020}]->(google)
CREATE (bob)-[:WORKS_AT {since: 2018}]->(microsoft)
CREATE (charlie)-[:WORKS_AT {since: 2010}]->(microsoft)

2. 查询关系图

cypher 复制代码
// 查询所有人物及其关系
MATCH (p:Person)-[r]-(other)
RETURN p, r, other

3. 可视化查询结果

执行上述查询后,Neo4j浏览器会自动将结果可视化为图形,你会看到:

  • 3个Person节点(Alice、Bob、Charlie)
  • 它们之间的KNOWS关系
  • 每个人与公司的WORKS_AT关系

4. 更简单的分步创建方式

如果你想要一步步创建:

cypher 复制代码
// 第一步:只创建人物
CREATE (alice:Person {name: 'Alice'})
CREATE (bob:Person {name: 'Bob'})
CREATE (charlie:Person {name: 'Charlie'})

// 第二步:创建人物之间的关系
MATCH (a:Person {name: 'Alice'}), (b:Person {name: 'Bob'})
CREATE (a)-[:KNOWS]->(b)

MATCH (a:Person {name: 'Alice'}), (c:Person {name: 'Charlie'})
CREATE (a)-[:KNOWS]->(c)

// 第三步:创建公司和工作关系
CREATE (google:Company {name: 'Google'})
MATCH (a:Person {name: 'Alice'}), (g:Company {name: 'Google'})
CREATE (a)-[:WORKS_AT]->(g)

提示

  1. 在Neo4j浏览器中:

    • 节点标签(如:Person)会显示为不同颜色
    • 关系类型(如[:KNOWS])会显示为连接线
    • 属性(如{name: 'Alice'})可以通过鼠标悬停查看
  2. 你可以点击节点展开或折叠相关关系

  3. 要清空数据库重新开始(仅用于开发环境):

cypher 复制代码
MATCH (n)
DETACH DELETE n

这个简单示例展示了Neo4j的核心概念:带标签的节点、带类型的关系以及属性。你可以通过修改这些示例来创建自己的图形数据模型。

相关推荐
醉挽清风7831 天前
服务器安装neo4j和jupyter
服务器·jupyter·neo4j
yeezyshappycodes4 天前
neo4j连接失败问题
neo4j
迷藏4945 天前
**发散创新:基于 Rust的模型保护机制设计与实践**在人工智能快速发
java·人工智能·python·rust·neo4j
kimi-2225 天前
Neo4j 可视化工具和产品
neo4j
kimi-2225 天前
Neo4j CQL 核心命令与操作
数据库·neo4j
heimeiyingwang7 天前
【架构实战】图数据库Neo4j在社交系统中的应用
数据库·架构·neo4j
谢白羽7 天前
图数据库语义搜索性能实测:Neo4j vs FalkorDB vs Memgraph,谁的向量检索最快?
数据库·neo4j·memgraph·falkordb
星马梦缘8 天前
cannot import name ‘deserialize‘ from ‘tensorflow.keras.models‘ 的解决方案
tensorflow·keras·neo4j
天天进步201512 天前
探究 Graphiti 在 Neo4j 之上的语义搜索与图遍历优化
人工智能·neo4j
霸道流氓气质12 天前
SpringBoot集成Neo4j入门流程及示例代码
spring boot·后端·neo4j