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的核心概念:带标签的节点、带类型的关系以及属性。你可以通过修改这些示例来创建自己的图形数据模型。

相关推荐
清水白石0084 天前
深入 Python 的底层世界:从 C 扩展到 ctypes 与 Cython 的本质差异全解析
c语言·python·neo4j
TGITCIC5 天前
讲透知识图谱Neo4j在构建Agent时到底怎么用(二)
人工智能·知识图谱·neo4j·ai agent·ai智能体·大模型落地·graphrag
TGITCIC6 天前
讲透知识图谱Neo4j在构建Agent时到底怎么用(一)
知识图谱·neo4j·ai agent·智能体·图搜索·ai智能体·graphrag
菜鸟冲锋号6 天前
从零搭建高可用GraphRAG系统:LangChain+Neo4j+FAISS+Qwen-7B实战指南
langchain·neo4j·faiss
一车小面包9 天前
Neo4j中的APOC
算法·neo4j
人工小情绪10 天前
python报错:AttributeError: module ‘numpy‘ has no attribute ‘object‘.
python·numpy·neo4j
Java后端的Ai之路11 天前
【神经网络基础】-TensorFlow Serving官方的生产级模型部署
神经网络·部署·tensorflow·neo4j·tensorflowserv
咋吃都不胖lyh19 天前
Neo4j 知识讲解与在线工具使用教程
neo4j
麦麦大数据20 天前
F056 知识图谱飞机问答系统
人工智能·flask·vue·问答系统·知识图谱·neo4j·飞机