N:::만지작 거리기

N_15. TBC에서 RDF 파일을 TDB에 임포트하기

joyHong 2019. 12. 11. 01:20

TDB는 Jena 컴포넌트 중 하나로서 RDF 형태의 데이터를 저장하고 질의를 하기 위해 사용한다.

https://jena.apache.org/documentation/tdb/

 

Apache Jena - TDB

TDB TDB is a component of Jena for RDF storage and query. It support the full range of Jena APIs. TDB can be used as a high performance RDF store on a single machine. This documentation describes the latest version, unless otherwise noted. This is the docu

jena.apache.org

처리하고 하는 파일의 용량이 커지면 TBC에서 작업을 하기에 버거워지는 것을 경험할 수 있다. 그럴 때 RDF파일을 TDB에 임포트하여 사용할 수 있겠다.

여기서는 간단히 파일을 TDB에 임포트하고 질의를 해보는 것을 해보겠다.

먼저 임포트할 RDF 파일은  이전 포스팅에서 실행한 결과를 사용하겠다.

https://joyhong.tistory.com/89

 

N_14. CONSTRUCT 를 이용한 RDF 파일 생성

SPARQL 질의문에는 SELECT 이외에도 ASK, DESCRIBE, CONSTRUCT 구문이 있다. 지난 포스팅에서 엑셀 데이터를 스프레드시트 온톨로지로 임포트하는 방법에 대해 소개하였다. https://joyhong.tistory.com/88 N_13...

joyhong.tistory.com

library.ttl
1.30MB

그럼 먼저 기본이 되는 TBC의 프로젝트를 생성 혹은 선택하고 해당 프로젝트를 선택 후 마우스 우클릭하여 Import를 선택한다.

프로젝트 선택 후 Import 클릭

임포트를 선택하여 나오는 화면에서 Import RDF Files into a new TDB를 선택하고 Next 버튼을 누른다.

Next 를 선택하면 나오는 화면에서 

Target file name, Target graph URI, RDF Files to import 를 지정한다.

모든 입력을 마치고 Finish를 누르면 임포트가 완료된다.

 

임포트가 성공하면 처음에 선택했던 프로젝트 안에 ~.tdb 파일과 Target file name에 입력한 이름.tdb.data 폴더가 생성된 것을 확인할 수 있다.

폴더 안에는 TDB에서 사용하는 파일 인덱스 구조로 여러개의 파일이 생성되게 된다.

그럼 이제 ~.tdb 파일(여기서는 firstTDB.tdb-library-.tdb) 을 더블클릭하여 TBC로 열어보자.

TDB에 임포트한 파일의 내용이 그대로 들어와 있는 것을 확인할 수 있다.

이제부터 이 파일의 내용에 새로운 인스턴스를 추가하거나 변경, 삭제를 하고 저장을 하면 TDB에 그대로 반영되게 된다.

반영이 되는지 의심이 들기 때문에 안하고 지나갈 수는 없다. 

그래서 값을 변경하거나 추가/삭제를 해보도록 하자.

 

이번에는 TBC에서 바로 변경하기보다는 SPARQL로 CRUD를 해보겠다.

TBC의 SPARQL 탭에서 트리플 하나를 삽입하는 질의를 생성한다.

질의문을 입력하고 Shift+Enter 혹은 실행 버튼을 눌러 실행시키면 Change History 탭에 SPARQL Update가 수행되었다는 메시지가 나온다.

그럼 Ctrl+S 를 눌러 저장을 하고 SELECT 문으로 실제 있는지 확인해보자.

INSERT로 들어가 있는 내용이 검색되는 것을 확인할 수 있다.

 

그럼 또 다시 의문이 들 수도 있다. 이게 TBC에서만 되는것인가?

TDB에 바로 접근해서 사용할 수도 있나?

이런 의문을 해소하기 위해 Java API로 TDB에 접근하여 결과를 확인해보도록 하겠다.

그러기 위해서는 firsTDB.tdb.data 폴더의 전체 경로와 Base URI를 기억하고 있어야 한다

여기에서는 

폴더 경로는 D:\workspace\TBC\MyProjectTDB\firstTDB.tdb.data

Base URI는 http://joyhong.tistory.com/library/

를 사용하고 있다.

 

Java API로 TDB에 접근하여 질의를 하는 것은 다음 포스팅에서 살펴보겠다.

https://joyhong.tistory.com/91

 

O_4. TDB 에 적재된 내용 확인

TBC에서 RDF 파일을 TDB에 임포트 하는 과정을 지난 포스팅에서 이야기했었다. https://joyhong.tistory.com/90 N_15. TBC에서 RDF 파일을 TDB에 임포트하기 TDB는 Jena 컴포넌트 중 하나로서 RDF 형태의 데이터를..

joyhong.tistory.com