neo4j中常用cql命令汇总(基础版)

发布于:2025-03-13 ⋅ 阅读:(21) ⋅ 点赞:(0)

@TOC

1.节点

1.1.添加节点

CREATE (n:user {id: "1898914289469677570", username: "张三", age: "22", phoneNumber: "13355536547"})

1.2.修改节点

MATCH (n:user {id: "1898914289469677570"}) SET n.username = "张三66", n.age = "66", n.phoneNumber = "13355536547", n.address = "***街道" RETURN n

2.关系

2.1.添加关系

  1. 根据已有节点的id属性来创建无属性关系
MATCH (a:user {id: "1897185063343259650"}), (b:school {id: "1897210602850418689"}) CREATE (a)-[r:study]->(b)
  1. 根据已有节点的id属性来创建有属性关系
MATCH (a:user {id: "1897185063343259650"}), (b:school {id: "1897210602850418689"}) CREATE (a)-[r:study{name:"学习",startDate:"2020-01-01",endDate:"2024-05-01"}]->(b)
  1. 使用新节点来创建有属性关系
CREATE (video1:YoutubeVideo1{title:"Action Movie1",updated_by:"Abc",uploaded_date:"10/10/2010"})
-[r:ACTION_MOVIES{rating:1}]->
(video2:YoutubeVideo2{title:"Action Movie2",updated_by:"Xyz",uploaded_date:"12/12/2012"}) 

2.2.修改关系

3.删除

3.1.删除节点的某个属性

删除学校中id为9的数据的address属性

MATCH (n:school) WHERE n.id = "9" REMOVE n.address RETURN n;

3.2.删除节点的所有关系

  • (n:school {id: “1”})-[r]-() 所有关系
  • (n:school {id: “1”})-[r]->() 节点指出去的关系
  • (n:school {id: “1”})<-[r]-() 指向节点的关系
MATCH (n:school {id: "1"})-[r]-() DELETE r;

3.3.删除节点的某个关系

MATCH (n:teacher {id: "1002"})-[r:teach]->() DELETE r;

3.4.删除节点以及关系

MATCH (n:school) WHERE n.id = "4" DETACH DELETE n;

4.查询

4.1.根据节点内部id查询节点

MATCH (n:school) WHERE id(n) = 22 RETURN n;

在这里插入图片描述


注:前面的cql查询,id都是指内部id;后面的cql中,id都是指自定义的id属性。

4.2.查询从a节点指出去的所有关系节点

MATCH (a:school {id: '7'})-[r]->(b) RETURN b;

4.3.查询指向a节点的所有关系节点

MATCH (a:student {id: '7'})<-[r]-(b) RETURN b;

4.4.查询与a节点存在关系、且距离为1的所有节点

MATCH (a:student {id: '7'})-[r]-(b) RETURN a, r, b;

4.5.查询与a节点存在关系、且距离小于等于3的所有节点

MATCH (a:student {id: '7'})-[r*1..3]-(b) RETURN a, r, b;