KR20210070854A - 온톨로지 모델링 장치 및 방법 - Google Patents

온톨로지 모델링 장치 및 방법 Download PDF

Info

Publication number
KR20210070854A
KR20210070854A KR1020190161094A KR20190161094A KR20210070854A KR 20210070854 A KR20210070854 A KR 20210070854A KR 1020190161094 A KR1020190161094 A KR 1020190161094A KR 20190161094 A KR20190161094 A KR 20190161094A KR 20210070854 A KR20210070854 A KR 20210070854A
Authority
KR
South Korea
Prior art keywords
cell
ontology
mapping
cell value
values
Prior art date
Application number
KR1020190161094A
Other languages
English (en)
Other versions
KR102265304B1 (ko
Inventor
김영후
김수경
안기홍
김성은
백귀현
Original Assignee
주식회사 렙딥
주식회사 아이서티
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 렙딥, 주식회사 아이서티 filed Critical 주식회사 렙딥
Priority to KR1020190161094A priority Critical patent/KR102265304B1/ko
Publication of KR20210070854A publication Critical patent/KR20210070854A/ko
Application granted granted Critical
Publication of KR102265304B1 publication Critical patent/KR102265304B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/36Creation of semantic tools, e.g. ontology or thesauri
    • G06F16/367Ontology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/80Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
    • G06F16/81Indexing, e.g. XML tags; Data structures therefor; Storage structures

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Animal Behavior & Ethology (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Machine Translation (AREA)

Abstract

본 문서에 개시되는 일 실시 예에 따른 온톨로지 모델링 장치는, 메모리; 테이블 생성자; 셀값 삽입기; 및 매퍼를 포함하고, 상기 매퍼는, 가상 변환 테이블의 셀과 온톨로지 속성 간의 매핑 정보를 정의한 매핑 문서를 상기 메모리에 저장하고, 상기 테이블 생성자를 통해 상기 매핑 문서에 따라 RDB(rational database), 웹 서비스 및 오픈 API 중 적어도 하나에 포함되어 있는 반정형 데이터셋에 기반하여 상기 가상 변환 테이블을 생성하고, 상기 셀값 삽입기를 통해 상기 매핑 문서에 따라 상기 가상 변환 테이블의 행과 열이 교차하는 각 셀들로부터 셀 값을 획득하고, 상기 셀값 삽입기를 통해 상기 매핑 문서에 따라 상기 획득된 셀 값을 가공하고, 상기 가공된 셀 값을 온톨로지 지식베이스로 변환할 수 있다.

Description

온톨로지 모델링 장치 및 방법{Device and Method for Modeling Ontology}
본 문서에서 개시되는 다양한 실시 예들은, 온톨로지 지식베이스 구축 기술과 관련된다.
많은 기관과 기업들은 각자의 서비스에 맞는 플랫폼들을 구축하고, 구축된 플랫폼들은 오픈 API를 통해 데이터(또는, 정보)를 개방하고 서로 간의 서비스를 이용하도록 지원할 수 있다. 그런데, 플랫폼 별 데이터 모델은 독립된 도메인(soli domain)을 통해 특정 서비스에 의존적인 정보를 저장하고, 각 개체의 기본 키와 외래 키를 간접적으로 연결시켜 개체들 간의 관계를 명세하는 관계형 데이터베이스(RDB: relational database)에 기반하였다. 이에, 플랫폼 별 데이터 모델은 연결성과 의미 전달성이 부족하고 중복성과 이질성이 있는 정형화되지 않은 데이터(이하, “반정형 데이터”로 언급됨)를 포함할 수 있다.
각 RDB들을 체계적으로 표현 가능한 온톨로지 데이터 모델(또는, 온톨로지 지식베이스)로 변환하는 기술들이 연구되고 있다. 온톨로지 데이터 모델들은 통합 도메인을 기반으로 메타데이터들을 재정의하여 데이터 간의 연관성을 표현함에 따라, 플랫폼 별 데이터들의 공유와 재사용성을 높일 수 있다.
하지만, RDB는 반정형 데이터를 포함하므로, 온톨로지 지식베이스로 바로 변환될 수 없고, 상기 변환 이전에 부가 처리를 필요로 한다. 예를 들어, 매핑 언어가 RDB들의 자원들과 관계들을 표현함에 따라 RDB를 RDF(resource description framework) 데이터로 변환하고, RDF가 온톨로지 지식베이스로 변환될 수 있다. 이와 관련하여, RDF에 정의된 자원들과 관계들은 RDFS(RDF schema)를 통해 계층화 및 분류되고, OWL(Web ontology language)이 RDFS에 의해 계층화 및 분류된 자원들을 온톨로지 어휘들을 이용하여 온돌로지 모델로 표현(또는, 온톨로지 지식베이스로 변환)할 수 있다.
매핑 언어 R2RML은 RDB를 RDF 데이터로 매핑하기 위한 거의 모든 사양들을 정의할 수 있다. 하지만, R2RML은 RDB 테이블 간 관계가 복잡할수록 작성하기 어려우므로, 반정형 데이터를 포함하는 RDB의 자원 간의 관계를 R2RML에 기반하여 표현하기는 어려울 수 있다.
본 문서에 개시되는 다양한 실시 예들은 반정형 데이터셋을 용이하게 온톨로지 지식베이스로 변환할 수 있는 온톨로지 모델링 장치 및 방법을 제공할 수 있다.
본 문서에 개시되는 일 실시 예에 따른 온톨로지 모델링 장치는, 메모리; 테이블 생성자; 셀값 삽입기; 및 매퍼를 포함하고, 상기 매퍼는, 가상 변환 테이블의 셀과 온톨로지 속성 간의 매핑 정보를 정의한 매핑 문서를 상기 메모리에 저장하고, 상기 테이블 생성자를 통해 상기 매핑 문서에 따라 RDB(rational database), 웹 서비스 및 오픈 API 중 적어도 하나에 포함되어 있는 반정형 데이터셋에 기반하여 상기 가상 변환 테이블을 생성하고, 상기 셀값 삽입기를 통해 상기 매핑 문서에 따라 상기 가상 변환 테이블의 행과 열이 교차하는 각 셀들로부터 셀 값을 획득하고, 상기 셀값 삽입기를 통해 상기 매핑 문서에 따라 상기 획득된 셀 값을 가공하고, 상기 가공된 셀 값을 온톨로지 지식베이스로 변환할 수 있다.
또한, 본 문서에 개시되는 일 실시 예에 따른 온톨로지 모델링 방법은, 가상 변환 테이블의 셀과 온톨로지 속성 간의 매핑 정보를 정의한 매핑 문서에 따라 RDB(rational database), 웹 서비스 및 오픈 API 중 적어도 하나에 포함되어 있는 반정형 데이터셋에 대한 가상 변환 테이블을 생성하는 동작; 상기 매핑 문서에 따라 상기 가상 변환 테이블의 행과 열이 교차하는 각 셀들로부터 셀 값을 획득하는 동작; 상기 매핑 문서에 따라 상기 획득된 셀 값을 가공하는 동작; 및 상기 가공된 셀 값을 온톨로지 지식베이스로 변환하는 동작을 포함할 수 있다.
본 문서에 개시되는 다양한 실시 예들에 따르면, 반정형 데이터셋을 용이하게 온톨로지 지식베이스로 변환할 수 있다. 이 외에, 본 문서를 통해 직접적 또는 간접적으로 파악되는 다양한 효과들이 제공될 수 있다.
도 1은 일 실시예에 따른 온톨로지 모델링의 개념도를 나타낸다.
도 2는 일 실시예에 따른 온톨로지 모델링 장치를 나타낸다.
도 3은 일 실시예에 따른 속성 표현식 문법을 나타낸다.
도 4는 일 실시예에 따른 속성 표현식의 기술 형식을 나타낸다.
도 5는 일 실시예에 따른 매핑 문서를 나타낸다.
도 6a는 스프레드시트의 열과 온톨로지 속성 간의 매핑 정보를 나타낸다.
도 6b는 종래의 XLWrap으로 작성된 매핑 정보를 나타낸다.
도 6c는 일 실시예에 따른 매핑 정보를 나타낸다.
도 7은 일 실시예에 따른 온톨로지 모델링 방법의 흐름도를 나타낸다.
도면의 설명과 관련하여, 동일 또는 유사한 구성요소에 대해서는 동일 또는 유사한 참조 부호가 사용될 수 있다.
도 1은 일 실시예에 따른 온톨로지 모델링의 개념도를 나타낸다.
도 1을 참조하면, 일 실시예에 따르면, 온톨로지 모델링 장치는 가상 변환 테이블의 셀과 온톨로지 속성 간의 매핑 정보를 정의한 매핑 문서(110)를 확인하고, 매핑 문서(110)에 따라 RDB(rational database), 웹 서비스 및 오픈 API 중 적어도 하나에 포함되어 있는 반정형 데이터셋(120)에 기반하여 가상 변환 테이블(130)을 생성할 수 있다. 상기 가상 변환 테이블(130)은 매핑 문서에 정의된 목표 열 집합 및 목표 열 집합의 각 열에 관련된 행 집합으로 구성될 수 있다.
일 실시예에 따르면, 온톨로지 모델링 장치는 매핑 문서에 따라 가상 변환 테이블(130)의 행과 열이 교차하는 각 셀들로부터 셀 값을 획득하고, 획득된 셀 값을 가공할 수 있다. 예를 들어, 획득된 셀 값이 숫자인 경우에, 획득된 셀 값에 대하여 올림, 내림, 반올림 또는 백분율 산출과 같은 가공을 수행할 수 있다. 다른 예를 들어, 획득된 셀 값이 영문자인 경우에, 영문자 전체를 대문자로 정정 또는 소문자로 정정과 같은 가공을 수행할 수 있다.
일 실시예에 따르면, 온톨로지 모델링 장치는 가공된 셀 값을 온톨로지 지식베이스(140)로 변환할 수 있다.
도 2는 일 실시예에 따른 온톨로지 모델링 장치를 나타낸다.
도 2를 참조하면, 일 실시예에 따른 온톨로지 모델링 장치(200)는 출력 회로(220), 메모리(230), 테이블 생성자(240), 셀값 삽입기(250) 및 매퍼(260)를 포함할 수 있다. 일 실시예에 따르면, 온톨로지 모델링 장치(200)는 적어도 하나의 구성요소를 더 포함하거나, 온톨로지 모델링 장치(200)의 적어도 하나의 구성요소는 생략될 수 있다. 예를 들어, 온톨로지 모델링 장치(200)는 통신 회로(210)를 더 포함하고, 통신 회로(210)를 통해 외부 전자 장치로부터 외부 전자 장치에 저장된 반정형 데이터셋을 가져올 수 있다.
출력 회로(220)는 온톨로지 모델링 장치(200)의 구동과 관련된 콘텐츠(예: 안내 텍스트 출력)를 표시하는 디스플레이를 포함할 수 있다.
메모리(230)는 온톨로지 모델링 장치(200)의 적어도 하나의 구성요소(예: 매퍼(260))에 의해 사용되는 다양한 데이터를 저장할 수 있다. 데이터는 예를 들어, 소프트웨어 및 이와 관련된 명령에 대한 입력 데이터 또는 출력 데이터를 포함할 수 있다. 예를 들어, 메모리(230)는 온톨로지 모델링(또는, 온톨로지 지식베이스 구성)을 위한 적어도 하나의 인스트럭션(instruction)을 저장할 수 있다. 메모리(230)는 휘발성 메모리 또는 비휘발성 메모리를 포함할 수 있다. 메모리(230)는 가상 변환 테이블의 각 열들과 온톨로지 속성을 매핑할 수 있는 속성 표현식 및 속성 표현식의 컴파일러를 저장할 수 있다. 상기 속성 표현식은 예를 들면, 가상 변환 테이블의 행 집합에 존재하는 특정 열과 특정 온톨로지 속성들을 매칭하기 위한 Non-R2RML 표현식일 수 있다. 사용자(예: 프로그래머)는 속성 표현식에 기반하여 가상 변환 테이블의 열과 온톨로지 속성 간의 매핑 정보(또는, 매핑 관계 정보)를 포함하는 매핑 문서를 생성할 수 있다. 상기 매핑 문서는 예를 들면, 반정형 데이터셋의 위치(경로 정보), 가상 변환 테이블의 식별자 행 정보 및 반정형 데이터셋의 각 열과 온톨로지 속성 간의 맵핑 정보들 중 적어도 하나의 정보를 포함할 수 있다.
테이블 생성자(240), 셀값 삽입기(250) 및 매퍼(260)는 적어도 하나의 프로세서에 의하여 구현되는 소프트웨어 또는 하드웨어 모듈일 수 있다. 적어도 하나의 프로세서는 적어도 하나의 인스트럭션을 실행함에 따라 온톨로지 모델링 장치(200)의 적어도 하나의 다른 구성요소(예: 하드웨어 또는 소프트웨어 구성요소)를 제어할 수 있고, 다양한 데이터 처리 또는 연산을 수행할 수 있다. 프로세서는 예를 들어, 중앙처리장치(CPU), 그래픽처리장치(GPU), 마이크로프로세서, 애플리케이션 프로세서(application processor), 주문형 반도체(ASIC(application specific integrated circuit), FPGA(field programmable gate arrays)) 중 적어도 하나를 포함할 수 있으며, 복수의 코어를 가질 수 있다.
일 실시예에 따르면, 테이블 생성자(240)는 매퍼(260)의 명령에 따라 반정형 데이터셋(set)에 기반하여 가상 변환 테이블을 생성할 수 있다. 상기 반정형 데이터셋은 스프레드시트, JSON, XML, CSV 및 TSV 중 적어도 하나의 데이터 구조로 구성되어 있는 RDB에 포함된 데이터 집합일 수 있다. 예를 들어, 테이블 생성자(240)는 매핑 문서에 정의된 경로 정보에 기반하여 반정형 데이터셋으로부터 목표 열들을 추출할 수 있다. 테이블 생성자(240)는 추출된 열들에 해당하는 모든 데이터들을 열 집합 및 행 집합으로 구성된 가상 변환 테이블로 변환할 수 있다. 상기 가상 변환 테이블은 예를 들면, 반정형 데이터셋에 포함된 열 집합과 상기 열 집합의 각 열에 대응되는 셀(상기 셀은 행과 열이 교차하는 단위 셀)을 가지는 행 집합으로 구성될 수 있다.
한 실시예에 따르면, 테이블 생성자(240)는 스프레드시트(spreadsheet) 형식의 반정형 데이터셋에 대해서, 컬럼(column)(또는, 열)의 이름 또는 인덱스에 대응하는 열들을 추출하고, 각 열들에 관련된 행 집합을 정의함에 따라 가상 변환 테이블을 생성할 수 있다.
한 실시예에 따르면, 테이블 생성자(240)는 JSON 형식의 반정형 데이터셋에 대해서, JSONPath에 기반하여 열 집합 및 행 집합을 추출하고, 추출된 열 집합 및 행 집합으로 구성된 가상 변환 테이블을 생성할 수 있다. 상기 JSONPath는 예를 들면, JSON 객체의 요소를 쿼리하는 표준화된 방법으로서, JSON 데이터를 쉽게 처리할 수 있는 표현식을 제공할 수 있다.
한 실시예에 따르면, 테이블 생성자(240)는 XML 형식의 반정형 데이터셋에 대해서, XPath에 기반하여 열 집합 및 행 집합을 추출하고, 추출된 열 집합 및 행 집합으로 구성된 가상 변환 테이블을 생성할 수 있다.
한 실시예에 따르면, 테이블 생성자(240)는 CSV 및 TSV와 같이 값들이 특정 문자로 분리되어 있는 파일 형식의 반정형 데이터셋에 대해서, 헤더의 이름 또는 인덱스에 기반하여 열 집합 및 행 집합을 추출하고, 추출된 열 집합 및 행 집합으로 구성된 가상 변환 테이블을 생성할 수 있다.
일 실시예에 따르면, 셀값 삽입기(250)는 매퍼(260)의 명령에 따라 가상 변환 테이블로부터 가상 변환 테이블의 행과 열이 교차하는 단위 셀 값의 원본 값을 가져올 수 있다. 이 과정에서, 셀값 삽입기(250)는 매핑 문서에 정의된 매핑 정보에 따라서 셀 값의 일부를 지정된 규칙에 따라 가공할 수 있다. 예를 들어, 획득된 셀 값이 숫자인 경우에, 셀값 삽입기(250)는 획득된 셀 값에 대하여 올림, 내림, 반올림 또는 백분율 산출과 같은 가공을 수행할 수 있다. 다른 예를 들어, 획득된 셀 값이 영문자인 경우에, 셀값 삽입기(250)는 영문자 전체를 대문자로 정정 또는 소문자로 정정과 같은 가공을 수행할 수 있다.
일 실시예에 따르면, 매퍼(260)는 테이블 생성자(240) 및 셀값 삽입기(250)를 전반적으로 제어할 수 있다.
매퍼(260)는 매핑 문서에 기반하여 테이블 생성자(240)를 제어하여 테이블 생성자(240)에 의해 변환 테이블을 생성할 수 있다. 예를 들어, 매퍼(260)는 매핑 문서의 datasetPath 항목의 값이 반정형 데이터셋의 경로로부터 파일을 불러와서, 테이블 생성자(240)에 상기 파일에 포함된 RDB에 대한 가상 변환 테이블 생성 명령을 송신할 수 있다. 테이블 생성자(240)는 매퍼(260)의 명령에 따라 매핑 문서에 포함된 특정 열과 행 집합을 정의한 가상 변환 테이블을 생성할 수 있다.
매퍼(260)는 가상 변환 테이블이 생성되면, 매핑 문서에 포함된 매핑 정보에 따라 가상 변환 테이블의 각 셀 값을 가져와서 RDF 데이터로 구성할 수 있다. 예를 들어, 매퍼(260)는 셀값 삽입기(250)를 통해 매핑 문서에 포함된 매핑 정보의 각 열들에 대응하는 가상 변환 테이블의 행들의 셀 값을 가져올 수 있다. 매퍼(260)는 매핑 문서에서 각 셀 값의 속성(property) 항목에 대한 속성 표현식(또는, 매핑 정보)을 해석하고, 해석된 매핑 정보에 따라서 가상 변환 테이블의 각 셀 값들을 RDF 데이터로 변환할 수 있다. 이와 관련하여, 매핑 문서는 지정된 기호(예: "/" 또는 "#")를 접합한 문자열을 온톨로지 클래스의 네임스페이스로 정의할 수 있다. 이 경우, 매퍼(260)는 상기 지정된 기호가 특정 클래스에 대한 개체 이름과 접합하면, 상기 특정 클래스의 개체들에 대하여 상기 클래스의 네임스페이스(또는, 이름)를 형성할 수 있다.
매퍼(260)는 셀값 삽입기(250)를 통해 획득된 셀 값이 원자적이지 않은 경우(또는, 하나의 셀에 복수의 셀 값들이 포함된 경우)에는 매핑 문서에 정의된 규칙에 따라 각 셀 값을 원자화할 수 있다. 예를 들어, 매퍼(260)는 하나의 셀로부터 복수의 셀 값들을 획득한 경우에는 복수의 셀 값들이 지정된 구분자(예: 세미 콜론, 콤마)로 구분되어 있는지를 확인할 수 있다. 매퍼(260)는 복수의 셀 값들이 지정된 구분자로 구분되어 있으면, 구분자를 기준으로 복수의 셀 값들을 분리하여 하나씩 가져올 수 있다. 다른 예를 들어, 매퍼(260)는 하나의 셀로부터 복수의 셀 값들을 획득하였는데, 복수의 셀 값들이 지정된 구분자로 구분되지 않은 경우에는 출력 회로(220)를 통해 하나의 셀로부터 복수의 셀 값들을 획득하였음을 안내할 수 있다. 이 경우, 사용자(예: 프로그래머)는 셀값 삽입기를 통해 복수의 셀 값들과 온톨로지 속성 간의 매핑 정보를 재정의할 수 있다. 그러면, 매퍼(260)는 재정의된 매핑 정보에 따라 복수의 셀 값들과 온톨로지 속성을 관련(또는, 매핑)할 수 있다.
매퍼(260)는 온톨로지 속성과 관련된 RDF 데이터를 온톨로지 지식베이스로 구성하여 메모리(230)에 저장할 수 있다.
다양한 실시예에 따르면, 온톨로지 모델링 장치(200)는 웹 서비스 및 오픈 API 중 적어도 하나로부터 반정형 데이터셋을 수집할 수 있다.
상술한 실시예에 따르면, 온톨로지 모델링 장치(200)는 RDB의 열 명을 기준으로 트리플과 유사한 속성 표현식을 이용하여 반정형 데이터셋을 직관적이고 간결하게 온톨로지 지식베이스에 매핑할 수 있다.
또한, 상술한 실시예에 따르면, 온톨로지 모델링 장치(200)는 원자적이지 않거나, 불규칙한 데이터형에 대해서도 유연한 온톨로지 지식베이스 변환 방법을 제공할 수 있다.
도 3은 일 실시예에 따른 속성 표현식 문법을 나타내고, 도 4는 일 실시예에 따른 속성 표현식의 기술 형식을 나타낸다.
도 3을 참조하면, 속성 표현식 (properyExp; Property Expression)은 지정된 문법에 따르는 Non-R2RML 매핑 언어로서, 가상 변환 테이블의 특정 행 집합에 대응하는 특정 열과 온톨로지 속성들 간의 매핑 정보를 정의할 수 있다. 속성 표현식에서, {qname_of_s_class}는 RDF 트리플의 주어에 대응하는 그래프 인스턴스를 정의하고, "&id"는 클래스 인스턴스를 정의하고, {qname_of_o_class}는 {qname_of_s_class}에 대응하는 열(column)과 해당 열에 대응하는 셀들의 값이 {proerty}로 연결되는 인스턴스들의 namespace를 의미할 수 있다. "~"는 Base URL을 Namespage로 갖는 인스턴스 이름을 갖는 것을 의미하고, {datatype}은 {qname_of_s_class}에 대응하는 열과 이 열에 대응하는 셀들의 값이 {property}로 연결되는 XMLshema datatype의 그 리터널(literal)들이라는 것의 의미할 수 있다. {languqge_tag}는 {qname_of_s_class}에 대응하는 열과 이 열에 대응하는 셀들의 값이 {property}로 연결되는 language tage를 취하는 Plain literal들이라는 것을 의미할 수 있다.
도 4를 참조하면, ({class_of_subject}, "&id")는 컬럼에 해당하는 행들의 셀 값을 {class_of_subject}에 해당하는 온톨로지 클래스의 인스턴스로 변환하는 규칙을 정의하는데 이용될 수 있다. ({class_of_subject}, {property}, {class_of_object})는 ({class_of_subject}, "&id")로 변환된 인스턴스들과 ({class_of_object}, "&id")로 변환된 인스턴스들 간의 {property}로 연결된 트리플들로 변환하는 규칙을 정의하는데 이용될 수 있다. ({class_of_subject}, {property}, {datatype})은 열에 해당하는 행들의 셀 값을 갖는 {datatype}형식의 literal들 간의 {property}로 연결된 트리플들을 변환하는 규칙을 정의하는데 이용될 수 있다. ({class_of_subject}, {property}, {language_tag})는 ({class_of_subject}, "&id")로 변환된 인스턴스들과 열에 해당하는 행들의 셀 값을 갖는 {datatype} 형식의 literal들 간의 {property}로 연결된 트리플들을 변환하는 규칙을 정의하는데 이용될 수 있다.
상술한 실시예에 따르면, 온톨로지 모델링 장치(200)는 RDB의 열 명을 기준으로 트리플과 유사한 속성 표현식을 이용하여 반정형 데이터셋을 직관적이고 간결하게 온톨로지 지식베이스에 매핑할 수 있다.
도 5는 일 실시예에 따른 매핑 문서를 나타낸다.
도 5를 참조하면, 매핑 문서(110)의 'datasetPath"항목에는 반정형 데이터셋의 위치(또는, 경로 정보)가 기술될 수 있다. 매핑 문서(110)의 'numberingColumn' 항목에는 가상 변환 테이블의 식별자가 될 수 있는 지정된 열이 기술될 수 있다. 'numberingColumn' 항목에는 RDB의 열들 중에서 셀 값이 항상 존재하는 열들이 기술될 수 있다. 매핑 문서(110)의 mapping 항목에는 매핑 정보들이 기술될 수 있다. column 항목에는 가상 변환 테이블의 열이고, required 항목이 참(True)이면, 열의 널(null) 값이 될 수 없고, property 항목에는 가상 변환 테이블의 식별자 열이 가질 수 있는 셀 값들과 대응되는 온톨로지 요소들을 정의하는 속성 표현식이 기술될 수 있다. 이와 관련하여, 매핑 문서(110)의 required 항목이 참(True)인 경우에, 셀값 삽입기(250)는 가상 변환 테이블의 열에 대응하는 셀 값이 널(NULL)인 경우에는 출력 회로(220)를 통해 오류 발생을 안내할 수 있다.
종래의 매핑 문서는 인스턴스를 표현할 때에 콜론(:)과 콤마(,)를 사용하여 가독성이 떨어지고 복잡도가 높아지는 문제가 있었다. 하지만, 상술한 실시예에 따른 매핑 문서는 반정형 데이터셋의 열 제목(예: 스프레드시트의 열 번호 E1)을 열 번호가 아닌 사용자에 의해 정의된 열 제목으로 사용할 수 있으므로, 가독성이 높을 수 있다.
이하, 도 6a, 6b 및 6c를 참조하여 연구과제에 관련된 스프레드시트에 대한 종래의 매핑 문서와 일 실시예에 따른 매핑 문서를 비교한다.
도 6a는 스프레드시트의 열과 온톨로지 속성 간의 매핑 정보를 나타낸다. 도 6b는 종래의 XLWrap으로 작성된 매핑 정보를 나타내고, 도 6c는 일 실시예에 따른 매핑 정보를 나타낸다.
도 6a를 참조하면, 스프레드시트 열 제목은 스프레드시트에 포함된 열 제목으로서, 스프레드시트의 작성자에 의해 정의된 것일 수 있다. 상기 범위는 온톨로지 속성명의 클래스를 나타내고, 온톨로지 속성명은 열 제목에 대응하는 각 셀 값의 온톨로지 속성명을 나타낸다.
도 6b를 참조하면, XLWrap으로 작성된 매핑 정보에서는 XMLSchema 데이터형을 표현할 수 없었고, 원자적이지 않은 데이터를 처리할 수 없었다. 또한, 스프레드시트의 각 열을 열 번호(E2)로 기재하고, URI를 별도로 지정해야 하므로(도 6b의 610), 작성이 번거롭고 가독성이 떨어졌다.
도 6c를 참조하면, 일 실시예에 따른 매핑 정보는 종래의 매핑 정보와 달리, URI를 자동으로 생성하므로 매핑 정보에 URI 생성 명령을 기술하지 않아도 되고, 스프레드시트의 열 제목을 그대로 사용할 수 있으므로(도 6c의 630 참조), 작성이 용이하고 가독성이 높을 수 있다.
도 7은 일 실시예에 따른 온톨로지 모델링 방법의 흐름도를 나타낸다.
도 7을 참조하면, 동작 710에서, 온톨로지 모델링 장치(200)는 가상 변환 테이블의 셀과 온톨로지 속성 간의 매핑 정보를 정의한 매핑 문서에 따라 RDB(rational database), 웹 서비스 및 오픈 API 중 적어도 하나에 포함되어 있는 반정형 데이터셋에 대한 가상 변환 테이블을 생성할 수 있다.
동작 720에서, 온톨로지 모델링 장치(200)는 매핑 문서에 따라 상기 가상 변환 테이블의 행과 열이 교차하는 각 셀들로부터 셀 값을 획득할 수 있다.
동작 730에서, 온톨로지 모델링 장치(200)는 매핑 문서에 따라 상기 획득된 셀 값을 가공할 수 있다. 예를 들어, 온톨로지 모델링 장치(200)는 상기 획득된 셀 값에 대하여 표현 형식 변환을 포함하는 가공을 수행할 수 있다. 다른 예를 들어, 획득된 셀 값이 숫자인 경우에, 온톨로지 모델링 장치(200)는 올림, 내림, 반올림 또는 백분율 산출과 같은 매핑 문서에 정의된 가공을 수행할 수 있다. 또 다른 예로, 획득된 셀 값이 영문자인 경우에, 온톨로지 모델링 장치(200)는 영문자 전체를 대문자로 정정 또는 소문자로 정정과 같은 매핑 문서에 정의된 가공을 수행할 수 있다.
동작 740에서, 온톨로지 모델링 장치(200)는 가공된 셀 값을 온톨로지 지식베이스로 변환할 수 있다.
상술한 실시예에 따르면, 온톨로지 모델링 장치(200)는 RDB의 열 명을 기준으로 트리플과 유사한 속성 표현식을 이용하여 반정형 데이터셋을 직관적이고 간결하게 온톨로지 지식베이스에 매핑할 수 있다.
또한, 상술한 실시예에 따르면, 온톨로지 모델링 장치(200)는 원자적이지 않거나, 불규칙한 데이터형에 대해서도 유연한 온톨로지 지식베이스 변환 방법을 제공할 수 있다.
본 문서의 다양한 실시예들 및 이에 사용된 용어들은 본 문서에 기재된 기술적 특징들을 특정한 실시예들로 한정하려는 것이 아니며, 해당 실시예의 다양한 변경, 균등물, 또는 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 또는 관련된 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 아이템에 대응하는 명사의 단수 형은 관련된 문맥상 명백하게 다르게 지시하지 않는 한, 상기 아이템 한 개 또는 복수 개를 포함할 수 있다. 본 문서에서, "A 또는 B", "A 및 B 중 적어도 하나",“A 또는 B 중 적어도 하나”, "A, B 또는 C", "A, B 및 C 중 적어도 하나” 및 “A, B, 또는 C 중 적어도 하나"와 같은 문구들 각각은 그 문구들 중 해당하는 문구에 함께 나열된 항목들 중 어느 하나, 또는 그들의 모든 가능한 조합을 포함할 수 있다. "제1", "제2", 또는 "첫째" 또는 "둘째"와 같은 용어들은 단순히 해당 구성요소를 다른 해당 구성요소와 구분하기 위해 사용될 수 있으며, 해당 구성요소들을 다른 측면(예: 중요성 또는 순서)에서 한정하지 않는다. 어떤(예: 제1) 구성요소가 다른(예: 제2) 구성요소에, “기능적으로” 또는 “통신적으로”라는 용어와 함께 또는 이런 용어 없이, “커플드” 또는 “커넥티드”라고 언급된 경우, 그것은 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로(예: 유선으로), 무선으로, 또는 제3 구성요소를 통하여 연결될 수 있다는 것을 의미한다.
본 문서에서 사용된 용어 "모듈"은 하드웨어, 소프트웨어 또는 펌웨어로 구현된 유닛을 포함할 수 있으며, 예를 들면, 로직, 논리 블록, 부품, 또는 회로와 같은 용어와 상호 호환적으로 사용될 수 있다. 모듈은, 일체로 구성된 부품 또는 하나 또는 그 이상의 기능을 수행하는, 상기 부품의 최소 단위 또는 그 일부가 될 수 있다. 예를 들면, 일실시예에 따르면, 모듈은 ASIC(application-specific integrated circuit)의 형태로 구현될 수 있다.
본 문서의 다양한 실시예들은 기기(machine)(예: 온톨로지 모델링 장치(200))에 의해 읽을 수 있는 저장 매체(storage medium)(예: 내장 메모리 또는 외장 메모리)(메모리(230))에 저장된 하나 이상의 명령어들을 포함하는 소프트웨어(예: 프로그램)로서 구현될 수 있다. 예를 들면, 기기(예: 온톨로지 모델링 장치(200))의 프로세서(예: 매퍼(260)는, 저장 매체로부터 저장된 하나 이상의 명령어들 중 적어도 하나의 명령을 호출하고, 그것을 실행할 수 있다. 이것은 기기가 상기 호출된 적어도 하나의 명령어에 따라 적어도 하나의 기능을 수행하도록 운영되는 것을 가능하게 한다. 상기 하나 이상의 명령어들은 컴파일러에 의해 생성된 코드 또는 인터프리터에 의해 실행될 수 있는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장매체 는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, ‘비일시적’은 저장매체가 실재(tangible)하는 장치이고, 신호(signal)(예: 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다.
일실시예에 따르면, 본 문서에 개시된 다양한 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로 배포되거나, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 또는 두개의 사용자 장치들(예: 스마트폰들) 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
다양한 실시예들에 따르면, 상기 기술한 구성요소들의 각각의 구성요소(예: 모듈 또는 프로그램)는 단수 또는 복수의 개체를 포함할 수 있다. 다양한 실시예들에 따르면, 전술한 해당 구성요소들 중 하나 이상의 구성요소들 또는 동작들이 생략되거나, 또는 하나 이상의 다른 구성요소들 또는 동작들이 추가될 수 있다. 대체적으로 또는 추가적으로, 복수의 구성요소들(예: 모듈 또는 프로그램)은 하나의 구성요소로 통합될 수 있다. 이런 경우, 통합된 구성요소는 상기 복수의 구성요소들 각각의 구성요소의 하나 이상의 기능들을 상기 통합 이전에 상기 복수의 구성요소들 중 해당 구성요소에 의해 수행되는 것과 동일 또는 유사하게 수행할 수 있다. 다양한 실시예들에 따르면, 모듈, 프로그램 또는 다른 구성요소에 의해 수행되는 동작들은 순차적으로, 병렬적으로, 반복적으로, 또는 휴리스틱하게 실행되거나, 상기 동작들 중 하나 이상이 다른 순서로 실행되거나, 생략되거나, 또는 하나 이상의 다른 동작들이 추가될 수 있다.

Claims (10)

  1. 온톨로지 모델링 장치에 있어서,
    메모리;
    테이블 생성자;
    셀값 삽입기; 및
    매퍼를 포함하고, 상기 매퍼는,
    가상 변환 테이블의 셀과 온톨로지 속성 간의 매핑 정보를 정의한 매핑 문서를 상기 메모리에 저장하고,
    상기 테이블 생성자를 통해 상기 매핑 문서에 따라 RDB(rational database), 웹 서비스 및 오픈 API 중 적어도 하나에 포함되어 있는 반정형 데이터셋에 기반하여 상기 가상 변환 테이블을 생성하고,
    상기 셀값 삽입기를 통해 상기 매핑 문서에 따라 상기 가상 변환 테이블의 행과 열이 교차하는 각 셀들로부터 셀 값을 획득하고,
    상기 셀값 삽입기를 통해 상기 매핑 문서에 따라 상기 획득된 셀 값을 가공하고,
    상기 가공된 셀 값을 온톨로지 지식베이스로 변환하는, 온톨로지 모델링 장치.
  2. 청구항 1에 있어서, 상기 매퍼는,
    상기 셀값 삽입기를 통해 하나의 셀로부터 복수의 셀 값들을 획득하면, 상기 복수의 셀 값들이 지정된 구분자로 구분되어 있는지를 확인하고,
    상기 지정된 구분자로 구분되어 있으면, 상기 지정된 구분자를 기준으로 상기 복수의 셀 값들을 분리하여 상기 온톨로지 지식베이스로 변환하는, 온톨로지 모델링 장치.
  3. 청구항 1에 있어서,
    출력 회로를 더 포함하고, 상기 매퍼는,
    상기 셀값 삽입기를 통해 하나의 셀로부터 복수의 셀 값들을 획득하면, 상기 출력 회로를 통해 하나의 셀로부터 복수의 셀 값들을 획득한 것을 안내하는, 온톨로지 모델링 장치.
  4. 청구항 3에 있어서, 상기 매퍼는,
    상기 셀값 삽입기를 통해 상기 복수의 셀 값들과 온톨로지 속성 간의 매핑 정보가 재정의되면, 재정의된 매핑 정보에 따라 상기 복수의 셀 값들과 재정의된 속성들을 관련하여 상기 온톨로지 지식베이스로 변환하는, 온톨로지 모델링 장치.
  5. 청구항 3에 있어서, 상기 매퍼는,
    상기 획득된 셀 값에 대하여 표현 형식 변환을 포함하는 가공을 수행하는, 온톨로지 모델링 장치.
  6. 청구항 1에 있어서, 상기 맵핑 문서는,
    상기 반정형 데이터셋의 각 열들의 제목과 상기 온톨로지 속성 간의 매핑 관계를 정의한, 온톨로지 모델링 장치.
  7. 온톨로지 모델링 장치에 의한 온톨로지 모델링 방법에 있어서,
    가상 변환 테이블의 셀과 온톨로지 속성 간의 매핑 정보를 정의한 매핑 문서에 따라 RDB(rational database), 웹 서비스 및 오픈 API 중 적어도 하나에 포함되어 있는 반정형 데이터셋에 대한 가상 변환 테이블을 생성하는 동작;
    상기 매핑 문서에 따라 상기 가상 변환 테이블의 행과 열이 교차하는 각 셀들로부터 셀 값을 획득하는 동작;
    상기 매핑 문서에 따라 상기 획득된 셀 값을 가공하는 동작; 및
    상기 가공된 셀 값을 온톨로지 지식베이스로 변환하는 동작을 포함하는 온톨로지 모델링 방법.
  8. 청구항 7에 있어서, 상기 획득하는 동작은,
    하나의 셀로부터 동일한 속성을 갖는 복수의 셀 값들을 획득하면, 상기 복수의 셀 값들이 지정된 구분자로 구분되어 있는지를 확인하는 동작; 및
    상기 지정된 구분자로 구분되어 있으면, 상기 지정된 구분자를 기준으로 상기 복수의 셀 값들을 분리하는 동작을 포함하는, 온톨로지 모델링 방법.
  9. 청구항 7에 있어서, 상기 획득하는 동작은,
    하나의 셀로부터 복수의 셀 값들을 획득하면, 하나의 셀에 복수의 셀 값들이 포함됨을 안내하는 동작; 및
    상기 복수의 셀 값들과 온톨로지 속성 간의 매핑 정보가 재정의된 경우, 재정의된 매핑 정보에 따라 상기 복수의 셀 값들과 재정의된 속성들을 관련하는 동작을 포함하는, 온톨로지 모델링 방법.
  10. 청구항 7에 있어서, 상기 가공하는 동작은,
    상기 획득된 셀 값에 대하여 표현 형식 변환을 포함하는 가공을 수행하는, 온톨로지 모델링 방법.
KR1020190161094A 2019-12-05 2019-12-05 온톨로지 모델링 장치 및 방법 KR102265304B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190161094A KR102265304B1 (ko) 2019-12-05 2019-12-05 온톨로지 모델링 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190161094A KR102265304B1 (ko) 2019-12-05 2019-12-05 온톨로지 모델링 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20210070854A true KR20210070854A (ko) 2021-06-15
KR102265304B1 KR102265304B1 (ko) 2021-06-16

Family

ID=76412100

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190161094A KR102265304B1 (ko) 2019-12-05 2019-12-05 온톨로지 모델링 장치 및 방법

Country Status (1)

Country Link
KR (1) KR102265304B1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160066237A (ko) * 2014-12-02 2016-06-10 주식회사 솔트룩스 반정형데이터 기반 동적 온톨로지 인스턴스 구축 방법 및 시스템

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160066237A (ko) * 2014-12-02 2016-06-10 주식회사 솔트룩스 반정형데이터 기반 동적 온톨로지 인스턴스 구축 방법 및 시스템

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
백귀현 외 1인, 온톨로지 지식베이스 성능 평가 방법 연구, 한국통신학회 학술대회논문집, 2018.11, 688-689페이지. *
우원택, Tag free XML 개발 툴을 이용한 XML문서 개발과 RDB 매핑에 관한 연구, 한국산업정보학회 논문지 11(5), 2006.12, 37-52페이지. 1부.* *
정교성 외 2인, 멀티 소스 데이터를 위한 통합 온톨로지 구축 프레임워크, 한국정보과학회 학술발표논문집, 2016.12, 621-623페이지. *

Also Published As

Publication number Publication date
KR102265304B1 (ko) 2021-06-16

Similar Documents

Publication Publication Date Title
US11609801B2 (en) Application interface governance platform to harmonize, validate, and replicate data-driven definitions to execute application interface functionality
US11157560B2 (en) System and method for managing graph data
US11720418B2 (en) Distillation of various application interface data structures distributed over distinctive repositories to form a data source of consolidated application interface data components
US9355093B2 (en) Method and apparatus for referring expression generation
US20060048107A1 (en) Enhanced compiled representation of transformation formats
US9477651B2 (en) Finding partition boundaries for parallel processing of markup language documents
US20130263089A1 (en) Generating test cases for functional testing of a software application
US7716190B2 (en) Conversion of structured information
WO2014035407A1 (en) Method and apparatus for referring expression generation
US20130198605A1 (en) Document Merge Based on Knowledge of Document Schema
US8140347B2 (en) System and method for speeding XML construction for a business transaction using prebuilt XML with static and dynamic sections
US8612489B2 (en) LossLess transformation of XBRL instance to XML data model instance
US9703767B2 (en) Spreadsheet cell dependency management
JP2022545303A (ja) 概念データモデルからのソフトウェアアーチファクトの生成
US20100169333A1 (en) Document processor
CN114444465A (zh) 信息抽取方法、装置、设备及存储介质
KR102265304B1 (ko) 온톨로지 모델링 장치 및 방법
CN114556238A (zh) 用于在云计算环境中生成资产信息的数字表示的方法和系统
US20130290829A1 (en) Partition based structured document transformation
US8423518B2 (en) Representation of multiple markup language files in one file for the production of new markup language files
Klımek et al. eXolutio: Tool for XML Schema and Data Management
US20230334069A1 (en) Cross-platform content management
Kalampokis et al. Check for updates Towards Interoperable Open Statistical Data
Weber et al. Unifiedocl: achieving system-wide constraint representations
JP6785149B2 (ja) データ変換装置、入力補助装置及びそのプログラム

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant