기술문의

OntoBase2.0

OntoBase2.0 - 수십억건 이상의 트리플(온톨로지) 저장소입니다.

LiST의 창의적인 기술력을 체험해보세요
ontobase2.0
  • OntoBase2.0은 수십억 건 이상의 트리플로 구성된 온톨로지를 저장, 관리하기 위한 세계 최고 성능의 트리플 저장소입니다.

  • rdfs.rules, owl_low.rules, owl_middle.rules, owl_high.rules를 통해 단계별로 추론을 지원합니다.

  • 온톨로지(트리플) 변환기 OntoTrans2.0과 밀접하게 연동되어 시맨틱 웹과 Linked Data를 구현합니다.

Free Trial Manual

OntoBase2.0시스템 구조도

ontobase2.0 시스템 구조도

OntoBase2.0주요 특징

  • 레파지토리 서버 OntoBase2.0 Server - 레파지토리 서버

    메시지 기반의 프레임웍을 기반으로 대용량의 트리플 데이터를 저장하고 빠른 질의를 위한 색인을 구성하며, SPARQL 질의에 대한 요청을 처리하는 트리플 레파지토리로서 유연성과 안정성을 고려하여 다양한 부가 기능을 갖춘 서버

  • OntoBase2.0 Client API OntoBase2.0 Client API

    질의 명령 등을 수행할 수 있는 클라이언트 API 라이브러리로서 서버에 데이터를 추가/삭제 및 질의를 생성하고 요청하며, 결과를 받아 처리할 수 있는 로직 등이 포함

  • 레파지토리 서버 OntoBase2.0 Manager - 관리 도구

    OntoBase2.0 Server에 대한 관리 역할을 수행하는 웹 관리 도구로서 서버의 환경 설정 등에 대한 다양한 기능을 손쉽게 실행 가능하도록 지원
    - 트리플 변환기 - OntoTrans2.0에 대한 변환 규칙 적용 및 주기 등 관리

  • 레파지토리 서버 Reasoning

    rdfs.rules, owl_low.rules, owl_middle.rules, owl_high.rules를 통해 단계별 추론 지원

OntoBase2.0상세 특징

  • 그래프 전용 온톨로지 레파지토리

    RDF Triple 구조의 그래프 모델을 위한 RDF Triple 전용 레파지토리

    Triple 구조는 리소스를 Subject, Predicate, Object의 관계로 표현하는 방식

    RDF Triple 구조에 최적화되어 Triple을 저장, 관리 및 처리하는 시스템

  • 다중 분산 시스템

    호환성 및 확장성을 고려한 메시지 기반의 프레임웍 적용

    효율성과 안정성으로 고려한 Non-Blocking 방식의 네트워크 서버 적용

    로드 밸런싱을 고려한 시스템 구조 지원

    네트워크 처리 속도 향상을 위해 pooling 기법을 적용

    서버들의 관리와 모니터링 등을 위한 자체 내장 DB를 가지는 웹 관리 도구 지원

  • 대용량 데이터 기반 시스템

    대용량 트리플 처리를 위한 파일 기반 시스템

    다양한 플랫폼을 고려한 파일 분할 기법 적용

    트리플 데이터의 특성을 고려한 디스크의 용량을 최소화하는 최적화된 자료 저장 구조 적용

    대용량 데이터의 고속 벌크 로딩 모듈 지원

  • 추론 기능

    rdfs.rules, owl_low.rules, owl_middle.rules, owl_high.rules를 통해 단계별 추론 지원

  • 빠른 질의 모듈

    빠른 쿼리를 위한 최적화된 색인구조 적용

    다양한 멀티 쿼리에 대한 쿼리 옵티마이즈 로직 적용

    비동기식 I/O 처리

    커넥션 풀링 사용

    정교하게 최적화된 Low 레벨의 데이터 I/O 모듈 적용

  • 국제 표준 준수

    W3C의 RDF, RDFS, OWL 등 다양한 표준 지원

    저장된 트리플의 질의 처리를 위해 SPARQL 지원

  • 저장 및 관리에 최적화된 구조

    최소한의 디스크 I/O를 위해서 메모리 캐싱 기법

    속도 및 효율성을 고려한 Block 단위의 데이터 구조

    파일 로딩 및 변환기를 통한 로딩 등의 다양한 로딩 모듈 지원

    실시간 로딩 모듈 지원

  • 부가기능

    관리자를 위한 통합 웹 관리 모듈 제공

    다양한 로그 관리 및 장애 관리 모듈 제공

    데이터 복구 모듈 지원

OntoBase2.0 레퍼런스

Load Triple Test Result

그래프 예시 이미지
Data Set Triple Store LoadTime (Seconds) Triples Count
LUBM(10,0) A 102 sec 2,105,548
OntoBase2.0 75 sec
C 191 sec
E 284 sec
LUBM(50,0) A 550 sec 11,004,111
OntoBase2.0 544 sec
C 957 sec
E 1,465 sec
LUBM(100,0) A 1,126 sec 22,164,905
OntoBase2.0 1,243 sec
C 1,212 sec
E 3,248 sec
LUBM(200,0) A 2,653 sec 44,143,939
OntoBase2.0 2,851 sec
C 7,706 sec
E 6,801 sec

질의 성능

비교 제품군 실험 환경 대상 데이터 셋
· A사 / B사 / C사 / D사 / E사 / OntoBase 2.0 · CPU : Intel Xeon CPU E5420 @ 2.50GHz (x4)
· RAM : 16 GB
· OS : Red Hat Enterprise Linux ver.4.1.2-14 (Kernel ver.2.6.18-53.el5)
· JDK : JDK 1.6.0_14 (64bit) JVM Heap Memory Size 2GB (-Xmx2048m 옵션 적용)
· N-Triple 형식으로 변환한 LUBM(200, 0)
· Number of RDF Triples : 44,143,939

적재 성능 실험 결과

Data Set Repository Load Time (sec) 소수점이하 삭제 Triples 갯수
LUMB(200, 0) A 2,653.8897 44,143,939
OntoBase2.0 2,851.2438
B 46,981.4678
C 7,706.8855
D 73,135.4451
E 6,801.6746
적재 성능 실험 결과 - LUBM(200, 0)

LUBM(200, 0) 데이터셋 제품별 질의 응답 시간 비교

Query Query Response Time (sec) Results
A OntoBase2.0 B C D E
Q1 0.0071 0.1159 28.3877 2.2966 0.0325 0.0083 4
Q2 77.77 7.9497 28.3877 11.418 6.6544 7.4116 499
Q3 0.0022 0.0043 16.0319 5.9483 0.0046 0.0012 6
Q4 0.0109 0.0341 1.1211 0.4774 0.0067 0.0024 34
Q5 0.0287 0.0091 10.5965 8.4439 0.0117 0.0107 719
Q6 93.2902 13.5656 61.4625 22.3705 17.2766 24.2258 2,088.195
Q7 0.0052 0.0107 125.8662 5.1419 0.0068 0.0048 67
Q8 0.7145 4.1692 4.9875 4.3457 23.4224 0.1917 7.790
Q9 82.2652 43.5406 107.1003 40.3432 59.7981 12.1926 54,285
Q10 0.0019 0.0038 10.2367 8.2571 0.0027 0.0017 4
Q11 0.0101 0.059 0.5425 0.2057 0.0057 0.0038 224
Q12 1.761 0.1084 0.388 50.3141 0.0748 0.0037 15
Q13 0.0443 1.1517 20.9007 8.755 0.0225 0.0163 916
Q14 63.9761 9.7294 16.3162 11.1938 13.2567 18.5589 1,584,743
Avg. 22.8491 5.7465 29.5689 12.8222 8.6126 4.4738 266,964

LUBM(200, 0)데이터셋 제품별 QTPR비교

Query QTPR (ms)
A 사 OntoBase2.0 B 사 C 사 D 사 E 사
Q1 1.7725 28.985 2506.58 574.1475 8.125 2.0675
Q2 155.8517 15.9313 56.8891 22.8818 13.3355 14.853
Q3 0.3667 0.715 2671.975 991.3817 0.7683 0.2067
Q4 0.3191 1.0021 32.9726 14.0406 0.1971 34
Q5 0.04 0.0127 14.7378 11.7439 0.0162 0.0148
Q6 0.0447 0.0065 0.0294 0.0107 0.0083 0.0116
Q7 0.0779 0.1597 1878.5997 76.7448 0.1021 0.0719
Q8 0.0917 0.5352 0.6402 0.5579 3.0067 0.0246
Q9 1.5154 0.8021 1.9729 0.7432 1.1016 0.2246
Q10 0.475 0.95 2559.1675 2064.2675 0.6675 0.4125
Q11 0.0449 0.2633 2.4219 0.9182 0.0254 0.017
Q12 117.398 7.2253 25.8633 3354.274 4.9867 0.246
Q13 0.0484 1.2573 22.8173 9.5579 0.0245 0.0178
Q14 0.0404 0.0061 0.0103 0.0071 0.0084 0.0117
Avg. 19.8633 4.1323 698.1912 508.6626 2.3124 1.3037

준비 및 설치

01 시스템 요구 사항

1. Java version 6.0 이상의 JRE 혹은 JDK

2. Java가 설치되는 모든 OS 플랫폼

3. 시스템 메모리 최소 512M 이상

02 Install

1. 제공되는 Windows용 설치 파일을 실행합니다.

install1

2. 설치하려는 폴더의 경로를 입력하고 [다음]을 선택하면 설치가 진행 완료됩니다.

3. 설치가 완료되면 다음과 같이 시작프로그램에 등록됩니다.

install2

설정

1 설정 파일의 위치

1. %OntoBase2.0 설치 경로%\server\setting\system.properties

2 OntoBase2.0 설정

1. Serial Trial Version의 전용 라이센스 키입니다. 수정하거나 변경하지 마시고, 분실하였을 경우

2. System.alias 서버의 별칭을 설정합니다. 특이사항이 없으므로 수정하거나 삭제하지 마십시오.

3. System.main 서버의 Clone서버 여부를 설정합니다. Trial 버전에서는 Clone 서버를 제공하지 않으므로 사용자는 이 항목을 수정하거나 삭제하지 마십시오.

4. System.ip OntoBase2.0 Serve가 바인딩할 IP주소를 입력합니다. 기본적으로 localhost로 설정하면 server가 IP를 찾아 바인딩하며, Dual Lan을 사용하는 컴퓨터에서는 해당 IP를 직접 입력해야 합니다.

5. System.port Repository Server에 대한 시스템 Port 입니다. 특이사항이 없는 한 디폴트 포트번호 사용을 권합니다.

6. System.manager.port Trial Version의 전용 라이센스 키입니다. 수정하거나 변경하지 마시고, 분실하였을 경우 관리자에게 요청하시면 새로운 Trial Version의 라이선스 키를 발급해 드립니다.

3 DataBase 설정

1. Database.connect.port 데이터베이스 구동 포트입니다. 특이사항이 없는 한 디폴트 포트번호 사용을 권합니다.

운용

1 서버 실행 스크립트 위치

/OntoBase2.0 설치 경로 /server/bin/

2 서버 시작

Startup.bat 실행 스크립트를 실행합니다.

시작메뉴 프로그램에서 OntoBase2.0 Startup 을 실행 합니다.

스토어가 시작되면 성공적으로 서버가 실행 되었음을 알 수 있습니다.

서버시작

3 서버 종료

1. Shutdown.bat 싱행 스크립트를 실행 합니다.

2. 시작메뉴 프로그램에서 OntoBase2.0 shutdown 을 실행 합니다.

RDF Triple data load

1 File Build

registiFileBuild.bat 실행 스크립트를 편집기를 이용해 편집합니다.

사용자는 다음 항목에 대해서 수정/편집을 합니다.

1. IP registiFileBuild.bat 실행 스크립트를 편집기를 이용해 편집합니다.

2. PORT OntoBase 2.0 서버의 Repository 할당 포트를 입력합니다. (Default : 9999)

3. DIR Owl 혹은 RDF문서와 같이 Triple 정보 File을 가지고 있는 폴더의 전체경로를 입력합니다.

OntoBase2.0 Server 가 입력한 DIR 경로를 직접 엑세스 합니다.

4. RUNTYPE BUILD Type 을 설정 합니다.

TYPE-1 : 스토어글 초기화 하고 Dir 경로의 문서를 새롭게 Build 합니다.

TYPE-2 : 기존의 Store에 추가적으로 Build합니다.

TYPE-3 : 문서에 있는 Triple을 스토어로부터 삭제합니다.

Client API

1 Client API 설치 위치

/OntoBase2.0 설치 경로/client/

2 Client API 폴더 구성

1. Doc : Client API java document

2. Example : Client API Sample java code

3. Lib : Client API 핵심 라이브러리

3 개요

Triple 데이터의 추가, 삭제 및 SPARQL 질의를 실행할 수 있는 라이브러리로 Java API형태로 구성되어 있습니다.

OntoBase2.0 Repository Server에 SPARQL 질의를 실행하고 결과를 받습니다.

SPARQL 질의의 4가지 형태인 SELECT, ASK, DESCRIBE, CONSTRUCT 형태를 지원합니다.

OntoBase2.0의 쿼리 엔진은 ARQ 2.6.0을 바탕으로 설계되었습니다.

4 Example

본 예제는 공개용 Trial Version을 기준으로 작성되었습니다. 상용버젼은 매뉴얼을 참고해 주세요.

1. Store의 초기화

서버시작

2. Triple의 추가

서버시작

3. Triple의 삭제

서버시작

4. File add build

서버시작

5. Select query

서버시작

6. Construct query

서버시작

Trial Edition 특징

  • RDF Triple 구조의 그래프 모델을 위한 RDF Triple 전용 레파지토리

    Triple 구조는 리소스를 Subject, Predicate, Object의 관계로 표현하는 방식

    RDF Triple 구조에 최적화되어 Triple을 저장, 관리 및 처리하는 시스템

구분 정식 Trial
트리플 수동 빌드 O O
트리플 자동 빌드 O O
SPARQL 처리 O O
분산처리 O O
Client API O O
Client Console O O
추론 O X
설치환경 Windows 계열 , 리눅스 계열 Windows 계열
관리환경 O O
서비스 운영 O X