@TOC
1.节点
1.1.添加节点
sql
CREATE (n:user {id: "1898914289469677570", username: "张三", age: "22", phoneNumber: "13355536547"})
1.2.修改节点
sql
MATCH (n:user {id: "1898914289469677570"}) SET n.username = "张三66", n.age = "66", n.phoneNumber = "13355536547", n.address = "***街道" RETURN n
2.关系
2.1.添加关系
- 根据已有节点的id属性来创建无属性关系
sql
MATCH (a:user {id: "1897185063343259650"}), (b:school {id: "1897210602850418689"}) CREATE (a)-[r:study]->(b)
- 根据已有节点的id属性来创建有属性关系
sql
MATCH (a:user {id: "1897185063343259650"}), (b:school {id: "1897210602850418689"}) CREATE (a)-[r:study{name:"学习",startDate:"2020-01-01",endDate:"2024-05-01"}]->(b)
- 使用新节点来创建有属性关系
sql
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属性
sql
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]-() 指向节点的关系
sql
MATCH (n:school {id: "1"})-[r]-() DELETE r;
3.3.删除节点的某个关系
sql
MATCH (n:teacher {id: "1002"})-[r:teach]->() DELETE r;
3.4.删除节点以及关系
sql
MATCH (n:school) WHERE n.id = "4" DETACH DELETE n;
4.查询
4.1.根据节点内部id查询节点
sql
MATCH (n:school) WHERE id(n) = 22 RETURN n;

注:前面的cql查询,id都是指内部id;后面的cql中,id都是指自定义的id属性。
4.2.查询从a节点指出去的所有关系节点
sql
MATCH (a:school {id: '7'})-[r]->(b) RETURN b;
4.3.查询指向a节点的所有关系节点
sql
MATCH (a:student {id: '7'})<-[r]-(b) RETURN b;
4.4.查询与a节点存在关系、且距离为1的所有节点
sql
MATCH (a:student {id: '7'})-[r]-(b) RETURN a, r, b;
4.5.查询与a节点存在关系、且距离小于等于3的所有节点
sql
MATCH (a:student {id: '7'})-[r*1..3]-(b) RETURN a, r, b;