N_15. TBC에서 RDF 파일을 TDB에 임포트하기
TDB는 Jena 컴포넌트 중 하나로서 RDF 형태의 데이터를 저장하고 질의를 하기 위해 사용한다.
https://jena.apache.org/documentation/tdb/
처리하고 하는 파일의 용량이 커지면 TBC에서 작업을 하기에 버거워지는 것을 경험할 수 있다. 그럴 때 RDF파일을 TDB에 임포트하여 사용할 수 있겠다.
여기서는 간단히 파일을 TDB에 임포트하고 질의를 해보는 것을 해보겠다.
먼저 임포트할 RDF 파일은 이전 포스팅에서 실행한 결과를 사용하겠다.
https://joyhong.tistory.com/89
그럼 먼저 기본이 되는 TBC의 프로젝트를 생성 혹은 선택하고 해당 프로젝트를 선택 후 마우스 우클릭하여 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