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

[Cypher] 레이블 상속

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

이번 시간에는 neo4j의 Multi label기능과 유사한 AgensGraph의 Label 상속에대해 다뤄보도록 한다.

 

Multi-label은 말그대로 하나의 노드에 여러개의 레이블을 부여하는 것을 의미한다. 이와 유사하게 Label 상속은 부모 레이블에 자식 레이블을 상속시켜 노드에 여러개의 레이블을 상속할 수 있다.

 

레이블을 상속하는 코드는 다음과 같다.

CREATE VLABEL childVlabelName inherits (parentVlabelName);
CREATE ELABEL childElabelName inherits (parentElabelName1, parentElabelName2);

위에서 inherits()는 자식 레이블을 상속하는 명령이다. 레이블을 생성할 때 레이블 이름 뒤에 해당 키워드와 함께 부모 레이블의 이름을 명시하면 레이블을 상속할 수 있다. 여기서 부모 레이블은 여러개가 될 수 있다.

 

Example

간단한 예시를 통해 레이블 상속을 이해해보도록 한다.

위와 같이 이름이 초코인 강아지와 나비인 고양이를 '동물'이라는 레이블에 상속시키도록 한다.

create vlabel 동물;
create vlabel 강아지 inherits (동물);
create vlabel 고양이 inherits (동물);

create (v:강아지 {이름:'초코'});
create (v:고양이 {이름:'나비'});

먼저 부모 레이블인 '동물'을 생성하고 자식 레이블인 '강아지', '고양이'를 '동물'레이블에 상속시키며 생성한다. 그리고 각 '강아지', '고양이' 레이블에 이름이 초코, 나비인 노드를 생성해준다.

결과를 확인해 보면 강아지 레이블에는 '초코', 고양이 레이블에는 '나비', 동물 레이블에는 둘 다 포함되어 있음을 알 수 있다.

이번 시간에는 레이블을 상속하는 방법에 대해 알아보았다.

레이블 상속은 잘 활용하면 복잡한 관계에서 다양하고 효율적인 그래프 모델링이 가능할 것이라 생각된다. 따라서, 추후에 활용방안을 더 고민하고 학습해보고 포스팅을 통해 공유해보도록 하겠다.

 

참고

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

 

문서 ⋆ Bitnine Global Inc.

문서 ⋆ Bitnine Global Inc.

bitnine.net

 

반응형