KR100912190B1 - 최적화 변환 규칙을 적용하여 rdql 질의를 sql질의로 변환하는 rdql-to-sql 시스템 및 방법 - Google Patents

최적화 변환 규칙을 적용하여 rdql 질의를 sql질의로 변환하는 rdql-to-sql 시스템 및 방법 Download PDF

Info

Publication number
KR100912190B1
KR100912190B1 KR1020070110580A KR20070110580A KR100912190B1 KR 100912190 B1 KR100912190 B1 KR 100912190B1 KR 1020070110580 A KR1020070110580 A KR 1020070110580A KR 20070110580 A KR20070110580 A KR 20070110580A KR 100912190 B1 KR100912190 B1 KR 100912190B1
Authority
KR
South Korea
Prior art keywords
query
rdql
triple pattern
sql
rdf graph
Prior art date
Application number
KR1020070110580A
Other languages
English (en)
Other versions
KR20090044463A (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 KR1020070110580A priority Critical patent/KR100912190B1/ko
Publication of KR20090044463A publication Critical patent/KR20090044463A/ko
Application granted granted Critical
Publication of KR100912190B1 publication Critical patent/KR100912190B1/ko

Links

Images

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Mathematical Physics (AREA)

Abstract

최적화 변환 규칙을 적용하여 RDQL(Resource Description Framework Data Query Language) 질의를 SQL 질의로 변환하는 RDQL-TO-SQL 시스템 및 방법이 개시된다. RDQL-TO-SQL 시스템은 RDQL 질의의 트리플 패턴(triple pattern)을 이용하여 RDF 그래프를 결정하고, 상기 RDF 그래프에 최적화 변환 규칙을 적용하여 최적화된 RDF(Resource Description Framework) 그래프로 변환하는 RDF 그래프 변환부 및 상기 최적화된 RDF 그래프에 존재하는 트리플 패턴에 대해서 그래프 탐색을 적용하여 상기 RDQL 질의에 대응하는 SQL 질의를 생성하는 SQL 질의 생성부를 포함한다. 본 발명에 따르면, RDQL 질의에서 SQL 질의로 효율적인 질의 처리가 가능하다.
RDQL 질의, SQL 질의, OTR, 데이터베이스, 최적화 변환

Description

최적화 변환 규칙을 적용하여 RDQL 질의를 SQL 질의로 변환하는 RDQL-TO-SQL 시스템 및 방법 {SYSTEM AND METHOD FOR CONVERTING RDQL QUERY TO SQL QUERY USING OPTIMIZATION TRANSFORMATION RULE}
본 발명은 최적화 변환 규칙을 적용하여 RDQL(Resource Description Framework Data Query Language) 질의를 SQL 질의로 변환하는 RDQL-TO-SQL 시스템 및 방법에 관한 것이다. 구체적으로, 본 발명은 차세대 지능형 웹인 시멘틱 웹(semantic web) 기반에서 최적화 변환 규칙을 통해 RDQL 질의를 관계형 데이터 베이스 시스템(RDBMS)에서 처리할 수 있는 SQL 질의로 변환하는 RDQL-TO-SQL 시스템 및 방법에 관한 것이다.
최근, 시멘틱 웹 환경에서 RDF/S 또는 OWL(Web Ontology Language)로 기술된 웹 페이지, 이미지, 동영상 등의 웹 자원인 온톨로지/인스턴스를 효율적으로 질의하기 위한 연구가 활발히 진행되고 있다.
RDF/S 또는 OWL로 기술된 온톨로지/인스턴스 문서가 방대해짐에 따라 이를 처리할 수 있는 온톨로지 데이터 베이스 시스템을 필요로 한다. 또한 대용량 온톨로지 데이터베이스 시스템에서 효율적인 온톨로지/인스턴스 질의 처리를 요구한다. 이러한 요구 조건을 충족시키기 위해 높은 성능을 나타내는 RDQL 질의 처리 기법이 문제된다.
종래의 RDQL 질의 처리 기법은 특정한 저장소로부터 질의 대상이 되는 네임스페이스에 대응하는 그래프를 클라이언트로 전부 가져와서, RDQL 질의에 대한 결과를 제공한다. 그러나, 종래의 RDQL 질의 처리 기법에 의하면, RDQL 질의를 RDQL 질의 처리를 위해 필요하지 않는 데이터까지 클라이언트로 가져오기 때문에 비효율적인 문제점이 있었다. 그리고, 불필요한 데이터를 전송하기 위해 네트워크 전송 오버헤드가 발생하는 문제점이 있었다.
따라서, 불필요한 질의를 제거하고, RDQL 질의를 보다 빠르게 처리할 수 있는 발명이 절실히 요구된다고 하겠다.
본 발명은 최적화 변환 규칙을 적용하여 RDQL 질의를 SQL 질의로 변환함으로써 RDQL 질의를 효율적으로 처리할 수 있는 RDQL-TO-SQL 시스템 및 방법을 제공한다.
본 발명은 RDQL 질의의 트리플 패턴을 통해 결정된 RDF 그래프에서 최적화 변환 규칙을 적용하여 불필요한 SQL 질의가 생성되는 것을 방지함으로써 RDQL 질의를 보다 빠르게 처리할 수 있는 RDQL-TO-SQL 시스템 및 방법을 제공한다.
본 발명의 일실시예에 따른 RQDL-TO-SQL 시스템은 RDQL 질의의 트리플 패턴(triple pattern)을 이용하여 RDF 그래프를 결정하고, 상기 RDF 그래프에 최적화 변환 규칙을 적용하여 최적화된 RDF(Resource Description Framework) 그래프로 변환하는 RDF 그래프 변환부 및 상기 최적화된 RDF 그래프에 존재하는 트리플 패턴에 대해서 그래프 탐색을 적용하여 상기 RDQL 질의에 대응하는 SQL 질의를 생성하는 SQL 질의 생성부를 포함한다.
본 발명의 일측면에 따르면, 상기 RDF 그래프 변환부는 트리플 패턴이 존재하는 위치를 고려하여 상기 RDF 그래프에서 트리플 패턴을 제거하는 로컬 최적화부 및 트리플 패턴에 미리 설정한 선택 변수가 존재하는 지 여부를 고려하여 상기 RDF 그래프에서 트리플 패턴을 제거하는 글로벌 최적화부를 포함한다.
본 발명의 일측면에 따르면, 상기 SQL 질의 생성부는 상기 최적화된 RDF 그 래프에서 트리플 패턴 각각에 대한 SQL 질의를 생성하고, 상기 RDF 그래프에 대한 그래프 탐색 과정을 적용하여 트리플 패턴의 공유 방식에 따라 상기 SQL 질의 사이에 조인(join)을 수행할 수 있다.
본 발명의 일실시예에 따른 RDQL-TO-SQL 방법은 RDQL 질의의 트리플 패턴을 이용하여 RDF 그래프를 결정하는 단계, 상기 RDF 그래프에 최적화 변환 규칙을 적용하여 최적화된 RDF 그래프로 변환하는 단계 및 상기 최적화된 RDF 그래프에 존재하는 트리플 패턴에 대해서 그래프 탐색을 적용하여 상기 RDQL 질의에 대응하는 SQL 질의를 생성하는 단계를 포함한다.
본 발명의 일측면에 따르면, RDF 그래프에 최적화 변환 규칙을 적용하여 최적화된 RDF 그래프로 변환하는 상기 단계는 트리플 패턴이 존재하는 위치를 고려하여 상기 RDF 그래프에서 트리플 패턴을 제거하는 단계 및 트리플 패턴에 미리 설정한 선택 변수가 존재하는 지 여부를 고려하여 상기 RDF 그래프에서 트리플 패턴을 제거하는 단계를 포함한다.
본 발명의 일측면에 따르면, 트리플 패턴이 존재하는 위치를 고려하여 상기 RDF 그래프에서 트리플 패턴을 제거하는 상기 단계는 어느 트리플 패턴이 RDF 그래프의 특정 위치에서 다른 트리플 패턴의 부모 집합이 될 때, 부모 집합이 되는 트리플 패턴을 삭제할 수 있다.
본 발명에 따르면, 최적화 변환 규칙을 적용하여 RDQL 질의를 SQL 질의로 변환함으로써 RDQL 질의를 효율적으로 처리할 수 있는 RDQL-TO-SQL 시스템 및 방법 이 제공된다.
본 발명에 따르면, RDQL 질의의 트리플 패턴을 통해 결정된 RDF 그래프에서 최적화 변환 규칙을 적용하여 불필요한 SQL 질의가 생성되는 것을 방지함으로써 RDQL 질의를 보다 빠르게 처리할 수 있는 RDQL-TO-SQL 시스템 및 방법이 제공된다.
본 발명에 따르면, RDQL 질의 처리에 대한 빠른 성능을 보장할 수 있기 때문에 온톨로지(ontology)를 이용하는 로봇, 텔레매틱스, 지능형 홈네트워크와 같은 실시간 질의 처리를 요구하는 환경에서 유용하게 적용될 수 있다.
본 발명에 따르면, 방대한 온톨로지 데이터베이스가 구축되어 있고, 이를 사용하는 사용자가 많은 경우 효율적인 RDQL 질의 처리 성능을 보장할 수 있다.
이하, 첨부된 도면들에 기재된 내용들을 참조하여 본 발명에 따른 실시예를 상세하게 설명한다. 다만, 본 발명이 실시예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다.
도 1은 본 발명의 일실시예에 따른 RDQL-TO-SQL 시스템의 내부 구성을 도시한 블록 다이어그램이다.
도 1을 참조하면, RDQL-TO-SQL 시스템(101)은 트리플 패턴 추출부(102), RDF 그래프 변환부(103), SQL 질의 생성부(106) 및 SQL 질의 처리부를 포함한다. 이 때, RDF 그래프 변환부(103)는 로컬 최적화부(104)와 글로벌 최적화부(105)를 포함한다.
트리플 패턴 파싱부(102)는 RDQL 질의를 파싱하여 상기 RDQL 질의로부터 주 어, 목적어 및 서술어의 구성 요소를 포함하는 트리플 패턴(triple pattern)을 추출할 수 있다. 시멘틱 웹 환경에서 가장 기초가 되는 것은 RDF(Resource Description Framework)이다. RDF는 특정 자원에 대한 메타 데이터를 기술하는 XML 기반의 프레임워크이다. 이 때, RDQL은 RDF를 위한 질의 언어라고 할 수 있다.
RDF는 레코드(record)를 하나의 기술 단위로 취급해온 기존의 방식과는 달리 자원, 속성, 속성 값을 하나의 단위로 취급할 수 있다. 이 때, RDF는 자원을 나타내는 주어(Subject), 속성을 나타내는 서술어(Predicate), 속성의 값을 나타내는 목적어(Object)의 구성 요소를 포함하는 트리플 패턴으로 표현할 수 있다.
RDF 그래프 변환부(103)는 RDQL 질의의 트리플 패턴을 이용하여 RDF 그래프를 결정하고, 상기 RDF 그래프에 최적화 변환 규칙을 적용하여 최적화된 RDF 그래프로 변환할 수 있다. 도 3에서 볼 수 있듯이, RDF 그래프 변환부(103)는 트리플 패턴이 존재하는 위치를 고려하여 상기 RDF 그래프에서 트리플 패턴을 제거하는 로컬 최적화부(104) 및 트리플 패턴에 미리 설정한 선택 변수가 존재하는 지 여부를 고려하여 상기 RDF 그래프에서 트리플 패턴을 제거하는 글로벌 최적화부(105)를 포함할 수 있다.
이 때, RDF 그래프 변환부(103)는 순차적으로 입력되는 트리플 패턴의 주어 및 서술어를 상기 RDF 그래프의 노드로 지정하고, 트리플 패턴의 목적어를 노드를 연결하는 연결 통로로 지정하여 RDF 그래프를 결정할 수 있다.
RDF 그래프 변환부(103)는 RDF 그래프에서 불필요한 SQL 질의가 생성되는 것을 방지하기 위해 미리 최적화 변환 규칙을 적용하여 RDF 그래프에 있는 불필요한 그래프 노드를 제거할 수 있다. 최적화 변환 규칙은 도 3을 통해 구체적으로 설명된다.
SQL 질의 생성부(106)는 최적화된 RDF 그래프에 존재하는 트리플 패턴에 대해서 그래프 탐색을 적용하여 RDQL 질의에 대응하는 SQL 질의를 생성할 수 있다. SQL 질의 생성부(106)는 2단계의 과정을 거쳐 RDQL 질의에 대응하는 SQL 질의를 생성할 수 있다.
일례로, SQL 질의 생성부(106)는 최적화된 RDF 그래프에서 트리플 패턴 각각에 대한 SQL 질의를 생성하고, 상기 RDF 그래프에 대한 그래프 탐색 과정을 적용하여 트리플 패턴의 공유 방식에 따라 상기 SQL 질의 사이에 조인(join)을 수행할 수 있다. SQL 질의 생성부(106)에 대한 구체적인 내용은 도 5를 통해 상세히 설명된다.
SQL 질의 처리부(107)는 생성된 SQL 질의를 데이터베이스에 전달하고, 상기 데이터베이스로부터 질의 결과를 수신하여 SQL 질의를 처리할 수 있다. 일례로, SQL 질의 처리부(107)는 생성한 SQL 질의를 온톨로지 데이터베이스에 전달하고, 온톨로지 데이터베이스로부터 SQL 질의에 대한 결과를 수신하여 SQL 질의를 처리할 수 있다.
도 2는 본 발명의 일실시예에 따라 RDQL 질의의 트리플 패턴을 이용하여 최적화된 RDF 그래프로 변환하는 과정을 도시한 도면이다.
도 2에서 볼 수 있듯이, RDF 그래프 변환부(103)는 RDQL 질의의 트리플 패 턴(201)을 이용하여 RDF 그래프(202)를 결정하고, 상기 RDF 그래프에 최적화 변환 규칙을 적용하여 최적화된 RDF 그래프(203)로 변환할 수 있다.
RDQL 질의의 트리플 패턴(201)은 RDQL 질의의 자원을 나타내는 주어(Subject), 속성을 나타내는 서술어(Predicate), 속성의 값을 나타내는 목적어(Object)로 나타낼 수 있다. 도 2는 변수를 가지는 트리플 패턴을 나타내고 있다. 이 때, 변수는 RDQL 질의가 구문적인 유연성을 가질 수 있게 해준다.
트리플 패턴(201)은 트리플 패턴 추출부(102)가 RDQL 질의에 대한 파싱 과정을 통해 추출될 수 있다. 즉, 트리플 패턴 추출부(102) RDQL 질의에 대해 구문 분석을 하여, RDQL 질의로부터 주어, 목적어 및 서술어의 3가지 구성요소로 이루어진 트리플 패턴(201)을 추출할 수 있다.
도 2의 트리플 패턴(201)은 변수는 ?a, ?e, ?x, ?p, ?f로 되어 있는 것을 알 수 있다. 또한, 선택 변수는 ?a라고 되어 있다. 글로벌 최적화부(105)가 RDF 그래프에서 트리플 패턴을 제거할 때, 트리플 패턴(201)에 미리 설정한 선택 변수가 존재하는 지 여부를 고려할 수 있다. 트리플 패턴(201)이 도 2에 도시되어 있는데, (?a d ?e)에서 ?a는 주어, d는 서술어, ?e는 목적어를 나타낸다.
일례로, RDF 그래프 변환부(103)는 순차적으로 입력되는 트리플 패턴(201)의 주어 및 목적어를 상기 RDF 그래프(202)의 노드로 지정하고, 트리플 패턴의 목적어를 노드를 연결하는 연결 통로로 지정하여 RDF 그래프(202)를 결정할 수 있다. 순차적으로 입력되는 트리플 패턴(201)의 순서로, 노드와 연결 통로로 이루어진 RDF 그래프(202)가 결정될 수 있다. 그리고, 이 때, RDF 그래프에서 각 트리플 패 턴(201)은 2개의 노드와 1개의 연결 통로로 이루어진 것을 알 수 있다.
일례로, 노드는 주어와 목적어로 이루어 질 수 있으며, 주어 노드에서 목적어 노드 방향으로 연결 통로가 이루어짐을 알 수 있다. 따라서, 도 2의 RDF 그래프(202)는 총 6개의 트리플 패턴(201)으로 구성되어 있음을 알 수 있다. 일례로, RDF 그래프(202)는 Brute-force 형식으로 이루어 질 수 있다.
RDQL 질의의 트리플 패턴(201) 모두에 대해 RDF 그래프(202)로 결정함으로써, 추후에 SQL 질의 생성시 불필요한 SQL 질의가 생성될 수 있다. 그래서, 최적화 변환과정을 통해 RDF 그래프(201)에서 불필요한 노드를 제거하여 최적화된 RDF 그래프(203)로 변환하는 것이 요구된다.
일례로, 최적화 변환은 로컬 최적화부(104)와 글로벌 최적화부(105)에서 이루어질 수 있다. 로컬 최적화부(104)는 트리플 패턴이 존재하는 위치를 고려하여 상기 RDF 그래프(202)에서 트리플 패턴(201)을 제거할 수 있다. 또한, 글로벌 최적화부(105)는 트리플 패턴(201)에 미리 설정한 선택 변수가 존재하는 지 여부를 고려하여 상기 RDF 그래프(202)에서 트리플 패턴(201)을 제거할 수 있다. 결국, 최적화된 RDF 그래프(203)을 통해 실질적으로 필요한 RDQL 질의에 대해서 SQL 질의로 변환함으로써 보다 빠르게 RDQL 질의를 처리할 수 있다.
도 3은 본 발명의 일실시예에 따라 RDQL-TO-SQL 시스템의 로컬 최적화부와 글로벌 최적화부를 통해 RDF 그래프를 최적화하는 과정을 도시한 도면이다.
도 3을 참조하면, 그래프(301)는 로컬 최적화부(104)를 통해 RDF 그래프가 최적화되는 과정을 나타내고 있다. 일례로, 로컬 최적화부(104)는 트리플 패턴이 존재하는 위치를 고려하여 상기 RDF 그래프에서 트리플 패턴을 제거할 수 있다. 구체적으로 보면, 로컬 최적화부(104)는 어느 트리플 패턴이 RDF 그래프의 특정 위치에서 다른 트리플 패턴의 부모 집합이 될 때, 부모 집합이 되는 트리플 패턴을 삭제할 수 있다.
일례로, RDF 그래프에서 트리플 패턴의 위치에 따라서 두 개의 규칙으로 나누어 질 수 있다. 규칙1(303)는 트리플 패턴의 주어와 목적어가 서로 공유될 때이고, 규칙2(304)는 트리플 패턴의 주어만 공유할 때를 의미한다. 예를 들어, 도 3을 참조하면, 트리플 패턴 (?a ?p c)는 (?a b c)와 (?a d ?e)의 부모 집합이기 때문 규칙 1(303)을 통해 제거될 수 있다. 그리고, 노드 ?k는 변수에 존재하지 않기 때문에, 규칙 2(304)를 통해 제거될 수 있다.
그래프(302)는 글로벌 최적화부(105)를 통해 RDF 그래프가 최적화되는 과정을 나타내고 있다. 일례로, 글로벌 최적화부(105)는 트리플 패턴에 미리 설정한 선택 변수가 존재하는 지 여부를 고려하여 RDF 그래프에서 트리플 패턴을 제거할 수 있다. 즉, RDQL 질의의 선택 변수가 RDF 그래프의 "Root"에 연결된 트리플 패턴에 존재하지 않을 때, 상기 트리플 패턴을 제거될 수 있다.
즉, 도 2를 참조하면, 선택 변수는 ?a라고 되어 있다. RDF 그래프에서 Root와 연결된 노드 중 선택 변수인 ?a를 제외한 ?x, ?p 노드와 연결된 트리플 패턴(305, 306)은 글로벌 최적화부(105)를 통해 제거될 수 있다. 결국, RDF 그래프에서 로컬 최적화부(104)와 글로벌 최적화부(105)를 통해 남아있는 트리플 패턴은 (?a b c), (?a d ?e), (?e f g)임을 알 수 있다.
일례로, 로컬 최적화부(104)는 하나의 트리플 패턴의 입력이 끝나는 시점에서 해당 트리플 패턴을 제거할지 여부를 판단할 수 있다. 마지막으로 모든 트리플 패턴의 입력이 완료되면, 글로벌 최적화부(105)가 트리플 패턴을 제거할 지 여부를 판단할 수 있다.
도 4는 본 발명의 일실시예에 따라 정렬된 어레이를 통해 RDQL 질의의 트리플 패턴으로부터 RDF 그래프로 변환하는 과정을 도시한 도면이다. 일례로, RDF 그래프 변환부(103)는 RQDL 질의의 트리플 패턴(401)을 키와 포인터를 포함하는 정렬된 어레이(403)를 이용하여 RDF 그래프(404)를 결정할 수 있다. 즉, 정렬된 어레이(403)을 통해, RDF 그래프 변환부(103)는 트리플 패턴(401)을 보다 효율적이고 빠르게 처리함으로써 RDF 그래프(404)를 결정할 수 있다.
도 4를 참조하면, 순차적으로 입력되는 트리플 패턴(401)의 주어와 목적어를 정렬된 어레이(403)의 키와 연결시킬 수 있다. 이 때, 정렬된 어레이(403)에 포함된 각 키는 순차적으로 입력되는 트리플 패턴의 주어와 목적어의 순서로 정렬될 수 있다. 그리고, 주어와 목적어 중에서 변수가 보다 상위에 정렬될 수 있다.
앞에서 이미 언급했듯이, 하나의 트리플 패턴에 대한 입력이 완료되면, 그 때마다 로컬 최적화부(104)가 해당 트리플 패턴을 제거할 지 판단할 수 있다. 그런 후, 모든 트리플 패턴의 입력이 종료되면, 글로벌 최적화부(105)가 조건에 맞는 트리플 패턴을 제거할 지 판단할 수 있다.
정렬된 어레이(403)에서 각 키는 포인터와 연결되어 있으며, 트리플 패턴의 각 노드를 의미하는 키는 포인터를 통해 RDF 그래프(404)에서 위치가 지정될 수 있 다. 결국, RDF 그래프 변환부(103)는 정렬된 어레이의 키와 포인터를 통해 보다 빠른 RDF 그래프 결정 과정을 수행할 수 있다.
도 5는 본 발명의 일실시예에 따라 RDQL-TO-SQL 시스템의 SQL 생성부가 SQL 질의를 생성하는 과정을 도시한 도면이다.
일례로, SQL 질의 생성부(106)는 RDQL 질의의 트리플 패턴으로부터 결정된 RDF 그래프에서 최적화 변환 단계를 통해 변환된 최적화된 RDF 그래프를 이용할 수 있다. 구체적으로 보면, 최적화된 RDF 그래프에 존재하는 트리플 패턴에 대해서 그래프 탐색을 적용하여 상기 RDQL 질의에 대응하는 SQL 질의를 생성할 수 있다.
일례로, SQL 질의 생성부(106)는 두 가지 정리를 통해 최적화된 RDF 그래프에서 SQL 질의를 생성할 수 있다. 제1 정리(501)는 RDF 그래프에서 두 개 이상의 트리플 패턴 사이의 관계를 통해서 SQL 질의가 어떻게 결합되는지를 나타낸다. 그리고, 제2 정리(502)는 단일 트리플 패턴이 SQL 질의로 생성될 수 있음을 의미한다.
실질적으로, SQL 질의 생성부(106)는 RDF 그래프에 존재하는 다수의 트리플 패턴 각각에 대해 먼저 제2 정리(502)를 적용하여 SQL 질의를 생성할 수 있다. 그리고, RDF 그래프에서 트리플 패턴은 다른 트리플과 특정 노드를 공유할 수 있기 때문에, SQL 질의 생성부(106)는 제1 정리(501)을 적용하여 트리플 패턴의 공유 방식에 따라 생성된 SQL 질의 사이에 조인을 수행할 수 있다.
먼저 SQL 질의 생성부(106)는 제2 정리(502)를 통해 최적화된 RDF 그래프(508)에서 트리플 패턴 각각에 대한 SQL 질의(509)를 생성할 수 있다. 만약, RDF 그래프에서 트리플 패턴이 10개가 존재하면, 생성되는 SQL 질의도 10개가 될 수 있다. 트리플 패턴에서 SQL 질의가 생성되는 방법은 여러 가지가 존재할 수 있으며, 본 발명은 특정한 방법에 한정되지 않는다.
일례로, SQL 질의 생성부(106)는 제2 정리(502)를 통해 RDF 그래프에서 깊이 우선 탐색을 적용하여 트리플 패턴 각각에 대해 SQL 질의를 생성할 수 있다. 도 5에서 볼 수 있듯이, 각 트리플 패턴 tn 에 대응하는 SQL 질의 Sn가 생성됨을 알 수 있다. 단일 트리플 패턴에 대한 SQL 질의는 데이터베이스의 테이블 구조에 따라 유동적일 수 있다.
SQL 질의 생성부(106)는 제1 정리(501)를 통해 두 개 이상의 트리플 패턴 사이의 공유 관계를 고려하여 SQL 질의를 결합할 수 있다. 공유 관계(503)는 두 개의 트리플 패턴 ① ②가 서로 주어를 공유하는 것을 나타내고 있다. 즉, 트리플 패턴 (?a b c)는 트리플 패턴(?a d ?e)와 동일한 주어인 ?a를 공유하고 있음을 나타낸다. 그러면, 제2 정리(502)를 통해 생성된 트리플 패턴 (?a b c)의 SQL 질의와 트리플 패턴(?a d ?e)의 SQL 질의를 서로 조인하여 결합할 수 있다. 일례로, 공유 관계(503)일 때, 두 개의 SQL 질의는 SQL(①) JOIN SQL(②) ON SQL(①).subject=SQL(②).subject의 관계식(504)을 통해 조인될 수 있다.
공유 관계(505)는 트리플 패턴 ① 의 목적어와 트리플 패턴 ②의 주어가 서로 공유하는 것을 나타내고 있다. 즉, 트리플 패턴 (?a b c)의 목적어와 트리플 패턴(c d ?e)의 주어가 서로 동일함을 알 수 있다. 그러면, 제2 정리(502)를 통해 생성된 트리플 패턴 (?a b c)의 SQL 질의와 트리플 패턴(c d ?e)의 SQL 질의를 서로 조인하여 결합할 수 있다. 일례로, 공유 관계(505)일 때, 두 개의 SQL 질의는 SQL(①) JOIN SQL(②) ON SQL(①).subject=SQL(②).object의 관계식(506)을 통해 조인될 수 있다.
공유 관계(507)는 두 개의 트리플 패턴 ① ②가 서로 목적어를 공유하는 것을 나타내고 있다. 즉, 트리플 패턴 (?a b c)는 트리플 패턴(?e d c)와 동일한 목적어인 c를 공유하고 있음을 나타낸다. 도 5에서 볼 수 있듯이, 공유 관계(507)는 임의로 가상의 노드를 가정하여, 공유 관계(503)과 공유 관계(505)가 서로 결합되어 있는 것으로 변환할 수 있다. 트리플 패턴(①)과 트리플 패턴(②)는 각각 공유 관계(503)과 공유 관계(505)로 변환되어, 관계식(504)와 관계식(506)을 통해 처리될 수 있다.
도 6은 본 발명의 일실시예에 따른 RDQL-TO-SQL 방법을 도시한 순서도이다.
본 발명의 일실시예에 따른 RDQL-TO-SQL 방법은 RDQL 질의를 파싱하여 상기 RDQL 질의로부터 주어, 목적어 및 서술어의 구성 요소를 포함하는 트리플 패턴을 추출할 수 있다(S601).
본 발명의 일실시예에 따른 RDQL-TO-SQL 방법은 순차적으로 입력되는 트리플 패턴의 주어 및 서술어를 RDF 그래프의 노드로 지정하고, 트리플 패턴의 목적어를 노드를 연결하는 연결 통로로 지정하여 RDF 그래프를 결정할 수 있다.
이 때, RDF 그래프를 결정하는 단계는 RQDL 질의의 트리플 패턴을 키와 포인터를 포함하는 정렬된 어레이(array)를 이용하여 RDF 그래프를 결정할 수 있다.
본 발명의 일실시예에 따른 RDQL-TO-SQL 방법은 RDF 그래프에 최적화 변환 규칙을 적용하여 최적화된 RDF 그래프로 변환할 수 있다. 이 때, 최적화된 RDF 그래프로 변환하는 단계는 트리플 패턴이 존재하는 위치를 고려하여 상기 RDF 그래프에서 트리플 패턴을 제거하는 단계(S602) 및 트리플 패턴에 미리 설정한 선택 변수가 존재하는 지 여부를 고려하여 상기 RDF 그래프에서 트리플 패턴을 제거하는 단계를 포함할 수 있다.
이 때, 트리플 패턴이 존재하는 위치를 고려하여 상기 RDF 그래프에서 트리플 패턴을 제거하는 단계(S602)는 어느 트리플 패턴이 RDF 그래프의 특정 위치에서 다른 트리플 패턴의 부모 집합이 될 때, 부모 집합이 되는 트리플 패턴을 삭제할 수 있다.
본 발명의 일실시예에 따른 RDQL-TO-SQL 방법은 최적화된 RDF 그래프에 존재하는 트리플 패턴에 대해서 그래프 탐색을 적용하여 RDQL 질의에 대응하는 SQL 질의를 생성할 수 있다(S604).
이 때, RDQL 질의에 대응하는 SQL 질의를 생성하는 단계(S604)는 상기 최적화된 RDF 그래프에서 트리플 패턴 각각에 대한 SQL 질의를 생성하는 단계, 상기 RDF 그래프에 대한 그래프 탐색 과정을 적용하여 트리플 패턴의 공유 방식에 따라 상기 SQL 질의 사이에 조인(join)을 수행하는 단계를 포함할 수 있다.
이 때, 트리플 패턴의 공유 방식은 2개 이상의 트리플 패턴이 주어를 공유하거나 또는 어느 트리플 패턴의 주어와 다른 트리플 패턴의 목적어가 공유하는 것을 특징으로 할 수 있다.
본 발명의 일실시예에 따른 RDQL-TO-SQL 방법은 생성된 상기 SQL 질의를 데이터베이스에 전달하고, 상기 데이터베이스로부터 질의 결과를 수신하여 SQL 질의를 처리할 수 있다(S605).
도 6에서 구체적으로 설명되지 않는 부분은 도 1 내지 도 5를 참고할 수 있다.
또한 본 발명의 일실시예에 따른 RDQL-TO-SQL 방법은 다양한 컴퓨터로 구현되는 동작을 수행하기 위한 프로그램 명령을 포함하는 컴퓨터 판독 가능 매체를 포함한다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 이는 본 발명이 속하는 분야에 서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 따라서, 본 발명 사상은 아래에 기재된 특허청구범위에 의해서만 파악되어야 하고, 이의 균등 또는 등가적 변형 모두는 본 발명 사상의 범주에 속한다고 할 것이다.
도 1은 본 발명의 일실시예에 따른 RDQL-TO-SQL 시스템의 내부 구성을 도시한 블록 다이어그램이다.
도 2는 본 발명의 일실시예에 따라 RDQL 질의의 트리플 패턴을 이용하여 최적화된 RDF 그래프로 변환하는 과정을 도시한 도면이다.
도 3은 본 발명의 일실시예에 따라 RDQL-TO-SQL 시스템의 로컬 최적화부와 글로벌 최적화부를 통해 RDF 그래프를 최적화하는 과정을 도시한 도면이다.
도 4는 본 발명의 일실시예에 따라 정렬된 어레이를 통해 RDQL 질의의 트리플 패턴으로부터 RDF 그래프로 변환하는 과정을 도시한 도면이다.
도 5는 본 발명의 일실시예에 따라 RDQL-TO-SQL 시스템의 SQL 생성부가 SQL 질의를 생성하는 과정을 도시한 도면이다.
도 6은 본 발명의 일실시예에 따른 RDQL-TO-SQL 방법을 도시한 순서도이다.
<도면의 주요 부분에 대한 부호의 설명>
101: RDQL-TO-SQL 시스템
102: 트리플 패턴 추출부
103: RDF 그래프 변환부
104: 로컬 최적화부
105: 글로벌 최적화부
106: SQL 질의 생성부
107: SQL 질의 처리부

Claims (19)

  1. RDQL(Resource Description Framework Data Query Language) 질의의 트리플 패턴(triple pattern)을 이용하여 RDF 그래프를 결정하고, 상기 RDF 그래프에 최적화 변환 규칙을 적용하여 최적화된 RDF(Resource Description Framework) 그래프로 변환하는 RDF 그래프 변환부; 및
    상기 최적화된 RDF 그래프에 존재하는 트리플 패턴에 대해서 그래프 탐색을 적용하여 상기 RDQL 질의에 대응하는 SQL 질의를 생성하는 SQL 질의 생성부
    를 포함하고,
    상기 RDF 그래프 변환부는,
    상기 RQDL 질의의 트리플 패턴을 키와 포인터를 포함하는 정렬된 어레이(array)를 이용하여 RDF 그래프를 결정하는 것을 특징으로 하는 RDQL-TO-SQL 시스템.
  2. 제1항에 있어서,
    RDQL 질의를 파싱하여 상기 RDQL 질의로부터 주어, 목적어 및 서술어의 구성 요소를 포함하는 트리플 패턴을 추출하는 트리플 패턴 추출부;
    를 더 포함하는 RDQL-TO-SQL 시스템.
  3. 제1항에 있어서,
    상기 RDF 그래프 변환부는,
    순차적으로 입력되는 트리플 패턴의 주어 및 목적어를 상기 RDF 그래프의 노드로 지정하고, 트리플 패턴의 서술어를 노드를 연결하는 연결 통로로 지정하여 RDF 그래프를 결정하는 것을 특징으로 하는 RDQL-TO-SQL 시스템.
  4. 제1항에 있어서,
    상기 RDF 그래프 변환부는,
    트리플 패턴이 존재하는 위치를 고려하여 상기 RDF 그래프에서 트리플 패턴을 제거하는 로컬 최적화부; 및
    트리플 패턴에 미리 설정한 선택 변수가 존재하는 지 여부를 고려하여 상기 RDF 그래프에서 트리플 패턴을 제거하는 글로벌 최적화부
    를 포함하는 RDQL-TO-SQL 시스템.
  5. 제4항에 있어서,
    상기 로컬 최적화부는,
    어느 트리플 패턴이 RDF 그래프의 특정 위치에서 다른 트리플 패턴의 부모 집합이 될 때, 부모 집합이 되는 트리플 패턴을 삭제하는 것을 특징으로 하는 RDQL-TO-SQL 시스템.
  6. 삭제
  7. 제1항에 있어서,
    상기 SQL 질의 생성부는,
    상기 최적화된 RDF 그래프에서 트리플 패턴 각각에 대한 SQL 질의를 생성하고, 상기 RDF 그래프에 대한 그래프 탐색 과정을 적용하여 트리플 패턴의 공유 방식에 따라 상기 SQL 질의 사이에 조인(join)을 수행하는 것을 특징으로 하는 RDQL-TO-SQL 시스템.
  8. 제7항에 있어서,
    상기 트리플 패턴의 공유 방식은,
    2개 이상의 트리플 패턴이 주어를 공유하거나 또는 어느 트리플 패턴의 주어와 다른 트리플 패턴의 목적어가 공유하는 것을 특징으로 하는 RDQL-TO-SQL 시스템.
  9. 제1항에 있어서,
    생성된 상기 SQL 질의를 데이터베이스에 전달하고, 상기 데이터베이스로부터 질의 결과를 수신하여 SQL 질의를 처리하는 SQL 질의 처리부
    를 더 포함하는 RDQL-TO-SQL 시스템.
  10. RDQL 질의의 트리플 패턴을 이용하여 RDF 그래프를 결정하는 단계;
    상기 RDF 그래프에 최적화 변환 규칙을 적용하여 최적화된 RDF 그래프로 변환하는 단계; 및
    상기 최적화된 RDF 그래프에 존재하는 트리플 패턴에 대해서 그래프 탐색을 적용하여 상기 RDQL 질의에 대응하는 SQL 질의를 생성하는 단계
    를 포함하고,
    RDQL 질의의 트리플 패턴을 이용하여 RDF 그래프를 결정하는 상기 단계는,
    상기 RQDL 질의의 트리플 패턴을 키와 포인터를 포함하는 정렬된 어레이(array)를 이용하여 RDF 그래프를 결정하는 것을 특징으로 하는 RDQL-TO-SQL 방법.
  11. 제10항에 있어서,
    RDQL 질의를 파싱하여 상기 RDQL 질의로부터 주어, 목적어 및 서술어의 구성 요소를 포함하는 트리플 패턴을 추출하는 단계;
    를 더 포함하는 RDQL-TO-SQL 방법.
  12. 제10항에 있어서,
    RDQL 질의의 트리플 패턴을 이용하여 RDF 그래프를 결정하는 상기 단계는,
    순차적으로 입력되는 트리플 패턴의 주어 및 목적어를 상기 RDF 그래프의 노드로 지정하고, 트리플 패턴의 서술어를 노드를 연결하는 연결 통로로 지정하여 RDF 그래프를 결정하는 것을 특징으로 하는 RDQL-TO-SQL 방법.
  13. 제10항에 있어서,
    RDF 그래프에 최적화 변환 규칙을 적용하여 최적화된 RDF 그래프로 변환하는 상기 단계는,
    트리플 패턴이 존재하는 위치를 고려하여 상기 RDF 그래프에서 트리플 패턴을 제거하는 단계; 및
    트리플 패턴에 미리 설정한 선택 변수가 존재하는 지 여부를 고려하여 상기 RDF 그래프에서 트리플 패턴을 제거하는 단계
    를 포함하는 RDQL-TO-SQL 방법.
  14. 제13항에 있어서,
    트리플 패턴이 존재하는 위치를 고려하여 상기 RDF 그래프에서 트리플 패턴을 제거하는 상기 단계는,
    어느 트리플 패턴이 RDF 그래프의 특정 위치에서 다른 트리플 패턴의 부모 집합이 될 때, 부모 집합이 되는 트리플 패턴을 삭제하는 것을 특징으로 하는 RDQL-TO-SQL 방법.
  15. 삭제
  16. 제10항에 있어서,
    RDQL 질의에 대응하는 SQL 질의를 생성하는 상기 단계는,
    상기 최적화된 RDF 그래프에서 트리플 패턴 각각에 대한 SQL 질의를 생성하는 단계;
    상기 RDF 그래프에 대한 그래프 탐색 과정을 적용하여 트리플 패턴의 공유 방식에 따라 상기 SQL 질의 사이에 조인(join)을 수행하는 단계
    를 포함하는 RDQL-TO-SQL 방법.
  17. 제16항에 있어서,
    상기 트리플 패턴의 공유 방식은,
    2개 이상의 트리플 패턴이 주어를 공유하거나 또는 어느 트리플 패턴의 주어와 다른 트리플 패턴의 목적어가 공유하는 것을 특징으로 하는 RDQL-TO-SQL 방법.
  18. 제10항에 있어서,
    생성된 상기 SQL 질의를 데이터베이스에 전달하고, 상기 데이터베이스로부터 질의 결과를 수신하여 SQL 질의를 처리하는 단계
    를 더 포함하는 RDQL-TO-SQL 방법.
  19. 제10항 내지 제14항 또는 제16항 내지 제18항 중 어느 한 항의 방법을 실행하기 위한 프로그램이 기록되어 있는 것을 특징으로 하는 컴퓨터에서 판독 가능한 기록 매체.
KR1020070110580A 2007-10-31 2007-10-31 최적화 변환 규칙을 적용하여 rdql 질의를 sql질의로 변환하는 rdql-to-sql 시스템 및 방법 KR100912190B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020070110580A KR100912190B1 (ko) 2007-10-31 2007-10-31 최적화 변환 규칙을 적용하여 rdql 질의를 sql질의로 변환하는 rdql-to-sql 시스템 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070110580A KR100912190B1 (ko) 2007-10-31 2007-10-31 최적화 변환 규칙을 적용하여 rdql 질의를 sql질의로 변환하는 rdql-to-sql 시스템 및 방법

Publications (2)

Publication Number Publication Date
KR20090044463A KR20090044463A (ko) 2009-05-07
KR100912190B1 true KR100912190B1 (ko) 2009-08-14

Family

ID=40855021

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070110580A KR100912190B1 (ko) 2007-10-31 2007-10-31 최적화 변환 규칙을 적용하여 rdql 질의를 sql질의로 변환하는 rdql-to-sql 시스템 및 방법

Country Status (1)

Country Link
KR (1) KR100912190B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9703830B2 (en) 2014-10-09 2017-07-11 International Business Machines Corporation Translation of a SPARQL query to a SQL query

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10599719B2 (en) 2018-06-13 2020-03-24 Stardog Union System and method for providing prediction-model-based generation of a graph data model
US10303688B1 (en) 2018-06-13 2019-05-28 Stardog Union System and method for reducing data retrieval delays via prediction-based generation of data subgraphs
CA3102984A1 (en) * 2018-06-13 2019-12-19 Stardog Union Multi-source-type interoperability and/or information retrieval optimization
KR102177064B1 (ko) * 2019-11-18 2020-11-10 재단법인대구경북과학기술원 다항 조인 연산자를 이용한 쿼리 처리 방법 및 그 장치

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070047470A (ko) * 2005-11-02 2007-05-07 정민경 관계형 데이터베이스에서 xml 문서 검색을 위한 질의처리 시스템 및 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070047470A (ko) * 2005-11-02 2007-05-07 정민경 관계형 데이터베이스에서 xml 문서 검색을 위한 질의처리 시스템 및 방법

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
한국정보과학회 2005 가을 학술발표 문집(Ⅱ)제32 제2호*

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9703830B2 (en) 2014-10-09 2017-07-11 International Business Machines Corporation Translation of a SPARQL query to a SQL query

Also Published As

Publication number Publication date
KR20090044463A (ko) 2009-05-07

Similar Documents

Publication Publication Date Title
US20190079968A1 (en) Link-formative auxiliary queries applied at data ingestion to facilitate data operations in a system of networked collaborative datasets
US20200019869A1 (en) Systems and methods for semantic inference and reasoniing
JP6014725B2 (ja) 単文/複文構造の自然言語クエリに対する検索および情報提供方法並びにシステム
KR101082814B1 (ko) 키워드를 이용한 온톨로지 정보 검색 방법 및 장치
Ren et al. Building quick service query list using WordNet and multiple heterogeneous ontologies toward more realistic service composition
US20170060977A1 (en) Data preparation for data mining
KR100912190B1 (ko) 최적화 변환 규칙을 적용하여 rdql 질의를 sql질의로 변환하는 rdql-to-sql 시스템 및 방법
Abul-Basher et al. Tasweet: optimizing disjunctive regular path queries in graph databases
Ge et al. A cost-driven top-K queries optimization approach on federated RDF systems
JP4854542B2 (ja) 文書検索システム及び文書検索方法
Gudivada et al. Data quality centric application framework for big data
Li et al. Research on storage method for fuzzy RDF graph based on Neo4j
KR20120097840A (ko) 벡터 공간 모델을 이용한 rdf 트리플 선택 방법, 장치, 및 그 방법을 실행하기 위한 프로그램 기록매체
KR20160027455A (ko) 대용량 rdf 데이터 관리 방법 및 장치
Li et al. A fast big data collection system using MapReduce framework
CN114443699A (zh) 信息查询方法、装置、计算机设备及计算机可读存储介质
Kontopoulos et al. A Domain-Agnostic Tool for Scalable Ontology Population and Enrichment from Diverse Linked Data Sources.
Jamadagni et al. GoDB: From batch processing to distributed querying over property graphs
Lee et al. Similarity-based change detection for RDF in MapReduce
CN102508828A (zh) 一种基于多代理路由的图路径关系发现方法
KR101272377B1 (ko) 시맨틱 클라우드에 기반한 시맨틱 어노테이션 방법 및 장치
Jang et al. Transitivity reasoning for rdf ontology with iterative mapreduce
Sharma et al. Query intensive interface information extraction protocol for deep web
Elzein et al. Distributed join query processing for big RDF data
Kawises et al. A development of RDF data transfer and query on Hadoop Framework

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130628

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20140703

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20150630

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee