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
相关推荐
喜欢打篮球的普通人2 天前
MLIR快速入门
neo4j·mlir
ELI_He9992 天前
Neo4j 安装 APOC
neo4j
綮地3 天前
Neo4j 基本处理
neo4j
lzp07913 天前
Neo4j图数据库学习(二)——SpringBoot整合Neo4j
数据库·学习·neo4j
爱折腾的小码农3 天前
neo4j数据库桌面管理工具
数据库·neo4j
Wenhao.7 天前
Docker 安装 neo4j
docker·容器·neo4j
RDCJM8 天前
Neo4j图数据库学习(二)——SpringBoot整合Neo4j
数据库·学习·neo4j
机器不学习我也不学习10 天前
TensorFlow环境安装
neo4j
码农老李11 天前
vxWorks7.0 Simpc运行tensorflow lite example
人工智能·tensorflow·neo4j
小鸡吃米…1 个月前
TensorFlow 实现异或(XOR)运算
人工智能·python·tensorflow·neo4j