본문 바로가기
GDB & Cypher/간단한 사용법

[Cypher] 레이블 생성&삭제하기(CREATE/DROP LABEL)

by 열정주니어 2023. 1. 6.
반응형

GDB를 사용하기 위해서는 그래프를 생성하고, 레이블을 생성한 후, 노드&엣지를 생성해야 한다.

 

이전 포스팅에서 그래프를 생성하고 삭제하는 방법까지 알아보았다.

Cypher - 그래프 생성&삭제하기

 

Cypher - 그래프 생성&삭제하기(CREATE/DROP GRAPH)

GDB와 Cypher에대해 간단하게 알아보았으니 이제 Cypher를 사용하여 GDB를 다루는 법을 알아보자. GDB와 Cypher가 무엇인지 모르는분들은 이전 포스팅을 참고하길 바란다. GDB란?

jobdahan-tech.tistory.com

이번 포스팅에서는 레이블을 생성하고 삭제하는 방법을 알아본다.

 

레이블 생성하기(CREATE LABEL)

이전 포스팅에서 언급한 바와 같이 GDB는 국내 유일 GDB 기업 비트나인의 AgensGraph를 사용하고, 결과를 보기위한 클라이언트 애플리케이션은 PostgreSQL의 Pgadmin을 사용하도록 한다.

 

레이블을 생성하는 쿼리는 다음과 같다.

CREATE VLABEL vlabel_name;
CREATE ELABEL elabel_name;

CREATE VLABEL 노드, CREATE ELABEL 엣지 생성하는 명령이며  해당 명령과 함께 생성할 노드, 엣지 레이블의 이름(vlabel_name, elabel_name)을 함께 명시하여 사용한다.

 

레이블 삭제하기(DROP LABEL)

레이블을 만들었으니 이제 삭제하는 방법에 대해 알아본다.

 

레이블을 삭제하는 쿼리는 다음과 같다.

DROP VLABEL vlabelName;
DROP ELABEL elabelName;

DROP VLABEL vlabelName CASCADE;

DROP VLABEL/ELABEL는 레이블을 삭제하는 명령이다. 각 명령은 삭제할 VLABEL/ELABEL의 이름을 함께 명시하여 사용한다.

 

상속관계에 있는 VLABEL은 직접적으로 삭제가 되지 않으므로 CASCADE를 사용하여 의존관계의 모든 데이터를 삭제해야 한다. 노드의 레이블을 상속하는 것에 대한 내용은 추후에 다시 다뤄보도록 하며 다음으로 예시를 살펴보자. 

 

예시

이전 포스팅에서 GDB 설명 포스팅의 예시 그래프를 이용하여 sns_network라는 이름의 그래프를 만들었고, 다음으로 레이블을 생성해야 한다.

예시 그래프

위의 그래프에서 노드의 정보 사용자 정보이고 엣지의 정보 팔로우 정보이므로 노드의 레이블(VLABEL) n_user, 엣지의 레이블(ELABEL) e_follow라고 정의한다.

CREATE VLABEL n_user;
CREATE ELABEL e_follow;

위와 같이 VLABEL, ELABEL을 생성하는 쿼리를 실행하면 결과는 다음과 같다.

작성한 쿼리를 선택한 후 1번의 실행 버튼을 누르면 밑에 쿼리가 성공적으로 실행됨을 알려준다. 

 

다음으로 DB를 새로고침 하면 n_user라는 노드 레이블과 e_follow라는 엣지 레이블이 생성된 것을 확인할 수 있다.

지금까지 n_user, e_follow라는 VLABEL, ELABEL을 sns_network그래프에 만들었다.

 

이를 DROP VLABEL/ELABEL을 이용하여 삭제해주도록 한다.

DROP VLABEL n_user;
DROP ELABEL e_follow;

마찬가지로 위와 같이 레이블을 삭제하는 쿼리를 작성한 후 실행한다.

작성한 쿼리를 선택하여 1번 버튼으로 실행하면 아래의 메시지를 통해 레이블이 삭제된 것을 알 수 있고, 2번을 통해 DB를 새로고침 하면 다음과 같이 n_user, e_follow가 목록에서 사라진 것을 알 수 있다.

이것으로 이번 포스팅에서는 Cypher를 이용하여 레이블을 생성하고 삭제하는 방법을 알아보았다.

 

다음 포스팅에서는 노드&엣지를 생성하고 삭제하는 방법에 대해 알아보도록 한다.

 

참고

https://bitnine.net/ko/documentation/ (아젠스그래프 개발자 메뉴얼 가이드)

 

문서 ⋆ Bitnine Global Inc.

문서 ⋆ Bitnine Global Inc.

bitnine.net

 

반응형