KR101082814B1 - 키워드를 이용한 온톨로지 정보 검색 방법 및 장치 - Google Patents

키워드를 이용한 온톨로지 정보 검색 방법 및 장치 Download PDF

Info

Publication number
KR101082814B1
KR101082814B1 KR1020080136006A KR20080136006A KR101082814B1 KR 101082814 B1 KR101082814 B1 KR 101082814B1 KR 1020080136006 A KR1020080136006 A KR 1020080136006A KR 20080136006 A KR20080136006 A KR 20080136006A KR 101082814 B1 KR101082814 B1 KR 101082814B1
Authority
KR
South Korea
Prior art keywords
triple
path
keyword
nodes
ontology
Prior art date
Application number
KR1020080136006A
Other languages
English (en)
Other versions
KR20100077923A (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 KR1020080136006A priority Critical patent/KR101082814B1/ko
Publication of KR20100077923A publication Critical patent/KR20100077923A/ko
Application granted granted Critical
Publication of KR101082814B1 publication Critical patent/KR101082814B1/ko

Links

Images

Abstract

키워드를 이용한 온톨로지 정보 검색 방법 및 장치가 개시된다. 본 발명의 일측면에 따른 주어, 서술어, 목적어로 구성되는 트리플(triple) 구조를 갖는 온톨로지(ontology) 저장소에서 키워드를 이용하여 정보를 검색하는 방법에 있어서, 입력된 질의 키워드에 상응하는 트리플 노드를 검색하는 단계; 트리플 노드에 따른 하나 이상의 상위 경로를 산출하는 단계; 및 상위 경로를 이용하여 트리플 노드가 모두 포함된 결과 그래프를 생성하는 단계를 포함하되, 질의 키워드가 복수개인 경우, 각 질의 키워드에 따른 각각의 상위 경로가 병합된 경로를 이용하여 결과 그래프를 생성한다. 본 발명에 따르면, 별도로 온톨로지 저장소의 질의 언어에 대한 사전 지식 없이도, 마치 웹상에서의 문서 검색 방법과 같이 키워드만을 이용하여 온톨로지 정보를 검색할 수 있어 사용상의 편의성을 제공할 수 있다.
온톨로지, 검색, 키워드, 트리플, ontology

Description

키워드를 이용한 온톨로지 정보 검색 방법 및 장치{Searching method for ontology information using keyword and device thereof}
본 발명은 정보 검색에 관한 것으로, 보다 상세하게는 일반적인 웹 검색과 같이 입력된 키워드를 이용하여 온톨로지 정보를 검색하는 정보 검색 방법 및 장치에 관한 것이다.
온톨로지(Ontology)는 철학에서의 존재론으로 실재(reality)에 대한 정확한 이해를 추구하는 학문이다. 실재, 즉 이 세상을 규정하기 위해 이 세상에 존재하는 실체들에 대한 명확한 이해와 정의가 필요한데, 단순화시켜 말하면 ‘이 세상의 기본이 되는 구성요소에 대한 명확한 이해와 정의’라고 할 수 있다. 컴퓨터 분야에서의 온톨로지 역시 정보시스템의 대상이 되는 분야에 존재하는 개체와 개념에 대한 명세로 이용된다. 모든 정보시스템은 정보시스템이 바라보는 적용영역(실재)에 대한 관점(view)의 반영이라 할 수 있는 온톨로지를 갖고 있다. 온톨로지는 의료, 기계제조, 부동산, 금융 등 특정 응용영역에 대해 만들어지는데, 그 분야의 기본 개념에 대한 정의와 그들 간의 관계에 대한 명세로 이뤄진다. 가장 단순한 형태로는 어휘사전이나 용어모음을 생각할 수 있지만 컴퓨터가 처리할 수 있을 만큼의 구 조성과 구체성을 갖춰야 온톨로지로 불리는 것이 일반적이다. 온톨로지를 독립적인 하나의 중심 구성요소로 보고 이를 개발과 운영의 중심에 놓는 것이 온톨로지 기반의 시스템(ontology-driven system)인데, 이는 몇 가지 측면에서 장점을 갖는다. 대표적인 장점으로는, 정보 콘텐츠의 구조에 대한 명세로서의 역할, 해당 영역의 지식 공유와 재사용, 해당 영역의 제약과 가정에 대한 명시, 지식(정보)과 프로세스의 분리, 요구사항 분석의 기본 단계 등이다.
온톨로지는 정보검색, 의료정보와 바이오정보, 인공지능 및 에이전트, 전자상거래, 지능형 인터넷 등 다양한 기술분야에 적용되며, 이미 분야별로 이에 대한 연구가 활발히 진행되고 있다. 시맨틱 웹(semantic web)의 궁극적 목표는 컴퓨터도 이해할 수 있는 지식의 원천으로서의 웹을 만드는 것인데, HTML 형태의 문서들로 이뤄진 현재의 웹은 사람에게 정보를 주는 역할은 하고 있지만 컴퓨터 프로그램이 각 문서의 내용을 정확히 파악할 수 없다는 문제의식에서 출발한다. 예를 들어, ‘컴퓨터가 사용하는 언어’에 해당하는 문서를 컴퓨터 프로그램이 찾을 수 있도록 하기 위해 우선 문서내용에 의미있는 태그(tag)를 붙여야 하며, 각 태그가 의미하는 개념에 대한 온톨로지가 있어야 할 것이다. 시맨틱 웹의 중심에 확장성표기언어(XML)를 기반으로 하는 RDF(Resource Description Framework)와 DAML-OIL을 발전시킨 OWL(Ontology Web Language)이 있는 것은 이러한 이유다.
여기서 온톨로지 저장소에 저장된 정보들을 검색하는 방법이 고려되어야 한다. 일반적으로 키워드 검색은 기존의 웹 검색에서 사용되는 용어로서 사용자가 키워드(단어)의 나열을 통해서 이 키워드가 포함하고 있는 문서, 웹페이지 등의 정보 를 검색한다. 이와 같은 검색 방법은 사용자가 복잡한 질의 언어에 대한 사전 지식을 필요로 하지 않는 장점을 가지고 있다.
이에 비해, 온톨로지 저장소에 저장된 정보를 검색하기 위해서는 온톨로지 질의 언어인 RDQL 또는 SPARQL에 대한 사전 지식이 있어야만 한다.
이와 유사하게 RDF의 기반이 되는 XML 데이터베이스 또는 관계형 데이터베이스와 같은 경우에도 데이터베이스 내의 정보를 검색하기 위해 별도의 질의 언어를 이용해야 한다. 관계형 데이터베이스에서 기존에 이루어지는 질의 방법은 SQL 언어를 통해서 사용자가 테이블 또는 애트리뷰트의 구조를 인지한 상태에서 질의가 이루어진다. 즉, 관계형 데이터베이스 시스템에 대한 어느 정도의 전문지식을 가지고 있어야지만 정보의 검색이 가능하다. 마찬가지로 XML 데이터베이스에서도 XML의 DTD 또는 XML 스키마(Schema)의 구조를 알고 있으면서 동시에 질의를 위한 언어인 XPath, XQuery를 알고 있어야만 정보를 검색할 수 있다.
따라서, 최근에는 웹 검색 방식과 같이 별도의 질의 언어 없이도 키워드를 이용한 검색 방법이 관계형 데이터베이스 또는 XML 데이터베이스에 적용하기 위한 기술이 개발되고 있다.
관계형 데이터베이스에서의 키워드 검색을 위한 알고리즘은 스키마 그래프 방식과 데이터 그래프 방식으로 분류할 수 있다. 스키마 그래프 방식은 데이터베이스 스키마로부터 그래프를 생성하고, 질의 키워드에 대한 후보 네트워크(Candidate Network)를 생성한 이후 실행 계획(Execution Plan)을 구성하여 질의 키워드를 모두 포함하는 튜플 조인(Tuple Join)을 구성하도록 하는 방식이다. 데이터 그래프 방식은 관계형 데이터베이스에 저장된 모든 데이터를 데이터베이스 스키마를 참조해서 그래프를 만드는 방식이다.
또한, XML 데이터베이스에서의 키워드 검색을 위한 알고리즘은 일반적으로 다음과 같은 방식을 가진다. 첫 번째로, XML 문서에 대해서 라벨링 스킴(Labeling Scheme)을 적용하여 XML 노드 사이의 부모-자식, 조상-자손, 형제 관계를 빠르게 검색할 수 있도록 구성한다. 두 번째로, 키워드에 대한 역 인덱스(Inverted Index)를 구축한다. 세 번째로, 질의 키워드가 들어오면 역 인덱스로부터 키워드가 포함되는 노드 아이디(Node ID)를 검색한 다음에 라벨링 스킴 인덱스로부터 모든 키워드를 포함하는 최소의 XML 트리를 찾아낸다.
그런데, 상기한 바와 같은 종래의 키워드를 이용한 정보 검색 기술들은 관계형 데이터베이스와 XML 데이터베이스에 한정된다는 문제점이 있다. 즉, 종래 방식을 RDF 스키마와 OWL 저장소에 적용하기에는 하기와 같은 문제점을 가지고 있다.
종래 방식은 데이터들이 트리 또는 루프가 없는 그래프에서 키워드 검색이 이루어지고 있다. 하지만 RDF/S와 OWL같은 온톨로지 문서는 루프가 있는 그래프이기 때문에 종래 방식을 적용하기에 한계가 있다. 또한, 종래 방식의 데이터는 데이터의 독립성이 보장된다. 다시 말해서, 데이터의 독립성은 데이터와 데이터 간에 그 연관성이 아주 미약하다는 것이다. 하지만 온톨로지 문서 같은 경우에는 데이터와 데이터 사이의 관계를 기술해주기 위한 서술어(Predicate)를 기술할 수 있다. 예를 들면, “제인의 친구는 존이다.”에 대해서 온톨로지 문서는 트리플(Triple)로서 기술이 되는데 주어로서 “제인", 서술어로서 "친구”, 목적어로서 “존"으로 기술할 수 있다. 즉, 간단하게 표현하면은 (제인, 친구, 존)으로 표현된다. 이와 같이 온톨로지 문서는 데이터가 서로 연관될 수 있기 때문에 키워드 검색 시 이러한 관계를 고려하도록 알고리즘을 개발해야 할 필요가 있다.
따라서, 본 발명은 상술한 문제점을 해결하기 위해 안출된 것으로서, 별도로 온톨로지의 질의 언어에 대한 지식 습득 없이도, 웹 검색 방법과 같이 키워드를 이용하여 온톨로지 정보를 검색할 수 있는 온톨로지 정보 검색 방법 및 장치를 제공하기 위한 것이다.
본 발명의 다른 목적들은 이하에 서술되는 바람직한 실시예를 통하여 보다 명확해질 것이다.
본 발명의 일측면에 따르면, 주어, 서술어, 목적어로 구성되는 트리플(triple) 구조를 갖는 온톨로지(ontology) 저장소에서 키워드를 이용하여 정보를 검색하는 방법에 있어서, (a)입력된 질의 키워드에 상응하는 트리플 노드를 검색하는 단계; (b)상기 트리플 노드에 따른 하나 이상의 상위 경로를 산출하는 단계; 및 (c)상기 상위 경로를 이용하여 상기 트리플 노드가 모두 포함된 결과 그래프를 생성하는 단계를 포함하되, 상기 질의 키워드가 복수개인 경우, 상기 각 질의 키워드에 따른 각각의 상위 경로가 병합된 경로를 이용하여 상기 결과 그래프를 생성하는 것을 특징으로 하는 키워드를 이용한 온톨로지 정보 검색 방법 및 그 방법을 실행하는 프로그램이 기록된 기록매체가 제공된다.
여기서, 상기 단계 (a)는, 키워드(keyword) 및 트리플아이디리스트(Triple-ID-List)를 포함하는 마스터 테이블을 이용하여 상기 트리플 노드를 검색할 수 있 다.
또한, 상기 단계 (b)는, 아이디, ID, 주어, 서술어, 목적어를 포함하는 트리플 테이블에 의한 상위 트리플 인덱스(Upper Triple Index)를 이용하여, 상기 트리플 노드로부터 루트(loot) 노드까지의 상위 경로를 산출할 수 있다.
그리고, 상기 트리플 인덱스는 루프(loop)가 없는 구조로 형성되며, 임의의 노드가 복수개의 넘버링 스키마(Numbering Scheme)를 갖는 멀티넘버링 스키마(Multi-Numbering Scheme)를 사용할 수 있다.
또한, 상기 단계 (c)는 상기 질의 키워드가 복수개인 경우, 상기 질의 키워드 중 그 순서에 따른 n번째 키워드의 상위 경로 중 하나와 가장 유사한 n+1번째 키워드의 상위 경로를 검색하여 서로 병합할 수 있다.
그리고, 상기 n번째 키워드의 상위 경로와 상기 n+1번째 키워드의 상위 경로간의 유사도를 이용하여 상기 결과 그래프의 유사도를 측정할 수 있다.
또한, 두 상위 경로간의 상기 유사도는 하기의 수학식에 의해 산출될 수 있다.
상위 경로 i와 k간의 유사도 = (동일 노드 수 / 상위 경로i의 길이(Path_i.length) + 동일 노드 수/상위 경로k의 길이(Path_k.length)) / 2
또한, 상기 결과 그래프는 상기 질의 키워드 각각에 따른 트리플 노드가 하나 이상씩 모두 포함될 수 있다.
또한, 상기 결과 그래프를 상기 결과 그래프에 포함된 트리플 노드에 따른 RDF 그래프로 변환하는 단계를 더 포함할 수 있다.
본 발명의 다른 측면에 따르면, 입력된 키워드를 이용하여 트리플(triple) 구조를 갖는 온톨로지(ontology) 저장소의 정보를 검색하는 검색 장치에 있어서, 입력된 질의 키워드에 상응하는 트리플 노드를 검색하는 트리플노드 검색부; 상기 각 트리플 노드에 따른 하나 이상의 상위 경로를 산출하는 상위경로 산출부; 및 상기 상위 경로를 이용하여 상기 트리플 노드가 모두 포함된 결과 그래프를 생성하되, 상기 질의 키워드가 복수개인 경우 상기 각 질의 키워드에 따른 각각의 상위 경로가 하나씩 병합된 경로를 이용하여 상기 결과 그래프를 생성하는 경로 병합부를 포함하는 온톨로지 정보 검색 장치가 제공된다.
여기서, 상기 결과 그래프를 상기 결과 그래프에 포함된 트리플 노드에 따른 RDF 그래프로 변환하는 결과 출력부를 더 포함할 수 있다.
본 발명에 따르면, 별도로 온톨로지 저장소의 질의 언어에 대한 사전 지식 없이도, 마치 웹상에서의 문서 검색 방법과 같이 키워드만을 이용하여 온톨로지 정보를 검색할 수 있어 사용상의 편의성을 제공할 수 있다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
이하, 첨부한 도면들을 참조하여 본 발명에 따른 실시예들을 상세히 설명하기로 하며, 첨부 도면을 참조하여 설명함에 있어 도면 부호에 상관없이 동일하거나 대응하는 구성 요소는 동일한 참조번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.
도면을 참조하여 본 발명에 따른 키워드를 이용한 온톨로지 정보 검색 방법을 설명하기에 앞서, 온톨로지에 대해 간략하게 설명하기로 한다.
W3C를 중심으로 하고 있는 시멘틱 웹(Semantic Web) 기술은 크게 RDF, RDF-S(RDF Schema)와 DAML+OIL, OWL 등의 온톨로지 언어들을 꼽을 수 있다. 가장 기초가 되는 것은 RDF로, 이는 특정 자원에 대한 메타 데이터를 기술하는 XML 기반의 프레임워크이다. RDF는 레코드(record)를 하나의 기술 단위로 취급해온 기존의 방식과는 달리 자원, 속성, 속성 값을 하나의 단위로 취급하는 이른바 “Triple" 개념이 그 핵심이다. 자원 속성 표현의 세분화로 인해 자원에 대한 좀 더 정교한 기술이 가능해지고, 자원들 간의 관계 설정이 속성(Predicate)를 통해 무한으로 가능하게 되어진다. 각각의 자원들은 URI를 통해 고유 식별자를 가지게 된다. 그리고 자원을 기술하는 속성 명 또한 고유한 URl를 통해 XML Namespace에 정의되어진 속성을 사용함으로써 상호간 의미 충돌을 막는다. 속성의 값으로는 다른 URI가 지정될 수 있으며, 속성 값으로 지정된 자원 역시 다시 기술의 대상이 되기 때문에 그 자원에 대한 속성과 속성 값을 다시 부과할 수 있다.
RDF에서 자원을 기술하는 트리플(Triple)을 다시 한번 살펴보면, 자원을 나 타내는 주어(Subject), 속성을 나타내는 술어(Predicate), 속성의 값을 나타내는 목적어(Object)로 나눌 수 있다.
예를 들어, “http://www.w3.org/Home/Lassila” 라는 웹의 작성자가 Ora Lassila라는 것을 표현하자면, 주어(Subject)는 “http://www.w3.org/Home/Lassila”, 술어(Predicate)는 “creator", 목적어(Object)는 "Ora Lassila"가 된다.
RDF를 기반으로 하여, 기술 대상이 되는 자원이 어떠한 클래스에 속하며, 그 자원을 기술하는데 필요한 속성에 대한 정의를 가능케 하는 스키마 언어가 등장하게 되었는데 이것이 바로 RDF-Schema이다. 이는 클래스와 클래스 간의 관계, 속성과 속성간의 관계 등을 정의할 수 있으며, 사람이 이해하는 동시에 기계 처리가 가능한 형태로 메타데이터의 속성과 클래스 간의 관계의 표현이 가능하게 되었다. 그리고 이러한 RDF-Schema에서도 충분하지 못했던 모델링 요소들을 좀 더 확장하여 강화한 것이 온톨로지 언어이다. 온톨로지 언어는 RDF-Schema에 좀더 다양한 표현력을 부가해 논리적인 추론이 가능하게 하여 비로소 웹의 의미를 기계가 이해할 수 있는 단계까지 발전시켜 Semantic Web을 완성하게 된다. 대표적인 RDF 기반의 온톨로지 언어로는 상기한 바와 같이 DAML+OIL, OWL(Web Ontology Language) 등이 있다.
이하, 도면을 참조하여, 본 실시예에 따른 키워드를 이용한 온톨로지 정보 검색 방법에 대해 설명하기로 한다.
도 1은 본 발명의 일 실시예에 따른 키워드를 이용한 온톨로지 정보 검색 과정을 개략적으로 도시한 흐름도이다.
도 1을 참조하면, n개의 질의 키워드(Query Keyword)가 입력되면 마스터 인덱스(Master Index)로부터 질의 키워드와 동일한 각 키워드를 포함하는 트리플 아이디리스트(triple ID list)를 온톨로지 저장소(즉 PDF-S와 OWL)에서 추출한다(s110). 즉, 입력된 질의 키워드에 상응하는 트리플을 검색한다.
마스터 인덱스는 관계형 데이터베이스 기반의 키워드 검색에서 제안된 인덱스로서 정보 검색의 역 인덱스(Inverted Index)와 같은 구조이다. 즉, 마스터 인덱스는 키워드를 주키(Primary Key)로 하여 키워드를 포함하는 트리플을 저장하는 구조로 되어 있다(도 3의 마스터 테이블 참조). 결과적으로, 키워드와 관련된 트리플 을 빠른 시간 안에 검색할 수 있는 장점이 있기 때문에 이러한 구조가 널리 사용되고 있다. 마스터 인덱스에 의한 결과는 사용자 키워드 k1부터 kn에 대해서 부터 까지의 트리플 리스트이다.
다음으로, 상위 트리플 인덱스(Upper Triple Index)로부터 트리플 아이디리스트에 따른 각 트리플 노드에서부터 그래프의 루트(root) 노드까지의 경로인 상위 경로(upper path, ~)를 검색한다(s120). 물론 하나의 트리플 노드에 따른 상위 경로는 복수개일 수 있음은 당연하다.
상위 트리플 인덱스(도 4 참조)는 마스터 인덱스로부터 검색된 트리플 리스트에 따른 각 트리플 노드로부터 RDF 그래프의 최상위 루트까지의 경로를 검색하기 위해 사용된다. 예를 들면 로부터 상위 트리플 인덱스에서 범위 질의(Range Query)를 통해서 빠르게 상위 경로 를 검색한다. 상위 경로를 검색하는 이유는, 키워드 검색의 결과가 모든 키워드를 포함하는 그래프(도 8의 참조번호 840 내지 846 참 조)를 찾아내는 것이기 때문에 이러한 키워드를 포함하는 트리플은 그래프의 마지막 노드에 위치하게 된다. 따라서 마지막 노드부터 상위 노드로까지의 경로를 찾아내어서 이러한 경로의 병합을 하게 되면 모든 키워드를 포함하는 그래프를 찾아낼 수 있게 되는 것이다.
따라서, 검색된 각 트리플 노드에 대한 각각의 상위 경로를 이용하여 경로 병합(path merge)를 수행함으로써 최종적으로 사용자가 입력한 모든 질의 키워드를 포함하는 하나 이상의 그래프(~)를 검색 결과로서 출력한다(s130).
이하에서는 이해의 편의를 위해 온톨로지 저장소에 저장되는 하나의 트리플 테이블을 예로 들어 설명하기로 한다.
도 2는 본 발명의 일실시예에 따른 RDF 그래프를 도시한 예시도이고, 도 3 내지 도 5는 본 발명의 일실시예에 따른 도 2에 상응하는 트리플 테이블, 상위 트리플 인덱스 및 마스터 테이블을 도시한 예시도이다.
먼저 도 2를 참조하면, RDF 그래프는 RDF-S 또는 OWL에 대한 논리적 그래프를 나타내는 것으로서 W3C에 의해 표준으로 제정된 모델이다. 본 실시예에 따른 RDF 그래프는 Human 사이의 관계를 간략하게 표현한 것이다. 예를 들면 “Jane은 James의 여자친구이다”를 표현하기 위해서 트리플 관계인 Jane(201), girlFriendOf(202), James(203) 노드로 표현된다. 다른 트리플들도 마찬가지의 구조로서 표현함으로써 Human에 대한 하나의 그래프를 생성한 것이다.
트리플 테이블은 RDF-S와 OWL 저장소 등의 온톨로지 저장소에서의 가장 기본이 되는 테이블 구조를 나타낸다. 도 2에 도시된 RDF 그래프는 도 3에 도시된 바와 같은 트리플 테이블로 표현될 수 있다. RDF-S와 OWL 문서는 트리플의 집합으로서 표현할 수 있기 때문에 이러한 구조는 온톨로지 저장소에서 일반적으로 많이 사용되는 구조이다. 전술한 바와 같이, 트리플은 주어(Subject), 서술어(Predicate), 목적어(Object)의 형태로 표현되기 때문에 도 3에 도시된 바와 같이 트리플 테이블은 ID, Subject, Predicate, Object를 포함하는 구조를 가질 수 있다.
도 4에 도시된 상위 트리플 인덱스는 도 3의 트리플 테이블로부터 생성된다. 각각의 트리플은 트리플 테이블에서 유일한 아이디(ID)를 가지고 있으며 상위 트리플 인덱스는 트리플 아이디를 노드로 가지면서 루프(loop)가 없는 그래프 구조로 되어 있다. 즉 도 2의 RDF 그래프를 보면 James 노드, boyFriendOf 노드, jane 노드, girlFriendOf 노드는 루프를 가진 반면, 그에 상응하는 도 4에 따른 상위 트리플 인덱스의 노드 6 ,7, 9, 10번은 루프를 가지지 않는다. 다시 말해 트리플들 사이의 연관성은 참조성으로써 연결시키게 된다. 즉, 트리플 아이디 (14, Male, owl:disjointWith, Female)의 경우에 Male, Female를 포함하는 트리플과 연관이 있게 된다. 따라서 트리플 아이디 2, 3번으로부터 14번이 구성되었기 때문에 도 4의 상위 트리플 인덱스에서 보는 것처럼 화살표 방향이 14번으로 들어오는 형태로 된 것이다. 이는 전술한 바와 같이 루프가 없는 구조인 관계형 데이터베이스 또는 XML 데이터베이스에서 사용되는 키워드 검색 방법을 적용할 수 있는 효과가 있다.
도 5를 참조하면, 마스터 테이블은 마스터 인덱스를 나타내는 것으로서, 정보 검색에서 다루어지는 역 인덱스와 같은 구조이다. 테이블 스키마는 (ID, Keyword, TripleIDList)로 되어 있다. 이러한 구조는 도 1의 s110에서의 질의 키워 드에 상응하는 트리플 아이디리스트(triple ID list)의 추출을 용이하게 한다. 즉, 마스터 테이블은 입력으로 들어오는 질의 키워드를 포함하는 트리플을 빠르게 검색하기 위한 것이다. 예를 들면 Human을 포함하는 트리플은 “1,2,3”으로 인덱스 검색을 통해서 빠르게 검색할 수 있다. 이에 비해, 만일 마스터 인덱스가 없는 경우 그래프 탐색을 통해 RDF 그래프의 모든 노드를 검색해야 되며, 이는 프로세싱 부하가 많아 매우 비효율적이다.
정리하면, 도 1의 s110에서 마스터 인덱스는 입력된 질의 키워드에 상응하는 주키를 갖는 트리플 아이디 리스트를 마스터 테이블로부터 추출할 수 있다.
이하, 도 1의 s120에 따른 상위 트리플 인덱스가 트리플 아이디 리스트에 따른 트리플 노드로부터 루트 노드까지의 경로를 탐색하는 방법에 대해 설명하기로 한다.
도 6은 본 발명의 일실시예에 따른 상위 트리플 인덱스로부터 멀티넘버링 스키마(Multi-Numbering Scheme)를 적용한 상위 트리플 인덱스 테이블을 예시한 도면이다.
도 6을 참조하면, 본 실시예에 따른 멀티넘버링 스키마(610)는 기존의 XML 인덱스에서 넘버링 스키마로서 사용되는 인덱스 기법을 확장한 인덱스이다. 넘버링 스키마는 XML 노드의 부모-자식, 조상-자손, 형제 관계를 빠르게 질의하기 위한 인덱스로서 각 XML 노드는 시작 번호(start number) 및 종료 번호(end number)를 갖는다. 예를 들면 XML 노드로서 "School" 엘리먼트의 하부 엘리먼트로 “Building" 엘리먼트를 기술한 경우를 가정하면 이 두 노드사이에는 부모-자식 관계를 가지고 있게 된다. 하지만 School과 Building과의 연결 관계를 별도로 기술하지 않으면 그 관계를 검사하기가 어렵다. 따라서 School을 (1, 10)으로 Building을 (2, 9)로 번호를 부여하면 "School.start < Building.start AND School.end > Building.end"라는 조건을 만족하면 부모-자식 관계라는 것을 빠르게 판단할 수 있는 것이다. 즉, 이와 같은 범위 질의(Range Query)를 통해서 빠르게 관계를 판단할 수 있을 뿐만 아니라 빠르게 해당조건을 만족하는 노드들을 찾아낼 수 있다. 이러한 장점을 상위 트리플 인덱스에 적용함으로써 각 트리플 아이디에서 루트까지의 경로를 빠르게 찾아낼 수 있다. 하지만 Numbering Scheme을 적용할 수 있는 XML 문서는 트리 형태일 경우에 가능하다. 이러한 제한 때문에 본 실시예에서는 각 노드가 다수의 넘버링 스키마를 가질 수 있는 멀티넘버링 스키마를 제시한다.
본 실시예에서 제공하는 상위 트리플 인덱스는 트리 형태가 아니면서도 루프가 없는 그래프이기 때문에 노드가 다수의 넘버링 스키마를 가질 수 있게 변형이 가능하다. 도면의 멀티넘버링 스키마(610) 또는 그에 따른 테이블(620)을 참조하면, 트리플 아이디 7번은 (10,11), (18,19)에 따른 두 개의 넘버링 스키마를 가지고 있다. 따라서 7번 노드의 상위 경로는 (1-2-6-7)과 (1-3-9-7)의 두 개가 있을 수 있다. 이 두 경로를 찾아내기 위해서 7번 노드의 넘버링 스키마는 (10,11)에 의해서 start가 10보다 작고 end가 11보다 큰 노드를 찾으면 되며, 이에 따라 6(7,14), 2(2,15), 1(1,30) 번 노드를 범위 질의에 의해서 빠르게 찾을 수 있다. 또한 (18,19)에 대해서도 마찬가지 방법으로 범위 질의를 하면 9(17,24), 3(16,29), 1(1,30)번 노드를 찾을 수 있다.
이와 같이, 상위 트리플 인덱스는 멀티넘버링 스키마를 이용하여 입력된 키워드에 상응하는 트리플 노드로부터 루트 노드까지의 상위 경로를 모두 산출할 수 있다.
이하에서는, 본 발명의 온톨로지 정보의 검색 방법에 따른 마지막 단계인 s120에서 산출된 상위 경로들을 병합하여 입력된 키워드를 포함하는 결과 그래프를 생성하는 s130에 대해 상세하게 설명하고자 한다.
도 7은 본 발명의 일실시예에 따른 상위 경로를 병합하는 과정을 도시한 흐름도이고, 도 8은 본 발명의 일실시예에 따른 상위 경로의 병합과정을 예시한 도면이다.
상위 경로의 병합은 사용자가 입력한 각 키워드에 따른 각각 트리플 노드가 최소 하나씩은 모두 포함하는 그래프를 생성하는 것이 목적이다.
도면을 참조하여 본 실시예에 따른 상위 경로 병합 과정을 설명하기에 앞서 그 처리 과정을 개략적으로 설명하자면, 실제로 각 키워드에 해당되는 상위 경로를 병합하기 위해서는 모든 경우를 고려해서 유사도가 가장 높은 경로를 병합해야 하지만 이러한 방식은 계산 복잡도가 NP-Complete에 가까워 그 처리 속도가 느려질 수 때문에 본 실시예에서는 탑-다운(Top-Down) 방식에 의해서 병합을 진행한다. 다시 말해서, 사용자 입력 키워드의 순서에 따라서 병합이 이루어진다. 도 2의 RDF 그래프를 참조하여 하나의 예를 들면 “Jane, girlFirendOf, height"의 키워드가 들어왔을 때, 먼저 Jane에 따른 트리플 노드들의 상위 경로 중 하나를 선택하고, 이와 가장 유사한 상위 경로를 갖는 girlFriendOf의 상위 경로를 서로 병합한다. 이후, Jane과 girlFriendOf의 상위 경로가 병합된 경로와 height의 상위 경로를 병합한다. 그러면, Jane의 상위 경로, girlFriendOf의 상위 경로, height의 상위 경로가 병합된 하나의 그래프가 생성된다. 그리고 Jane의 다른 상위 경로를 선택하여 위와 같은 과정을 반복하게 되는 것이다. 알고리즘의 종료 시점은 Jane의 모든 상위 경로에 대한 병합된 그래프가 생성되었을 때 종료된다. 이렇게 진행하는 이유는 사용자가 입력하는 키워드의 경우에 먼저 입력하는 키워드가 뒤에 위치한 키워드보다 중요도가 더 높기 때문이다. 또한, 가장 유사한 상위 경로를 선택하는 이유는 복수의 키워드를 포함하는 경로가 가장 가깝다는 것을 의미하기 때문이다. 즉, 노드의 개수가 가장 작게 그래프를 생성한다는 것은 의미적으로 응집도가 높다는 것을 나타낸다.
도 7을 참조하여 그 처리 과정을 설명하자면, 상술한 바와 같이 마스터 인덱스와 상위 트리플 인덱스로부터 검색된 각 키워드에 따른 트리플 노드로부터의 상위 경로가 입력되면, 상기한 탑다운 방식에 따라 입력된 첫번째 키워드(이하 키워드1)에 상응하는 상위 경로 배열(UP[N])을 저장한다(S701). 여기서 N은 첫 번째 키워드의 상위 경로의 개수이다.
다음으로 경로들의 병합을 위한 병합 경로 배열(MergedPath[KN])을 생성하고, 그에 따른 인덱스 값들(UP_KW1, KW_Index)을 정의한다(S703). 병합 경로 배열은 병합된 상위 경로를 일시적으로 저장하는 배열로서 질의 키워드의 개수만큼의 배열 크기를 가진다. 즉 KN은 키워드의 개수이다. 그리고 UP_KW1은 키드워1의 상위 경로 배열인 UP[N]의 인덱스를 나타내고, KW_Index는 병합하고자 하는 키워드의 인 덱스를 의미한다. 즉, KW_Index가 2이면 키워드2를 나타내는 것이다.
S705에서 UP_KW1의 크기가 N보다 작다는 것은 아직 병합할 첫 번째 키워드의 상위 경로가 남아있다는 것을 의미함은 쉽게 알 수 있을 것이다. S705에서의 판단 결과가 "YES" 일 경우 해당 키워드1의 상위 경로를 TargetUP에 저장하고 MergedPatth[1]에 TargetUP를 저장한다(S707).
이후, KW_Index가 KN보다 작은지를 판단함으로써 병합하고자 하는 키워드가 있는지를 검사한다(S709). 있을 경우에 KW_Index에 해당하는 키워드에 대한 트리(Tree)를 생성하고(S711), Tree를 이용하여 TargetUP와 가장 유사한 KW_Index에 해당하는 상위 경로를 UPWithMaxSim에 저장한다(S713). 예를 들어, 키워드1의 상위 경로와 키워드2의 상위 경로를 병합하고자 할 때, 키워드2의 상위 경로들 중 상기 선택된 키워드1의 상위 경로와 가장 유사한 경로가 선택되어 UPWithMaxSim에 저장되는 것이다. 여기서, 유사한 상위 경로를 선택함에 있어, 그 유사도를 함께 산출할 수 있다. 예를 들어 키워드1의 상위 경로(이하 상위 경로1)와 키워드2의 상위 경로(이하 상위 경로2)의 유사도는, 상위 경로1과 상위 경로2에 함께 존재하는 경로 상의 노드수를 이용하여 산출할 수 있다. 그 예는 도 8을 참조하여 후술하기로 한다.
다음으로 TargetUP에 현재 검색된 UPWithMaxSim을 저장하고(S715), TargetUP를 다시 MergedPath[KW_Index]에 저장하며(S717), 병합하고자 하는 다음 키워드(예를 들어 세 번째 키워드)를 선택하기 위해, 그 다음 루프에 대한 KW_Index를 증가시킨다. 그리고 다시 S709로 진행하여 병합할 키워드가 더 있는지를 체크하게 된 다. 이와 같은 순서로 키워드1의 상위 경로와 가장 유사한 키워드2의 상위 경로가 검색되고, 검색된 키워드2의 상위 경로와 가장 유사한 키워드3의 상위 경로를 검색되며, 같은 방식으로 이후의 키워드에 따른 상위 경로들이 검색되어 MergedPath[]에 저장된다.
S709에서의 판단 결과, 만일 병합할 키워드가 더 이상 존재하지 않으면 지금까지 검색된 MergedPath를 이용하여 그래프를 생성한다(S519). 즉, 모든 키워드에 따른 각각의 트리플 노드들이 최소 하나 이상 모두 포함된 그래프를 생성한다. 그래프 생성 시 키워드에 따른 트리플 노드를 제외한 나머지 노드는 제거된다(도 8 참조).
이후 첫 번째 키워드에 대한 다음 상위 경로를 지정하기 위해서 UP_KW1을 1증가시키고 KW_Index는 첫 번째 키워드의 다음에 해당되는 키워드를 지정하기 위해서 KW_Index를 다시 2로 설정한 이후(S521), S705로 진행한다. 다시 UP_KW1이 N보다 작으면 위의 과정을 반복하고 첫 번째 키워드의 모든 상위 경로에 해당되는 그래프가 생성되었으면 "NO"로 넘어가면서 처리 과정이 종료된다.
본 실시예에 따른 질의 키워드에 상응하는 각 상위 경로를 병합하는 방법을 정리하지면, 업다운 방식에 따라 첫 번째 키워드의 모든 상위 경로에 대해 가장 유사한 그 다음 키워드들의 상위 경로들을 검색하여 각각 병합함으로써, 모든 질의 키워드에 상응하는 트리플 노드들을 포함하는 그래프를 생성할 수 있다.
이하 이해의 편의를 위해 도 8을 참조하여 키워드들에 따른 상위 경로의 병합 및 그에 따른 키워드의 트리플 노드들로 구성된 그래프를 생성하는 예를 설명하 기로 한다.
여기서, 본 실시예는 상기한 예와 같이, 질의 키워드가 “Jane, girlFirendOf, height"인 경우를 예로 들어 설명하기로 한다.
도 8을 참조하면, 우선, 키워드의 순서가 "Jane, girlFirendOf, height"이기 때문에 병합 순서도 이순서대로 진행된다는 것은 도 7의 처리 과정을 설명하면서 언급하였다. Jane, girlFirendOf 및 height의 트리플 노드는 각각 (7, 9, 10, 11), (10) 및 (5, 8, 11, 13)번 노드이다.
먼저 Jane의 트리플 노드에 대한 상위 경로는 7-6-2-1, 7-9-3-1, 9-3-1, 10-6-2-1 등이 있을 수 있다. 본 실시예에서는 7-6-2-1, 10-6-2-1 및 9-3-1에 따른 키워드1인 Jane의 상위 경로를 예로 들어 설명하기로 한다.
Jane의 상위 경로(810, 812, 814)에서 각각의 경로에 대해서 경로 병합을 진행한다. 먼저 7-6-2-1(810)과 girlFriendOf의 상위 경로중에서 유사도가 가장 높은 경로를 선택한다. girlFriendOf의 상위 경로중에서 유사도가 가장 높은 경로는 일치하는 노드의 수가 가장 많을 경우이기 때문에 일치하는 노드를 따라 트리 검색을 하게 되면 그 경로가 가장 유사도가 높게 된다. 이때 유사도는 다음과 같은 함수에 의해서 계산되고 이 유사도는 생성된 그래프의 유사도 계산에 사용된다.
경로 "i"와 "k"간 유사도(Similarity) S = ( the number of the same node / Path_i.length + the number of the same node / Path_k.length ) / 2
즉, 유사도는 각 키워드에 대해 상위 경로 노드 수 대비 동일 경로 노드 수 의 합에 의해 산출된다.
상기에서 선택된 girlFriendOf의 상위 경로 10-6-2-1(820)이 유사도가 가장 높기 때문에 이 경로를 height의 상위 경로와 병합을 한다. 이 경우도 상기에서 논의했던 방식과 유사하게 height의 상위 경로를 트리로 구성하고 일치 하는 노드를 따라 검색을 진행하면 height의 상위 경로 8-6-2-1(830)이 가장 유사한 경로로 선택된다. height 다음의 키워드가 없기 때문에 지금까지 선택된 상위 경로를 가지고 그래프를 생성한다. 따라서 jane의 7-6-2-1(810), girlFriendOf의 10-6-2-1(820), height의 8-6-2-1(830)를 병합한 그래프는 참조번호 840과 같이 생성되며 그 중에서 각 키워들 포함하는 노드가 10, 8, 7에 있기 때문에 이 노드를 포함하는 최소의 그래프는 6, 10, 8, 7이 된다. 따라서, 1, 2번 노드는 제거된 그래프가 최종 결과로써 산출될 수 있다. 또한 이 그래프의 유사도는 지금까지 계산한 유사도의 평균으로 계산되어서 0.75가 된다.
Jane의 상위 경로 중 하나인 7-6-2-1(810)에 대해서 그래프가 검색되었으며 그 다음으로 10-6-2-1(812)에 대해서 그래프 생성을 위한 경로 병합을 진행한다. 상기에서 설명했던 방식으로 똑같이 경로 병합이 이루어진다. 그러나 이때 계산의 중복이 발생될 수 있으며, 이 경우에는 중복된 계산을 수행하지 않아도 된다. 예를 들어, Jane의 상위 경로 10-6-2-1(812)과 유사한 girlFriendOf의 상위 경로는, 7-6-2-1(810)와 유사한 상위 경로인 10-6-2-1(820)과 그 유사도는 상이하지만 이전과 같이 서로 동일하다. 따라서, 세 번째 키워드(height)의 상위 경로도 동일하며, 이에 따라 height의 상위 경로 선택은 중복된 계산이 된다. 따라서 이러한 중복된 계 산을 제거하기 위해서 이전의 경로 선택의 결과를 미리 버퍼에 저장함으로써 빠르게 경로를 선택할 수 있다. 따라서, Jane의 두 번째 상위 경로인 10-6-2-1(812)에 따른 병합된 경로에 상응하는 결과 그래프는 참조번호 842와 같이 6, 10, 8을 노드로 가지며 유사도는 0.875의 값을 가진다.
또한, Jane의 세 번째 상위 경로인 9-3-1(814)에 따른 girlFriendOf의 상위 경로 10-9-3-1(822) 및 height의 상위 경로 11-9-3-1(832)가 병합되어 참조번호 846과 같은 노드 9, 10, 11을 가지며 유사도 0.8125를 갖는 그래프가 생성된다.
이와 같이 Jane의 모든 경로에 대해서 각각의 하나의 그래프가 생성되며 그래프 생성시에 유사도를 계산하기 때문에 최종결과는 유사도가 높은 순서대로 주어진 질의 키워드의 결과가 된다.
추가적으로 도면에는 도시되지 않았으나, 마지막 단계는 유사도의 내림차순으로 정렬된 그래프를 원래의 RDF 트리플로 변환을 시켜줘야 한다. 왜냐하면 지금까지 검색한 그래프는 트리플 아이디를 노드로 한 결과이기 때문에 이 그래프의 노드 아이디를 트리플로 변환함으로써 최종결과를 얻어오게 된다. 이는 당업자에게는 자명할 것이므로 더욱 상세한 설명은 생략하기로 하되, 하나의 예를 들면, 참조번호 842의 그래프(6, 10, 8번 노드 포함)에 따른 결과값은 "Jane은 James의 여자친구이고, James는 남자이며 키가 180cm“일 수 있다.
이하, 상술한 바와 같은 키워드를 이용한 온톨로지 정보 방법을 수행하는 온톨로지 정보 검색 시스템에 대해 설명하고자 한다.
도 9는 본 발명의 일실시예에 따른 온톨로지 정보 검색 시스템을 개략적으로 도시한 구성도이다.
도 9를 참조하여 온톨로지 정보 검색 시스템을 설명함에 있어, 온톨로지 정보 검색 방법에 대한 중복되는 설명은 생략하기로 한다.
도 9에 도시된 바와 같이, 본 실시예에 따른 시스템은 온톨로지 저장소(910), 검색 장치(930) 및 사용자 단말기(950)를 포함한다.
사용자 단말기(950)는 검색 장치(930)를 통해 온톨로지 저장소(910)의 정보를 검색하기 위한 디바이스로, 예를 들어 일반 컴퓨터일 수 있다.
검색 장치(930)는 사용자 단말기(950)와 통신하기 위한 인터페이스부(932) 및 온톨로지 저장소(910)의 정보를 검색하는 검색 엔진부(934)를 포함할 수 있다. 사용자 단말기(950)는 인터넷망 등의 통신망을 통해 검색 장치(930)의 인터페이스부(932)와 통신하여 검색 장치(930)의 기능(즉, 온톨로지 정보 검색)을 이용할 수 있다. 즉, 사용자는 자신의 사용자 단말기(950)를 이용하여 검색 장치(930)에 접속한 이후, 질의 키워드를 전송함으로써 질의 키워드에 따른 온톨로지 정보를 취득할 수 있다.
검색 장치(930)의 검색 엔진부(934)는 온톨로지 저장소(910)의 정보를 검색하기 위한 것으로, 트리플노드 검색부(941), 상위경로 산출부(942), 경로 병합부(943) 및 결과 출력부(944)를 포함할 수 있다.
검색 장치(930)의 트리플노드 검색부(941)는 온톨로지 저장소(910)의 마스터 테이블(914)로부터 트리플 노드아이디리스트를 검색하도록 기능한다. 전술한 바와 같이 마스터 테이블은 트리플 테이블(912)을 이용하여 생성할 수 있다.
상위경로 산출부(942)는 트리플 테이블(912)에 따른 상위 트리플 인덱스를 이용하여 각 트리플 노드에 따른 하나 이상의 상위 경로를 산출하도록 기능하며, 그 방법은 상술하였으므로 상세한 설명은 생략한다.
경로 병합부(944)는 상술한 바와 같이 산출된 각 질의 키워드에 따른 하나씩의 상위 경로를 서로 병합하고 그에 따른 결과 그래프를 생성하도록 기능한다. 생성된 결과 그래프는 결과 출력부에 의해 트리플에 따른 RDF 그래프로 변환되어 인터페이스부(932)를 통해 사용자 단말기(950)로 제공될 수 있다.
따라서, 본 실시예에 따르면, 사용자는 자신의 사용자 단말기(950)를 이용하여 검색 장치(930)에 접속하고, 단순히 키워드를 입력함으로써 트리플 구조의 온톨로지 저장소(910)의 정보들을 손쉽게 검색할 수 있다.
상술한 바와 같은 본 발명의 방법은 프로그램으로 구현되어 컴퓨터로 읽을 수 있는 기록매체(씨디롬, 램, 롬, 플로피 디스크, 하드디스크, 광자기디스크 등)에 저장될 수 있다.
또한, 상기한 본 발명의 바람직한 실시예는 예시의 목적을 위해 개시된 것이고, 본 발명에 대해 통상의 지식을 가진 당업자라면 본 발명의 사상과 범위 안에서 다양한 수정, 변경, 부가가 가능할 것이며, 이러한 수정, 변경 및 부가는 하기의 특허청구범위에 속하는 것으로 보아야 할 것이다.
도 1은 본 발명의 일 실시예에 따른 키워드를 이용한 온톨로지 정보 검색 과정을 개략적으로 도시한 흐름도.
도 2는 본 발명의 일실시예에 따른 RDF 그래프를 도시한 예시도.
도 3 내지 도 5는 본 발명의 일실시예에 따른 도 2에 상응하는 트리플 테이블, 상위 트리플 인덱스 및 마스터 테이블을 도시한 예시도.
도 6은 본 발명의 일실시예에 따른 상위 트리플 인덱스로부터 멀티넘버링 스키마(Multi-Numbering Scheme)를 적용한 상위 트리플 인덱스 테이블을 예시한 도면.
도 7은 본 발명의 일실시예에 따른 상위 경로를 병합하는 과정을 도시한 흐름도.
도 8은 본 발명의 일실시예에 따른 상위 경로의 병합과정을 예시한 도면.
도 9는 본 발명의 일실시예에 따른 온톨로지 정보 검색 시스템을 개략적으로 도시한 구성도.

Claims (12)

  1. 주어, 서술어, 목적어로 구성되는 트리플(triple) 구조를 갖는 온톨로지(ontology) 저장소에서 키워드를 이용하여 정보를 검색하는 방법에 있어서,
    (a)트리플 아이디, 주어, 서술어 및 목적어로 구성되고 상기 온톨로지 저장소에 대한 논리적 그래프와 대응되는 트리플 테이블 내의 다수의 트리플 노드들 중에서 사용자로부터 입력된 복수개의 질의 키워드 각각과 동일한 키워드를 포함하는 2 이상의 트리플 노드를 검색하는 단계;
    (b)상기 다수의 트리플 노드들의 트리플 아이디를 노드로 가지면서 상기 논리적 그래프 내에서의 상기 다수의 트리플 노드들의 연결관계에 기초하여 노드의 연결관계가 정의되며 루프(loop)가 없는 그래프 구조로 된 상위 트리플 인덱스(Upper Triple Index)를 이용하여, 상기 논리적 그래프 내에서의 상기 2 이상의 트리플 노드로부터 루트 노드까지의 경로(상위 경로)를 상기 복수개의 질의 키워드 별로 하나 이상씩 산출하는 단계; 및
    (c)상기 복수개의 질의 키워드 별로 상기 하나 이상의 상위 경로 중에서 하나의 상위 경로를 선택하고, 상기 복수개의 질의 키워드 별로 선택된 하나의 상위 경로들을 병합하여 상기 복수개의 질의 키워드를 모두 포함하는 하나 이상의 결과 그래프를 생성하는 단계를 포함하는 것을 특징으로 하는 키워드를 이용한 온톨로지 정보 검색 방법.
  2. 제 1항에 있어서, 상기 단계 (a)는,
    상기 키워드(keyword) 및 상기 키워드를 포함하는 트리플 노드의 트리플 아이디의 집합인 트리플 아이디 리스트(Triple-ID-List)를 포함하는 마스터 테이블을 이용하여 상기 2 이상의 트리플 노드를 검색하는 것을 특징으로 하는 키워드를 이용한 온톨로지 정보 검색 방법.
  3. 삭제
  4. 제 1항에 있어서,
    상기 상위 트리플 인덱스를 구성하는 노드들은 멀티넘버링 스키마(Multi-Numbering Scheme)에 따라 복수개의 넘버링 스키마(Numbering Scheme)를 갖는 것을 특징으로 하는 키워드를 이용한 온톨로지 정보 검색 방법.
  5. 삭제
  6. 삭제
  7. 제 1항에 있어서,
    상기 복수개의 질의 키워드 중 그 순서에 따른 n번째 질의 키워드에 대한 상기 하나의 상위 경로와 병합될 n+1번째 질의 키워드에 대한 상기 하나의 상위 경로는 상기 n+1번째 질의 키워드에 대한 상기 하나 이상의 상위 경로 중에서 상기 n번째 질의 키워드에 대한 상기 하나의 상위 경로와 유사도가 최대인 것이고,
    상기 유사도는 하기의 수학식에 의해 산출되는 것을 특징으로 하는 키워드를 이용한 온톨로지 정보 검색 방법.
    상위 경로 i와 상위 경로 k간의 유사도 = (상위 경로 i와 상위 경로 k에 존재하는 동일 노드 수 / 상위 경로 i의 길이(Path_i.length) + 상위 경로 i와 상위 경로 k에 존재하는 동일 노드 수/상위 경로k의 길이(Path_k.length)) / 2
  8. 제 1항에 있어서,
    상기 하나 이상의 결과 그래프에는 상기 복수개의 질의 키워드 각각에 따른 트리플 노드가 하나 이상씩 모두 포함되는 것을 특징으로 하는 키워드를 이용한 온톨로지 정보 검색 방법.
  9. 제 8항에 있어서,
    상기 하나 이상의 결과 그래프를 상기 하나 이상의 결과 그래프에 포함된 트리플 노드에 따른 RDF 그래프로 변환하는 단계를 더 포함하는 키워드를 이용한 온톨로지 정보 검색 방법.
  10. 제1항, 제2항, 제4항, 제7항 내지 제9항 중 어느 한 항의 방법을 수행하기 위한 명령어들의 조합이 유형적으로 구현되어 있으며 디지털 정보 처리 장치에 의해 판독 가능한 프로그램이 기록된 기록 매체.
  11. 사용자로부터 입력된 복수개의 질의 키워드를 이용하여 트리플(triple) 구조를 갖는 온톨로지(ontology) 저장소의 정보를 검색하는 검색 장치에 있어서,
    트리플 아이디, 주어, 서술어 및 목적어로 구성되고 상기 온톨로지 저장소에 대한 논리적 그래프와 대응되는 트리플 테이블 내의 다수의 트리플 노드들 중에서 상기 복수개의 질의 키워드 각각과 동일한 키워드를 포함하는 2 이상의 트리플 노드를 검색하는 트리플노드 검색부;
    상기 다수의 트리플 노드들의 트리플 아이디를 노드로 가지면서 상기 논리적 그래프 내에서의 상기 다수의 트리플 노드들의 연결관계에 기초하여 노드의 연결관계가 정의되며 루프(loop)가 없는 그래프 구조로 된 상위 트리플 인덱스(Upper Triple Index)를 이용하여, 상기 논리적 그래프 내에서의 상기 2 이상의 트리플 노드로부터 루트 노드까지의 경로(상위 경로)를 상기 복수개의 질의 키워드 별로 하나 이상씩 산출하는 상위경로 산출부; 및
    상기 복수개의 질의 키워드 별로 상기 하나 이상의 상위 경로 중에서 하나의 상위 경로를 선택하고, 상기 복수개의 질의 키워드 별로 선택된 하나의 상위 경로들을 병합하여 상기 복수개의 질의 키워드를 모두 포함하는 하나 이상의 결과 그래프를 생성하는 경로 병합부를 포함하는 온톨로지 정보 검색 장치.
  12. 제 11항에 있어서,
    상기 하나 이상의 결과 그래프를 상기 하나 이상의 결과 그래프에 포함된 트리플 노드에 따른 RDF 그래프로 변환하는 결과 출력부를 더 포함하는 온톨로지 정보 검색 장치.
KR1020080136006A 2008-12-29 2008-12-29 키워드를 이용한 온톨로지 정보 검색 방법 및 장치 KR101082814B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080136006A KR101082814B1 (ko) 2008-12-29 2008-12-29 키워드를 이용한 온톨로지 정보 검색 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080136006A KR101082814B1 (ko) 2008-12-29 2008-12-29 키워드를 이용한 온톨로지 정보 검색 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20100077923A KR20100077923A (ko) 2010-07-08
KR101082814B1 true KR101082814B1 (ko) 2011-11-11

Family

ID=42639214

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080136006A KR101082814B1 (ko) 2008-12-29 2008-12-29 키워드를 이용한 온톨로지 정보 검색 방법 및 장치

Country Status (1)

Country Link
KR (1) KR101082814B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160066216A (ko) * 2014-12-02 2016-06-10 세종대학교산학협력단 사용자 검색어 연관 이슈패턴 검출 방법, 이를 수행하는 이슈패턴 검출 서버 및 이를 저장하는 기록매체

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101218577B1 (ko) * 2010-12-27 2013-01-04 한양대학교 에리카산학협력단 키워드 검색을 위한 sparql 질의 처리 수행 장치 및 방법
KR101078747B1 (ko) 2011-06-03 2011-11-01 한국과학기술정보연구원 인스턴스 경로 탐색 및 시각화 방법 및 장치
KR101083313B1 (ko) 2011-06-03 2011-11-15 한국과학기술정보연구원 온톨로지 스키마 기반 인스턴스 경로 탐색 방법 및 장치
KR101374195B1 (ko) * 2011-11-24 2014-03-13 한국과학기술정보연구원 학술적 과학 지식 메모리 기반의 심층 지식 제공 방법 및 이에 적합한 장치
KR101478259B1 (ko) * 2013-05-28 2014-12-31 숭실대학교산학협력단 전문용어 온톨로지 검색서비스 제공장치 및 그 방법
KR102244298B1 (ko) 2014-04-30 2021-04-23 삼성전자주식회사 의미를 기반으로 웹 페이지 접근 기록을 구조화하는 장치 및 방법
KR101958811B1 (ko) * 2018-11-30 2019-03-15 주식회사 피씨엔 온톨로지 기반의 검색 서비스 시스템 및 방법
KR101972127B1 (ko) * 2018-11-30 2019-04-25 주식회사 피씨엔 Rdf 트리플 테이터 기반의 지능형 검색 시스템 및 그 방법
KR101990632B1 (ko) * 2018-11-30 2019-06-18 주식회사 피씨엔 Lod 데이터를 활용하는 검색 서비스 제공 방법 및 시스템
KR102398832B1 (ko) * 2020-04-23 2022-05-17 주식회사 케이티 지식 그래프에 기초하여 응답을 도출하는 장치, 방법 및 컴퓨터 프로그램
KR20220001169A (ko) 2020-06-29 2022-01-05 주식회사 씨앤에이아이 온톨로지를 이용한 정보 검색 시스템 및 방법
KR20230060102A (ko) 2021-10-27 2023-05-04 한국수력원자력 주식회사 온톨로지를 이용한 원자력발전소의 운영기술지침서 검색 방법 및 이를 수행하는 장치

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100820746B1 (ko) * 2007-01-22 2008-04-11 조선대학교산학협력단 온톨로지를 이용한 정보의 브라우징 시스템 및 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100820746B1 (ko) * 2007-01-22 2008-04-11 조선대학교산학협력단 온톨로지를 이용한 정보의 브라우징 시스템 및 방법

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
오원석외 3인, "온톨로지 저장 및 활용을 위한 트리플 레파지토리 개발에 관한 연구", 한국정보과학회 종합학술대회 논문집 Vol.35, No.1(A), 2008.6. pp.35-36.*

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160066216A (ko) * 2014-12-02 2016-06-10 세종대학교산학협력단 사용자 검색어 연관 이슈패턴 검출 방법, 이를 수행하는 이슈패턴 검출 서버 및 이를 저장하는 기록매체
KR101638535B1 (ko) * 2014-12-02 2016-07-11 세종대학교 산학협력단 사용자 검색어 연관 이슈패턴 검출 방법, 이를 수행하는 이슈패턴 검출 서버 및 이를 저장하는 기록매체

Also Published As

Publication number Publication date
KR20100077923A (ko) 2010-07-08

Similar Documents

Publication Publication Date Title
KR101082814B1 (ko) 키워드를 이용한 온톨로지 정보 검색 방법 및 장치
Čebirić et al. Summarizing semantic graphs: a survey
US20090112858A1 (en) Efficient method of using xml value indexes without exact path information to filter xml documents for more specific xpath queries
Yeganeh et al. Linking semistructured data on the web
Fiebig et al. Evaluating queries on structure with extended access support relations
US8775356B1 (en) Query enhancement of semantic wiki for improved searching of unstructured data
Goasdoué et al. Growing triples on trees: an XML-RDF hybrid model for annotated documents
El-Gayar et al. Enhanced search engine using proposed framework and ranking algorithm based on semantic relations
Wardani et al. Semantic mapping relational to graph model
Qtaish et al. XAncestor: An efficient mapping approach for storing and querying XML documents in relational database using path-based technique
Mailis et al. An efficient index for RDF query containment
Huang et al. Streaming Transformation of XML to RDF using XPath-based Mappings
Ma et al. Modeling and querying temporal RDF knowledge graphs with relational databases
Liu et al. A general multi-source data fusion framework
Saake et al. Rule-based schema matching for ontology-based mediators
Gayathri et al. Semantic search on summarized RDF triples
Hernandez et al. WebQuIn-LD: a method of integrating web query interfaces based on linked data
Djama VP-RDF: An RDF Based Framework to Introduce the Viewpoint in the Description of Resources.
Campaña et al. Semantic data management using fuzzy relational databases
Sharma et al. Query intensive interface information extraction protocol for deep web
Al Hamad RXML: Path-based and XML DOM approaches for integrating between relational and XML databases
Laadidi et al. Simplification of owl ontology sources for data warehousing
Koupil Modelling and Management of Multi-Model Data
Gertz et al. A Model and Architecture for Conceptualized Data Annotations
Chakraborty et al. A uniform representation of multi-variant data in intensive-query databases

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
J201 Request for trial against refusal decision
AMND Amendment
B701 Decision to grant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20140923

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20151012

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee