Neo4j 框架 初步简单使用(基础增删改查)

Neo4j 是一个高性能的、开源的图数据库。它将数据存储为图结构,其中节点表示实体,边表示实体之间的关系。这种图数据模型非常适合处理复杂的关系型数据,能够高效地进行关系查询和遍历。

Neo4j 的主要特性包括:

强大的图查询语言 Cypher:Cypher 是一种专门为 Neo4j 设计的声明式查询语言,使得查询和操作图数据变得直观和高效。

创建两个节点

cypher 复制代码
CREATE (p:Person {name: 'Likefr', age: 40}), (m:Person {name: 'Neo', age: 20})

查询节点

  • 查询name为Likefr的节点
cypher 复制代码
MATCH(p:Person{name: 'Likefr'}) return p
  • 查询指定标签 Person的所有节点
cypher 复制代码
MATCH(p:Person) return p

查询全部节点 (部分标签)

cypher 复制代码
MATCH (n)
RETURN n

关联节点关系

  • 1.创建节点时直接关联
cypher 复制代码
CREATE (p1:Person {name: 'MseDa'}), (p2:Person {name: 'Bob'})
CREATE (p1)-[:KNOWS]->(p2)
RETURN p1, p2
  • 2.将已有节点关联起来 (任何操作都是先把节点查出来在对其进行操作)
cypher 复制代码
MATCH(p1:Person {name: 'MseDa'}), (p2:Person {name: 'Bob'})
create(p1)-[:KNOWS]->(p2)

新增或更新节点属性

cypher 复制代码
MATCH (p:Person {name: 'MseDa'})
SET p.age = 31

更新关系属性

cypher 复制代码
MATCH (p1:Person {name: 'MseDa'})-[r:KNOWS]->(p2:Person)
SET r.since = 2022
RETURN r

基本上操作都是一样 先使用MATCH 定义一个别名 把数据捞出来 在进行操作

删除节点

cypher 复制代码
MATCH (p:Person {name: 'MseDa'})
DELETE p
  • 删除多个节点
cypher 复制代码
MATCH (p:Person {name: 'MseDa'}), (p2:Person {name: 'Alice2'})
DELETE p,p2
  • 需要注意的是 如果删除的节点与其他节点有关联将无法删除并会抛出异常

意思就是: 该节点它仍然和别的节点有关系。要删除该节点,必须先删除其关系

删除关系

cypher 复制代码
MATCH (p1:Person {name: 'MseDa'})-[r:KNOWS]->(p2:Person)
DELETE r

同时删除节点 和 关系

cypher 复制代码
MATCH (p1:Person {name: 'MseDa'})-[r:KNOWS]->(p2:Person)
DELETE p1, r, p2

查询节点的属性值

cypher 复制代码
create(el:lur{name: 'el',state: false})
match(el:lur{name: 'el'}) return el.state
相关推荐
蒋星熠1 小时前
TensorFlow与PyTorch深度对比分析:从基础原理到实战选择的完整指南
人工智能·pytorch·python·深度学习·ai·tensorflow·neo4j
好开心啊没烦恼11 小时前
图数据库:基于历史学科的全球历史知识图谱构建,使用Neo4j图数据库实现中国历史与全球历史的关联查询。
大数据·数据库·python·数据挖掘·数据分析·知识图谱·neo4j
vv_50113 小时前
Langchain+Neo4j+Agent 的结合案例-电商销售
人工智能·langchain·agent·neo4j
麦麦大数据3 天前
D018 vue+django 旅游图谱推荐问答系统|neo4j数据库|智能问答
vue.js·django·echarts·知识图谱·旅游·neo4j·智能问答
麦麦大数据5 天前
D017 vue+django+neo4j音乐知识图谱推荐可视化分析系统|带管理员角色+爬虫
vue.js·数据分析·django·知识图谱·neo4j·推荐算法
tianyuanwo5 天前
全面掌握 Py2neo 与 Neo4j:从容器化部署到高级应用实战
neo4j·图数据库·py2neo
nandao1586 天前
springBoot 集成Neo4j 实战演示
java·spring boot·neo4j
Hooray116 天前
protege+Neo4j+前端可视化知识图谱项目(教育领域)
人工智能·知识图谱·neo4j
2401_8979300617 天前
使用Docker轻松部署Neo4j图数据库
数据库·docker·neo4j
lucky_lyovo19 天前
Neo4j--登录及简单操作
数据库·neo4j