N:::만지작 거리기

N_11. 온톨로지 모델에 인스턴스 생성하기 - TSV

joyHong 2019. 12. 8. 02:08

온톨로지는 스키마 레벨과 인스턴스 레벨로 구분되어 지는데

스키마 레벨은 보통 온톨로지 모델링 도구를 사용하여 모델을 생성한다.

DB로 이야기하면 데이터베이스를 설계하여 만들어낸 결과가 온톨로지 모델 즉 스키마 레벨로 이야기할 수 있다.

그리고 실제 데이터베이스 값들은 미리 생성한 테이블에 생성을 하게 되는데

온톨로지에서도 마찬가지로 온톨로지 모델에 맞춰 인스턴스를 생성하게 된다.

 

이번 글에서는 온톨로지 모델이 존재하고

그 모델에 맞춰 인스턴스를 생성하고자 할 때

일정한 구조에 맞춰 데이터를 입력하고 그 데이터를 인스턴스로 변환하여 생성하고자 할 때 유용한 방법이다.

일정한 구조는 여기에서 TSV 형식인데, 우리가 보통 엑셀로 작업하여 TSV로 변환하여 사용하면 되기 때문에

엑셀에 데이터를 입력한다고 생각해도 무방하다.

 

여기에서 사용하는 모델은 아래의 포스팅에서 다운받을 수 있다.

https://joyhong.tistory.com/84

 

N_10. TopBraid Composer 사용법

TopBraid Composer(이하 TBC)는 온톨로지 모델링을 하기 위해 사용하는 도구이다. https://joyhong.tistory.com/81 N_8. TopBraid Composer 탑브레이드 컴포져(TBC)는 미국에 있는 탑쿼트란트라는 회사에서 만든..

joyhong.tistory.com

모델에 맞춰 엑셀로 데이터를 입력하여 RDF 형식으로 변환할 데이터가 구축되어 있다고 가정하고 포스팅을 시작한다.

실습데이터.xlsx
0.02MB

포스팅에서 사용할 데이터는 위의 엑셀과 같다.

 

사용자가 엑셀로 데이터를 구축하고 이 데이터를 온톨로지 모델에 맞춰 RDF 형식으로 변경하려면

트리플 변환이라는 과정을 거쳐야 하는데

TBC에서는 이 기능을 제공하고 있다. (이 기능은 FE 버전은 제공하지 않는 것으로 알고 있다.)

정확히 이야기하면 이 기능은 TSV 형식을 RDF 형식으로 변경하여 import 하는 기능이다.

 

따라서 위의 엑셀 파일을 TSV 형식으로 변경하여야 한다.

여기서 해결해야 하는 부분이 인코딩 문제가 있는데

가장 완벽한 해결 방법으로는 TBC 안에서 tsv형식의 txt 파일을 생성하고 

그 txt 파일을 임포트 하는 방식이다.

 

1. TSV 형식의 TXT 파일 생성

TBC에서 새로운 파일을 txt 형태로 생성한 후 엑셀의 내용을 복사하여 붙여넣기를 하여 데이터를 준비한다.

이 때 엑셀 시트 하나당 하나의 txt 가 만들어져야 한다.

프로젝트는 이미 만들어져 있다고 가정하고

네비게이터 영역에서 해당 프로젝트를 선택하고 마우스 우클릭하여 New > File을 선택한다.

그 다음 파일명을 입력하고 Finish 버튼을 클릭하면 하나의 txt 파일이 생성된다.

 

엑셀의 내용을 TSV형식의 TXT로 생성하기

위의 과정 처럼 TBC 안에서 txt 파일을 생성한 후 생성된 txt 파일에 엑셀의 내용을 복사하여 붙여넣으면 완료가 된다.

복사하여 붙여넣기를 하게 되면 자동으로 탭으로 구분이 되어지기 때문에 

혹시 엑셀의 셀 내용 중에 탭 구분자가 있다면 미리 치환을 할 필요가 있겠다.

 

2. TSV 파일 임포트

 

TBC 프로젝트 안에 tsv 파일이 만들어졌다면 온톨로지 모델 파일을 한번 선택해 놓고, 임포트할 tsv 파일에서 마우스 우클릭을 한다. (온톨로지 모델 파일도 TBC 프로젝트 안에 존재한다고 가정한다.)

이 의미는 선택한 온톨로지 모델 파일에  tsv 파일을 임포트 하겠다는 의미이다.

Import를 선택 후 TopBraid Composer > Import Tab-Delimited Spreadsheet File 을 선택하고 Next 버튼을 클릭한다.

온톨로지 모델에 tsv 파일 임포트하는 과정

다음에 나오는 화면에서 하단의 체크 박스를 선택하고 인코딩을 UTF-8로 선택한다.

만약 첫번째 텍스트 박스에 표기된 내용이 임포트할 tsv 파일이 아니라면 바로 밑의 버튼을 선택하여 대상 tsv 파일을 선택하면 된다.

인코딩 선택까지 완료되면 Next 버튼을 클릭하고 다음에 나오는 선택에서는 특수문자에 대한 처리인데 원하는 것을 선택한 후 다시 Next 버튼을 선택한다.

TSV를 임포트 하기 위한 설정

여기까지 에러가 없을 경우에는 스프레드시트 미리보기 창이 나오게 되는데

TSV의 값과 온톨로지 모델 간의 매핑을 미리보는 화면이다.

이 예제에서는 TSV의 헤더명을 모델의 프로퍼티명에 해당되는 이름으로 맞춰놓았기에 아무런 붉은 체크 없이 완벽하고 나오고 있는 것이다.

만약 붉은 체크 또는 X 표시가 보이면 값을 바꿔줘야 한다.

TSV 임포트 완료

임포트가 완료되면 해당 온톨로지 모델에 실제 인스턴스값이 추가되어 있는 것을 확인할 수 있다.

 

인스턴스가 생성된 화면
course.txt
0.00MB
professor.txt
0.00MB
student.txt
0.00MB
take.txt
0.00MB

예시에서 사용한 TSV 파일은 위의 파일과 같다.

 


다음에는 온톨로지 모델이 없는 경우에 TSV 데이터를 바로 RDF 형식으로 만드는 방법에 대해서 살펴볼 예정이다.