티스토리 뷰

Neo4j

Cypher - REMOVE & DELETE

joyHong 2020. 6. 15. 22:47

이번에는 데이터를 삭제하는 구문인 REMOVE와 DELTE에 대해서 살펴보도록 한다.

 

이 둘의 쓰임새는 약간 다르지만 금방 이해를 할 수 있을 것이라고 생각된다.

삭제 대상인 노드나 관계를 찾기 위해서는 MATCH 구문을 함께 사용한다.

 

먼저 REMOVE는 property나 label을 삭제하기 위해 사용한다.

 

1. 특정 노드를 찾아 label 삭제

MATCH (n{name:'Eskil'})
REMOVE n:Developer
RETURN n, labels(n)

Eskil의 Developer 레이블을 삭제함

 

2. 특정 노드간의 관계를 찾아 property를 삭제

MATCH (n{name:"Bob"})-[r:KNOWS]->(m{name:"Daniel"})
REMOVE r.since
RETURN n, r, m

KNOWS 관계의 property인 since를 삭제함

 

3. 특노드를 찾아 노드의 property를 삭제

MATCH (n)
WHERE n.name='Charlie'
REMOVE n.gender
RETURN n

 

이번에는 DELETE 구문을 사용하여 특정 노드나 관계를 삭제하도록 한다.

 

1.  특정 노드를 찾아 노드를 삭제

MATCH (n)
WHERE n.name="Tom"
DELETE n
RETURN n

 

2. 특정 노드 간의 관계를 찾아 그 관계를 삭제

MATCH (n)-[r:KNOWS]->(m)
WHERE n.name="Jane" AND m.name="Daniel"
DELETE r

 

3. 특정 노드를 찾아 그 노드와노드와 연결된 관계를 모두 삭제

MATCH (a{name:'Jane'})
DETACH DELETE a

 

이상으로 REMOVE와 DELETE 구문을 살펴보았다.

다음에는 MERGE에 대해서 살펴보도록 하겠다.

 


참조 :

https://neo4j.com/docs/cypher-manual/4.0/

 

'Neo4j' 카테고리의 다른 글

Cypher - MATCH (2)  (0) 2020.06.15
Cypher - MERGE  (1) 2020.06.15
Cypher - SET & CREATE  (0) 2020.06.15
Cypher - MATCH (1)  (0) 2020.06.15
Cypher - CREATE  (0) 2020.06.15
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함