카테고리 없음
Neo4j로 그래프DB(graphDB) 다루기: match 와 merge의 차이
Tech Signal
2021. 8. 12. 16:58
MATCH (n:User{name:'ossong', height:'130'}) MATCH (m:User{name:'lily'}) MERGE (n)-[r:SAME_CLASS]-(m)
키가 130인 ossong과 lily를 찾아서 SAME_CLASS로 관계를 이어주려했으나,
저기 가운데 보이는 ossong은 height이 130이 아니라 170으로 설정되어있다.
=> (no changes, no records). 변화 없음!
아마 MATCH가 아니라 MERGE (n:User{name:'ossong', height:'130'})로 했다면
노드가 없으니 새로 만들어서 lily와 연결이 되었을 것이다.
즉 MATCH와 MERGE의 차이는
MATCH: 조건에 맞는 노드나 엣지가 있는지 확인만 한다.
MERGE: 조건에 맞는 노드나 엣지가 없으면 그 조건대로 새로 만든다.