[neo4j]csv 데이터 property graph로 변환하기

Lempickaa·2025년 9월 8일

graph

목록 보기
3/10
post-thumbnail

Building Knowledge Graph - Chapter 4를 참고하여 작성하였습니다.

이번에는 csv를 포함한 벌크 데이터를 import 하고, 정의된 구조에 따라 테이블 데이터를 지식그래프로 변환하는 방법에 대해 소개한다.

시작하기 전에, 4개의 임시 csv 데이터를 생성하여야 한다.
(1) people.csv - Person 레이블 노드 정보이다.

:ID(Person),name, age
23,Rosa, 22
42,Karl, 34
55,Fred, 50

(2) friends.csv - :FRIEND 엣지에 대한 정보이다

:START_ID(Person),:END_ID(Person)
23,42 
42,23 
42,55 
55,42

(3) places.csv - Place 노드에 대한 정보이다

:ID(Place),city,country 
143,Berlin,Germany 
244,Seoul,Korea

(4) lives_in.csv - LIVES_IN 엣지에 대한 정보이다.

:START_ID(Person),:END_ID(Place),since
23,143,2020 
55,244 
42,244,1980

1. Graph Model 정의하기

data import 에 앞서, 변환할 데이터의 그래프 모델을 정의해야 한다. 메뉴에서 import를 클릭하면, 우측에 data model을 정의할 수 있는 공간이 나온다. 아래 사진과 같이 데이터모델을 그려준다.

  • 레이블 노드를 추가하려면 우측 상단에 'Add Node Label'을 클릭하면 된다.
  • 노드의 테두리쪽에 커서를 올리면 커서에 + 표시가 뜰 것인데, 이것을 클릭하고, 연결하고자 하는 노드로 끌어주면 엣지를 정의할 수 있다.
  • 노드와 엣지를 각각 클릭하면 레이블명 입력창이 뜬다.
  • 화면 우측에서 각 레이블 노드/엣지의 속성을 추가할 수 있다.

2. 파일 업로드하기

화면 좌측 상단에 'Files' 버튼을 클릭하면 파일을 추가할 수 있는 창이 나타난다. 여기에 아까 생성한 4개의 파일을 모두 올린다.

그리고 다시 각각의 노드와 엣지를 하나씩 클릭해보면, 우측에 파일을 선정하는 부분이 나타날 것이다.
여기서 각각 해당하는 파일을 선택해주고, properties에서는 'map from file' 버튼을 클릭한다. 속성 중, ID로 지정한 컬럼은 key값으로 설정한다. 모든 설정이 올바르게 되면, 노드/엣지에 녹색 체크표시가 나타난다.

모든 노드와 엣지에 녹색 체크표시가 뜨면 Run Import 버튼을 클릭한다.

정상적으로 import 가 완료되면 다음과 같은 팝업창이 뜬다.

여기서 show cypher 버튼을 클릭하면, 실제 그래프 변환에 사용된 cypher를 확인할 수 있다.

profile
무책임한 정보 추구

0개의 댓글