KR101077984B1 - 파생 테이블을 이용하여 집계 기능과 유니온 구문이 포함된 스파클 질의문을 대응하는 구조적 질의문으로 변환하는 처리방법 - Google Patents

파생 테이블을 이용하여 집계 기능과 유니온 구문이 포함된 스파클 질의문을 대응하는 구조적 질의문으로 변환하는 처리방법 Download PDF

Info

Publication number
KR101077984B1
KR101077984B1 KR1020090116501A KR20090116501A KR101077984B1 KR 101077984 B1 KR101077984 B1 KR 101077984B1 KR 1020090116501 A KR1020090116501 A KR 1020090116501A KR 20090116501 A KR20090116501 A KR 20090116501A KR 101077984 B1 KR101077984 B1 KR 101077984B1
Authority
KR
South Korea
Prior art keywords
statement
union
query
syntax
sparkle
Prior art date
Application number
KR1020090116501A
Other languages
English (en)
Other versions
KR20110060034A (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 KR1020090116501A priority Critical patent/KR101077984B1/ko
Priority to PCT/KR2009/007093 priority patent/WO2011065612A1/ko
Publication of KR20110060034A publication Critical patent/KR20110060034A/ko
Application granted granted Critical
Publication of KR101077984B1 publication Critical patent/KR101077984B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • 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/24Querying
    • G06F16/242Query formulation
    • G06F16/2433Query languages

Landscapes

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

Abstract

본 발명은 파생 테이블을 이용하여 스파클 집계 함수 문법 확장시 유니온 구문의 처리방법에 관한 것이다.
본 발명은 파생 테이블을 이용하여 스파클 집계 함수 문법 확장시 유니온 구문의 처리방법에 있어서, 상기 스파클 질의문에 중첩된 유니온 구문을 검출하는 단계, 및 상기 중첩된 유니온 구문이 검출되면 상기 유니온 구문을 파생 테이블을 이용하여 독립 구문으로 변환하는 단계를 포함한다.
스파클(SPARQL), 쿼리(Query), 구조적 질의어(SQL: Structured Query Language), 파생 테이블, 시맨틱 웹(Semantic Web)

Description

파생 테이블을 이용하여 집계 기능과 유니온 구문이 포함된 스파클 질의문을 대응하는 구조적 질의문으로 변환하는 처리방법{Method for Processing SPARQL-Query Containing UNION Clause for Aggregation-Grammar-Extended SPARQL-to-SQL Converter Using Derived Table}
본 발명은 비관계형 질의문을 관계형 질의문으로 변환하는 변환 방법에 관한 것으로, 파생 테이블을 이용하여 집계 기능과 유니온 구문이 포함된 스파클 질의문(SPARQL문)을 대응하는 구조적 질의문(SQL문)으로 변환하는 처리장치, 처리방법 및 이를 기록한 기록매체에 관한 것이다.
시맨틱 웹(Semantic Web)이란 현재 사용되는 인터넷 등과 같은 분산 환경에서 리소스, 예컨대 웹문서, 각종 파일, 각종 응용 서비스 등에 관한 정보와 자원 사이의 관계-의미 정보(semantics)를 기계적으로 처리할 수 있는 온톨로지(ontology) 정보로서 표현하는 기술을 의미한다. `
관계형 데이터 베이스는 데이터 관리를 위하여 가장 보편적으로 사용되고 있는 모델이며, 구조적 질의어(SQL: Structured Query Language)는 관계형 데이터 베이스의 데이터에 신호를 보내 문의하고(interrogate) 처리하기 위해 사용되는 언어를 의미한다.
구조적 질의문(SQL문)에서 테이블 소스로 사용되는 결과집합을 파생 테이블이라고 한다. 결과집합은 구조적 질의의 SELECT문이 수행되어 얻어지는 결과를 가리키는 것으로서, 다시 말해서 파생테이블은 구조적 질의문에서 FROM 절의 테이블 위치에 삽입된 구조적 질의 SELECT문을 가리킨다. 일반적으로 구조적 질의 FROM 절에는 "FROM 테이블명"과 같이 테이블명이 오지만, "FROM ( SELECT문 )"과 같이 괄호로 묶인 SELECT문이 올 수도 있고, 이 같은 경우 FROM 절에 위치하는 SELECT문이 파생 테이블이다.
따라서, 메인 프레임들과 연관하여 사용하기 위해 개발된 클라이언트/서버 환경들을 위해 설계된 대부분의 데이터베이스 관리 시스템들(DBMSs: Database Management Systems)은 구조적 질의어를 지원하고 있다.
스파클(SPARQL)은 시맨틱 웹에서 사실상 표준으로 자리잡은 질의어이며, 시맨틱웹 서비스의 저장소로써 관계형 데이터베이스를 사용하는 경우 SPARQL-TO-SQL 변환기가 반드시 필요하다. SPARQL-TO-SQL 변환기는 내부적으로 SPARQL 구문분석기와 변환 알고리즘으로 구성된다.
일반적으로, 시맨틱 웹 서비스에 관계형 데이터베이스를 사용하는 이유는 안정성과 대용량 처리에 따른 어려움을 해소하기 위해서이다. 따라서, SPARQL 언어로 표현된 질의문은 SPARQL-TO-SQL 변환기를 거쳐 생성된 SQL문을 통해 데이터베이스에서 필요한 정보를 불러오게 된다.
스파클 질의문과 SQL문은 자료를 기술하는 관점이나 언어적 특성이 다르기 때문에 변환 과정을 통해 본래 의도했던 것과 다른 결과물이 나오는 오류를 범할 가능성이 있다.
특히, 집계 기능과 UNION 구문이 포함된 SPARQL 구문을 SQL문으로 단순 변환하게 되면 변환 결과는 집계 범위를 벗어나는 논리적 오류가 발생될 수 있다.
집계 기능은 구조적 질의(SQL)의 SELECT문의 결과집합에 대해 GROUP BY로 주어지는 특정 조건에 맞는 결과만을 한정하여 카운팅(COUNT), 합계(SUM), 최대값(MAX), 최소값(MIN) 등의 집계를 계산하는 기능을 가리킨다. 예를 들어, "SELECT a, COUNT(b) FROM t GROUP BY a"과 같은 구조적 질의문의 SELECT 절에 나타나는 'COUNT(b)'가 집계 기능을 표현한 것이다. 현재까지의 스파클 문법에는 이러한 집계 기능이 포함되어 있지 않지만, 실질적인 서비스를 위해서는 집계 기능이 유용하게 쓰일 수 있기 때문에, 본 발명에서는 구조적 질의에서와 같은 집계 기능을 포함하도록 확장된 스파클을 대상으로 함을 밝힌다.
데이터베이스 저장소 환경에서 이러한 SPARQL-TO-SQL 변환기의 성능이 시맨틱웹 질의 처리의 정확도를 뒷받침하는 중요한 역할을 한다.
본 발명은 "FROM" 절을 확장한 형식으로 표현되는 파생 테이블을 이용하여 집계 기능과 유니온 구문이 포함된 스파클 질의문(SPARQL문)을 대응하는 구조적 질의문(SQL문)으로 변환하는 처리장치, 처리방법 및 이를 기록한 기록매체를 제공한다.
본 발명의 한 특징에 따르면, 파생 테이블을 이용하여 집계 기능과 유니온 구문이 포함된 스파클 질의문(SPARQL문)을 대응하는 구조적 질의문(SQL문)으로 변환하는 처리방법에 있어서, 상기 스파클 질의문에 중첩된 유니온 구문을 검출하는 단계, 및 상기 중첩된 유니온 구문이 검출되면 상기 유니온 구문을 파생 테이블을 이용하여 독립 구문으로 변환하는 단계를 포함한다.
또한, 본 발명에 따른 파생 테이블을 이용하여 집계 기능과 유니온 구문이 포함된 스파클 질의문(SPARQL문)을 대응하는 구조적 질의문(SQL문)으로 변환하는 처리방법은 상기 변환된 파생 테이블을 이용하여 상기 스파클 질의문을 대응되는 구조적 질의문으로 변환하는 단계를 더 포함할 수 있다.
또한, 본 발명에 파생 테이블을 이용하여 집계 기능과 유니온 구문이 포함된 스파클 질의문(SPARQL문)을 대응하는 구조적 질의문(SQL문)으로 변환하는 처리방법의 상기 스파클 질의문에서 중첩된 유니온 구문을 검출하는 단계에서, 상기 중첩된 유니온 구문은 상기 스파클 질의문의 "WHERE" 절 내부에 "UNION" 구문이 포함되는 구문을 의미할 수 있다.
또한, 본 발명에 따른 파생 테이블을 이용하여 집계 기능과 유니온 구문이 포함된 스파클 질의문(SPARQL문)을 대응하는 구조적 질의문(SQL문)으로 변환하는 처리방법의 상기 스파클 질의문에 중첩된 유니온 구문을 검출하는 단계에서, 상기 중첩된 유니온 구문은 상기 스파클 질의문의 "UNION" 구문 내부에 "UNION" 구문이 포함되는 구문을 의미할 수 있다.
또한, 본 발명에 따른 파생 테이블을 이용하여 집계 기능과 유니온 구문이 포함된 스파클 질의문(SPARQL문)을 대응하는 구조적 질의문(SQL문)으로 변환하는 처리방법의 상기 중첩된 유니온 구문이 검출되면 상기 유니온 구문을 파생 테이블을 이용하여 독립 구문으로 변환하는 단계에서, 상기 파생 테이블은 "FROM" 절을 확장한 구문 형식으로 표현될 수 있다.
또한, 본 발명에 따른 파생 테이블을 이용하여 집계 기능과 유니온 구문이 포함된 스파클 질의문(SPARQL문)을 대응하는 구조적 질의문(SQL문)으로 변환하는 처리방법의 상기 중첩된 유니온 구문이 검출되면 상기 유니온 구문을 파생 테이블을 이용하여 독립 구문으로 변환하는 단계에서, 상기 "FROM" 절을 확장한 구문 형식으로 표현되는 파생 테이블이 독립적으로 나열되는 형태로 유니온 구문이 변환될 수 있다.
또한, 본 발명에 따른 파생 테이블을 이용하여 집계 기능과 유니온 구문이 포함된 스파클 질의문(SPARQL문)을 대응하는 구조적 질의문(SQL문)으로 변환하는 처리방법의 상기 변환된 파생 테이블을 이용하여 상기 스파클 질의문을 대응되는 구조적 질의문으로 변환하는 단계에서, 상기 스파클 질의문을 상기 구조적 질의문으로 매칭시키는 변환 알고리즘을 사용하여 상기 스파클 질의문을 구조적 질의문으로 변환할 수 있다.
본 발명의 다른 특징에 따르면, 파생 테이블을 이용하여 집계 기능과 유니온 구문이 포함된 스파클 질의문(SPARQL문)을 대응하는 구조적 질의문(SQL문)으로 변환하는 처리방법을 수행하는 프로그램이 기록되고 전자 장치에서 판독 가능한 기록매체에 기록될 수 있다.
본 발명의 다른 특징에 따른 파생 테이블을 이용하여 집계 기능과 유니온 구문이 포함된 스파클 질의문(SPARQL문)을 대응하는 구조적 질의문(SQL문)으로 변환하는 처리장치는, 입력된 스파클 질의문으로부터 중첩된 유니온 구문을 검출하는 유니온 구문 검출부, 상기 중첩된 유니온 구문이 검출되면 상기 유니온 구문에 대응되는 파생 테이블을 생성하는 파생 테이블 생성부, 및 상기 생성된 파생 테이블을 이용하여 상기 중첩된 유니온 구문이 포함된 스파클 질의문을 구조적 질의문으로 변환하는 질의문 변환부를 포함한다.
또한, 본 발명에 따른 파생 테이블을 이용하여 집계 기능과 유니온 구문이 포함된 스파클 질의문(SPARQL문)을 대응하는 구조적 질의문(SQL문)으로 변환하는 처리장치의 상기 유니온 구문 검출부는 상기 스파클 질의문에서 "WHERE" 절 내부에 "UNION" 구문이 포함되는 구문, 또는 "UNION" 구문 내부에 "UNION" 구문이 포함되는 구문을 검출할 수 있다.
또한, 본 발명에 따른 파생 테이블을 이용하여 집계 기능과 유니온 구문이 포함된 스파클 질의문(SPARQL문)을 대응하는 구조적 질의문(SQL문)으로 변환하는 처리장치의 상기 파생 테이블 생성부는 "FROM" 절을 확장한 구문 형식으로 표현될 수 있다.
또한, 본 발명에 따른 파생 테이블을 이용하여 집계 기능과 유니온 구문이 포함된 스파클 질의문(SPARQL문)을 대응하는 구조적 질의문(SQL문)으로 변환하는 처리장치의 상기 질의문 변환부는 상기 스파클 질의문을 상기 구조적 질의문으로 매칭시키는 변환 알고리즘을 사용하여 변환할 수 있다.
본 발명의 실시 예에서는 파생 테이블을 이용하여 집계 기능과 중첩된 유니온 구문이 포함되는 스파클 질의문을 독립적인 구문의 구조적 질의문으로 변환할 수 있는 효과가 있다.
또한, 중첩된 유니온 구문이 포함되는 스파클 질의문을 검출하고, 집계 기능을 갖는 스파클 질의문을 파생 테이블을 이용하여 독립 기능을 갖는 구조적 질의문 으로 변환할 수 있으므로 변환 오류를 줄일 수 있는 효과가 있다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시 예를 가질 수 있는 바, 특정 실시 예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
이제 본 발명의 실시 예에 따른 파생 테이블을 이용하여 집계 기능과 유니온 구문이 포함된 스파클 질의문(SPARQL문)을 대응하는 구조적 질의문(SQL문)으로 변환하는 처리방법 및 이를 기록한 기록매체에 대하여 도면을 참조하여 상세하게 설명하고, 도면 부호에 관계없이 동일하거나 대응하는 구성요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.
SPARQL - TO - SQL 변환방법
도 1은 본 발명의 실시 예에 따른 파생 테이블을 이용하여 집계 기능과 유니온 구문이 포함된 스파클 질의문(SPARQL문)을 대응하는 구조적 질의문(SQL문)으로 변환하는 처리방법의 흐름도를 도시한 도면이다.
도 1에 도시한 바와 같이, 본 발명의 실시 예에 따른 파생 테이블을 이용하여 집계 기능과 유니온 구문이 포함된 스파클 질의문(SPARQL문)을 대응하는 구조적 질의문(SQL문)으로 변환하는 처리방법은 스파클 질의문에 중첩된 유니온 구문을 검출하고(S110), 유니온 구문을 파생 테이블로 변환하고(S120), 상기 변환된 파생 테이블을 이용하여 스파클 질의문을 대응되는 구조적 질의문으로 변환한다(S130).
먼저, 스파클(SPARQL) 질의문에 사용되는 중첩된 유니온(UNION) 구문은 스파클 질의문의 "WHERE" 절 내부에 "UNION" 구문이 포함되는 구문 또는 스파클 질의문의 "UNION" 구문 내부에 "UNION" 구문이 포함되는 구문을 의미한다.
따라서, 스파클 질의문에서 "WHERE" 절 내부에 "UNION" 구문이 포함되어 있는지 또는 "UNION" 구문 내부에 다시 "UNION" 구문이 포함되어 있는지 여부를 검출한다.
다음으로, 중첩된 유니온 구문이 검출되면 상기 유니온 구문을 파생 테이블로 변환하는 단계(S120)는 "FROM" 절을 확장한 구문 형식으로 표현되는 파생 테이블을 이용하여 스파클 질의문을 구조적 질의문으로 변환할 수 있다.
즉, 스파클 질의문에서 중첩된 유니온 구문이 검출되면, 중첩된 유니온 구문을 "FROM" 절을 확장한 구문 형식으로 표현되는 파생 테이블을 생성하고, 생성된 파생 테이블이 독립적으로 나열되는 형태로 스파클 질의문을 구조적 질의문으로 변환할 수 있다.
일반적으로 관계형 데이터베이스에서 사용하는 구조적 질의문에서 유니온(UNION) 구문을 중첩하여 사용할 수 없으므로 "FROM" 절을 확장한 구문 형식으로 표현되는 파생 테이블을 이용하여 유니온 구문을 독립 구문 형태로 변환할 필요가 있다.
마지막으로, 스파클 질의문을 대응되는 구조적 질의문으로 변환하는 단계(S130)는 스파클 질의어를 구조적 질의어로 매칭시키는 변환 알고리즘을 사용할 수 있다.
도 2는 본 발명에 따른 중첩된 "UNION" 구문이 포함되는 스파클 질의문의 일 실시 예를 나타낸 도면이고, 도 3은 도 2에 예시된 스파클 질의문을 본 발명에 따른 집계 기능과 유니온 구문이 포함된 스파클 질의문(SPARQL문)을 대응하는 구조적 질의문(SQL문)으로 변환하는 방법에 의해 얻어진 구조적 질의문의 일 실시 예를 나타내는 도면이다.
도 2에 도시한 바와 같이, 일 실시 예에 따른 스파클 질의문은 "WHERE" 구문 내에 "UNION" 구문이 포함되거나, "UNION" 구문 내에 다시 "UNION" 구문이 중괄호({})속에 포함되어 있는 형태로 중첩된 "UNION" 구문이 포함된다.
중첩된 "UNION" 구문이 포함된 구문을 구조적 질의문으로 변환하기 위해서는 중첩된 "UNION" 구문을 파생 테이블을 이용하여 독립 구문으로 변환할 필요가 있다.
도 3에 도시한 바와 같이, 도 2에 나타낸 중첩된 "UNION" 구문이 포함된 스파클 질의문을 구조적 질의문으로 변환한 것으로, "FROM" 절을 확장한 구문 형태의 파생 테이블을 사용하여 독립된 구조적 질의 SELECT문들의 UNION 형태로 변환한 것이다.
상기 파생 테이블을 이용한 독립된 구조적 질의 SELECT문들의 UNION 형태로의 변환 방법을 설명하면 다음과 같다..
도 2의 8번 행에서 35번 행사이의 트리플 패턴의 UNION 블록은 도 3의 5번 행에서 29번 행 사이의 독립된 구조적 질의 SELECT 구문들의 UNION 블록에 대응하도록 변환되고 이것이 도 3의 4번 행과 30번 행의 괄호(())로 묶인 파생 테이블 형태로 도 3의 2번 행의 FROM 절에 테이블 소스로 변환된 것이다. 이때, FROM절의 다른 테이블들과는 4번 행과 같이 내부 조인(JOIN)으로 결합된다. 스파클 UNION의 트리플 패턴 블록에 대한 변환을 좀더 구체적으로 설명하자면, 도 2의 8번 행에서 12번 행 사이의 중괄호({})로 묶인 트리플 패턴 블록은 도 3의 5번 행에서 9번 행 사이의 구조적 질의 SELECT문으로 변환된다. 이때, 변환된 SELECT절에는 트리플 패턴에 나타나는 모든 변수들이 대응하여 나타나도록 변환되어야 한다.
도 2의 26번 행에서 34번 행 사이에는 UNION절 내에 중첩된 UNION절 블록이 나타나는데, 이 UNION절 블록 또한 상기와 같은 방식으로 도 3의 21번 행에서 29번 행사이의 구조적 질의문으로 변환된다. 다시 말해, 중괄호({})로 묶인 각 트리플 패턴 블록은 하나의 독립된 구조적 질의 SELECT문으로 변환되고 이 SELECT문들을 UNION으로 결합한 후, 괄호(())로 묶인 파생 테이블 형태로 FROM절의 테이블 소스로 변환된다.
즉, 집계 기능이 포함된 스파클 질의문에 사용되는 중첩된 "UNION" 구문은 "FROM" 절을 확장한 구문 형태의 독립 구문으로 나타낼 수 있으므로 집계 기능을 수행할 수 있는 구조적 질의문 형태로 변환할 수 있다.
도 4는 본 발명에 따른 중첩된 "UNION" 구문이 포함되는 스파클 질의문의 일 실시 예를 나타낸 도면이고, 도 5는 도 4의 실시 예를 본 발명에 따라 파생 테이블을 이용하여 스파클 질의문을 구조적 질의문으로 변환한 일 실시 예이고, 도 6은 도 4의 실시 예를 파생 테이블을 이용하지 않고 스파클 질의문을 구조적 질의문으 로 변환한 일 실시 예를 나타낸 도면이다.
도 4 내지 도 6에 도시한 바와 같이, "UNION" 구문이 포함되는 스파클 질의문을 파생 테이블을 이용하여 구조적 질의문으로 변환하면, 스파클 질의문의 중첩된 "UNION" 구문은 "FROM" 절이 확장된 구문 형태로 변환된다(도 5 참조).
그러나, 파생 테이블을 이용하지 않고 스파클 질의문을 구조적 질의문으로 변환하면, 두 개의 질의문이 각각 실행된 후 결과가 합해진 형태로 변환된다(도 6 참조).
예를 들어, 중첩된 유니온 구문이 포함된 스파클 질의문이 전제 조건(GROUP BY)이 있는 데이터 정렬(ORDER BY) 등 집계 함수 기능을 수행하는 경우 파생 테이블을 이용하지 않고 구조적 질의문으로 변환하게 되면, 변환 과정에서 전제 조건 구문과 데이터 정렬 구문이 각각 독립된 함수로 처리되고, 그 결과를 합하는 형태로 변환되기 때문에 전제 조건이 제대로 반영되지 못하는 문제가 발생된다.
도 4와 같이 집계 기능과 UNION을 포함하는 스파클 질의문은 파생 테이블 형식을 사용하지 않는 기존의 일반적인 SPARQL-to-SQL 변환 기법을 사용하면 도 6에서와 같이 독립된 구조적 질의 SELECT문들의 UNION으로 변환될 수 있다. 그러나, 이렇게 변환된 구조적 질의문은 집계 기능이 전체 결과집합에 적용되지 못하기 때문에 본래의 스파클 질의문이 의미하는 바와 같은 결과를 얻지 못한다. 반면에, 도 5와 같이 독립된 구조적 질의 SELECT문들의 UNION으로 변환된 것을 다시 파생 테이블 형태로 FROM절의 테이블 소스로 변환함으로써, 본래의 스파클 질의문이 의미하는 바와 동일한 결과를 얻을 수 있다.
따라서, 중첩된 유니온 구문이 포함되는 스파클 질의문에서 집계 함수 기능을 수행하기 위해서는 파생 테이블을 이용하여 구조적 질의문으로 변환할 필요가 있다.
SPARQL - TO - SQL 변환방법이 기록된 기록매체
본 발명의 다른 특징에 따르면, 파생 테이블을 이용하여 집계 기능과 유니온 구문이 포함된 스파클 질의문(SPARQL문)을 대응하는 구조적 질의문(SQL문)으로 변환하는 처리방법을 수행하는 프로그램이 기록되고 전자 장치에서 판독 가능한 기록매체에 기록될 수 있다.
파생 테이블을 이용하여 유니온 구문을 포함하는 스파클 질의문을 구조적 질의문으로 변환하는 방법은 컴퓨터 프로그램으로 작성 가능하며, 상기 프로그램을 구성하는 코드들 및 코드 세그먼트들은 당해 분야의 컴퓨터 프로그래머에 의하여 용이하게 추론될 수 있다.
또한, 파생 테이블을 이용하여 유니온 구문을 포함하는 스파클 질의문을 구조적 질의문으로 변환하는 방법에 관한 프로그램은 컴퓨터가 읽을 수 있는 정보저장매체(computer reader media)에 저장되고, 컴퓨터에 의하여 읽혀지고 실행됨으로써 중첩된 유니온 구문을 포함하는 스파클 질의문이 오류 없이 구조적 질의문으로 변환될 수 있다.
SPARQL - TO - SQL 변환장치
도 7은 본 발명의 일 실시 예에 따른 파생 테이블을 이용하여 집계 기능과 유니온 구문이 포함된 스파클 질의문(SPARQL문)을 대응하는 구조적 질의문(SQL문)으로 변환하는 처리장치의 구성도를 개략적으로 도시한 도면이다.
도 7에 도시한 바와 같이, 본 발명에 따른 파생 테이블을 이용하여 집계 기능과 유니온 구문이 포함된 스파클 질의문(SPARQL문)을 대응하는 구조적 질의문(SQL문)으로 변환하는 처리장치(200)는 유니온 구문 검출부(210), 파생 테이블 생성부(220) 및 질의문 변환부(230)를 포함한다.
유니온 구문 검출부(210)는 입력된 스파클 질의문으로부터 중첩된 유니온 구문을 검출한다.
즉, 유니온 구문 검출부(210) 스파클 질의문에서 "WHERE" 절 내부에 "UNION" 구문이 포함되는 구문, 또는 "UNION" 구문 내부에 "UNION" 구문이 포함되는 구문을 검출할 수 있다.
또한, 파생 테이블 생성부(220)는 중첩된 유니온 구문이 검출되면 유니온 구문에 대응되는 파생 테이블을 생성한다.
파생 테이블 생성부(220)는 "FROM" 절을 확장한 구문 형식으로 표현되는 파생 테이블을 생성하는 파생 테이블을 이용한 스파클 집계 함수 문법 확장시 유니온 구문의 처리장치를 이용하여 스파클 질의문을 구조적 질의문으로 변환할 수 있다.
질의문 변환부(230)는 생성된 파생 테이블을 이용하여 중첩된 유니온 구문이 포함된 스파클 질의문을 구조적 질의문으로 변환한다.
예를 들어, 질의문 변환부(230)는 스파클 질의문을 구조적 질의문으로 매칭시키는 변환 알고리즘 또는 변환 인터페이스를 사용하여 변환할 수 있다.
이상에서 본 발명의 실시 예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.
도 1은 본 발명의 실시 예에 따른 파생 테이블을 이용하여 집계 기능과 유니온 구문이 포함된 스파클 질의문(SPARQL문)을 대응하는 구조적 질의문(SQL문)으로 변환하는 처리방법의 흐름도를 도시한 도면이다.
도 2는 본 발명에 따른 중첩된 "UNION" 구문이 포함되는 스파클 질의문의 일 실시 예를 나타낸 도면이다.
도 3은 본 발명에 따른 파생 테이블을 이용하여 집계 기능과 유니온 구문이 포함된 스파클 질의문(SPARQL문)을 대응하는 구조적 질의문(SQL문)으로 변환하는 처리방법에서 유니온 구문을 구조적 질의문으로 변환하는 일 실시 예를 나타낸 도면이다.
도 4는 본 발명에 따른 중첩된 "UNION" 구문이 포함되는 스파클 질의문의 일 실시 예를 나타낸 도면이다.
도 5는 도 4의 실시 예를 본 발명에 따라 파생 테이블을 이용하여 스파클 질의문을 구조적 질의문으로 변환한 일 실시 예를 나타낸 도면이다.
도 6은 도 4의 실시 예를 파생 테이블을 이용하지 않고 스파클 질의문을 구조적 질의문으로 변환한 일 실시 예를 나타낸 도면이다.
도 7은 본 발명의 일 실시 예에 따른 파생 테이블을 이용하여 집계 기능과 유니온 구문이 포함된 스파클 질의문(SPARQL문)을 대응하는 구조적 질의문(SQL문)으로 변환하는 처리장치의 구성도를 개략적으로 도시한 도면이다.

Claims (12)

  1. 파생 테이블을 이용하여 집계 기능과 유니온 구문이 포함된 스파클 질의문(SPARQL문)을 대응하는 구조적 질의문(SQL문)으로 변환하는 처리방법에 있어서,
    상기 스파클 질의문에 중첩된 유니온 구문을 검출하는 단계; 및
    상기 중첩된 유니온 구문이 검출되면 상기 유니온 구문을 파생 테이블을 이용하여 독립 구문으로 변환하는 단계;를 포함하는 파생 테이블을 이용하여 집계 기능과 유니온 구문이 포함된 스파클 질의문(SPARQL문)을 대응하는 구조적 질의문(SQL문)으로 변환하는 처리방법.
  2. 제1항에 있어서,
    상기 변환된 파생 테이블을 이용하여 상기 스파클 질의문을 대응되는 구조적 질의문으로 변환하는 단계를 더 포함하는 파생 테이블을 이용하여 집계 기능과 유니온 구문이 포함된 스파클 질의문(SPARQL문)을 대응하는 구조적 질의문(SQL문)으로 변환하는 처리방법.
  3. 제1항에 있어서,
    상기 스파클 질의문에서 중첩된 유니온 구문을 검출하는 단계에서,
    상기 중첩된 유니온 구문은 상기 스파클 질의문의 "WHERE" 절 내부에 "UNION" 구문이 포함되는 구문을 의미하는 파생 테이블을 이용하여 집계 기능과 유니온 구문이 포함된 스파클 질의문(SPARQL문)을 대응하는 구조적 질의문(SQL문)으로 변환하는 처리방법.
  4. 제1항에 잇어서,
    상기 스파클 질의문에 중첩된 유니온 구문을 검출하는 단계에서,
    상기 중첩된 유니온 구문은 상기 스파클 질의문의 "UNION" 구문 내부에 "UNION" 구문이 포함되는 구문을 의미하는 파생 테이블을 이용하여 집계 기능과 유니온 구문이 포함된 스파클 질의문(SPARQL문)을 대응하는 구조적 질의문(SQL문)으로 변환하는 처리방법.
  5. 제1항에 있어서,
    상기 중첩된 유니온 구문이 검출되면 상기 유니온 구문을 파생 테이블을 이용하여 독립 구문으로 변환하는 단계에서,
    상기 파생 테이블은 "FROM" 절을 확장한 구문 형식으로 표현되는 파생 테이블을 이용하여 집계 기능과 유니온 구문이 포함된 스파클 질의문(SPARQL문)을 대응하는 구조적 질의문(SQL문)으로 변환하는 처리방법.
  6. 제5항에 있어서,
    상기 중첩된 유니온 구문이 검출되면 상기 유니온 구문을 파생 테이블을 이용하여 독립 구문으로 변환하는 단계에서,
    상기 "FROM" 절을 확장한 구문 형식으로 표현되는 파생 테이블이 독립적으로 나열되는 형태로 유니온 구문이 변환되는 파생 테이블을 이용하여 집계 기능과 유니온 구문이 포함된 스파클 질의문(SPARQL문)을 대응하는 구조적 질의문(SQL문)으로 변환하는 처리방법.
  7. 제2항에 있어서,
    상기 변환된 파생 테이블을 이용하여 상기 스파클 질의문을 대응되는 구조적 질의문으로 변환하는 단계에서,
    상기 스파클 질의문을 상기 구조적 질의문으로 매칭시키는 변환 알고리즘을 사용하는 상기 스파클 질의문을 상기 구조적 질의문으로 변환하는 파생 테이블을 이용하여 집계 기능과 유니온 구문이 포함된 스파클 질의문(SPARQL문)을 대응하는 구조적 질의문(SQL문)으로 변환하는 처리방법.
  8. 제1항 내지 제7항 중 어느 한 항에 있어서, 파생 테이블을 이용하여 집계 기능과 유니온 구문이 포함된 스파클 질의문(SPARQL문)을 대응하는 구조적 질의문(SQL문)으로 변환하는 처리방법을 수행하는 프로그램이 기록되고 전자 장치에서 판독 가능한 기록매체.
  9. 입력된 스파클 질의문으로부터 중첩된 유니온 구문을 검출하는 유니온 구문 검출부;
    상기 중첩된 유니온 구문이 검출되면 상기 유니온 구문에 대응되는 파생 테이블을 생성하는 파생 테이블 생성부; 및
    상기 생성된 파생 테이블을 이용하여 상기 중첩된 유니온 구문이 포함된 스파클 질의문을 구조적 질의문으로 변환하는 질의문 변환부;를 포함하는 파생 테이블을 이용하여 집계 기능과 유니온 구문이 포함된 스파클 질의문(SPARQL문)을 대응하는 구조적 질의문(SQL문)으로 변환하는 처리장치.
  10. 제9항에 있어서,
    상기 유니온 구문 검출부는, 상기 스파클 질의문에서 "WHERE" 절 내부에 "UNION" 구문이 포함되는 구문, 또는 "UNION" 구문 내부에 "UNION" 구문이 포함되는 구문을 검출하는 파생 테이블을 이용하여 집계 기능과 유니온 구문이 포함된 스파클 질의문(SPARQL문)을 대응하는 구조적 질의문(SQL문)으로 변환하는 처리장치.
  11. 제9항에 있어서,
    상기 파생 테이블 생성부는 "FROM" 절을 확장한 구문 형식으로 표현되는 파생 테이블을 이용하여 집계 기능과 유니온 구문이 포함된 스파클 질의문(SPARQL문)을 대응하는 구조적 질의문(SQL문)으로 변환하는 처리장치.
  12. 제9항에 있어서,
    상기 질의문 변환부는 상기 스파클 질의문을 상기 구조적 질의문으로 매칭시키는 변환 알고리즘을 사용하여 변환하는 파생 테이블을 이용하여 집계 기능과 유니온 구문이 포함된 스파클 질의문(SPARQL문)을 대응하는 구조적 질의문(SQL문)으로 변환하는 처리장치.
KR1020090116501A 2009-11-30 2009-11-30 파생 테이블을 이용하여 집계 기능과 유니온 구문이 포함된 스파클 질의문을 대응하는 구조적 질의문으로 변환하는 처리방법 KR101077984B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020090116501A KR101077984B1 (ko) 2009-11-30 2009-11-30 파생 테이블을 이용하여 집계 기능과 유니온 구문이 포함된 스파클 질의문을 대응하는 구조적 질의문으로 변환하는 처리방법
PCT/KR2009/007093 WO2011065612A1 (ko) 2009-11-30 2009-12-01 파생 테이블을 이용하여 스파클 집계 함수 문법 확장시 유니온 구문의 처리방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090116501A KR101077984B1 (ko) 2009-11-30 2009-11-30 파생 테이블을 이용하여 집계 기능과 유니온 구문이 포함된 스파클 질의문을 대응하는 구조적 질의문으로 변환하는 처리방법

Publications (2)

Publication Number Publication Date
KR20110060034A KR20110060034A (ko) 2011-06-08
KR101077984B1 true KR101077984B1 (ko) 2011-10-31

Family

ID=44066714

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090116501A KR101077984B1 (ko) 2009-11-30 2009-11-30 파생 테이블을 이용하여 집계 기능과 유니온 구문이 포함된 스파클 질의문을 대응하는 구조적 질의문으로 변환하는 처리방법

Country Status (2)

Country Link
KR (1) KR101077984B1 (ko)
WO (1) WO2011065612A1 (ko)

Families Citing this family (2)

* 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
CN112100198B (zh) * 2020-09-09 2023-12-08 上海达梦数据库有限公司 数据库sql语句优化方法、装置、设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100893176B1 (ko) 2007-05-11 2009-04-17 한국과학기술정보연구원 Rdf 트리플 기반 확장 클래스-속성 관리 시스템 및 그방법
US20090138437A1 (en) 2007-11-26 2009-05-28 Microsoft Corporation Converting sparql queries to sql queries

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100893176B1 (ko) 2007-05-11 2009-04-17 한국과학기술정보연구원 Rdf 트리플 기반 확장 클래스-속성 관리 시스템 및 그방법
US20090138437A1 (en) 2007-11-26 2009-05-28 Microsoft Corporation Converting sparql queries to sql queries

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Semantics preserving SPARQL-to-SQL translation, Chebotko 외 2명, Data & Knowledge Engineering, Volume 68 Issue 10, 2009년 10월
semQA: SPARQL with Idempotent Disjunction, Shironoshita 외 4명, IEE Transactions on Knowledge and Data Engineering, Volume 21 Issue 3, 2009년 3월

Also Published As

Publication number Publication date
KR20110060034A (ko) 2011-06-08
WO2011065612A1 (ko) 2011-06-03

Similar Documents

Publication Publication Date Title
US7437374B2 (en) Efficient XML schema validation of XML fragments using annotated automaton encoding
Patel-Schneider et al. The Yin/Yang web: XML syntax and RDF semantics
JP4709213B2 (ja) 変換を使用したクエリの効率的な評価
US7383255B2 (en) Common query runtime system and application programming interface
US8862636B2 (en) Scalable algorithms for mapping-based XML transformation
US10242123B2 (en) Method and system for handling non-presence of elements or attributes in semi-structured data
WO2007061430A1 (en) System and method for translating sql queries into xml query language
US20060242115A1 (en) System and method for an improved type inference
Touma et al. Supporting data integration tasks with semi-automatic ontology construction
Fahad Er2owl: Generating owl ontology from er diagram
US20080033968A1 (en) Methods and apparatus for input specialization
KR101077984B1 (ko) 파생 테이블을 이용하여 집계 기능과 유니온 구문이 포함된 스파클 질의문을 대응하는 구조적 질의문으로 변환하는 처리방법
CN108008947B (zh) 一种编程语句的智能提示方法、装置、服务器及存储介质
Albarrak et al. Translating relational & object-relational database models into OWL models
US11100286B2 (en) Methods and systems for implied graph patterns in property chains
JP3292160B2 (ja) Cobol言語のソースプログラムのコンバージョン方法及び装置並びに記録媒体
US9875289B2 (en) Remote knowledge server apparatus and method thereof
CN113312373A (zh) 一种数据结构化查询语句的解析方法及设备
Vidal et al. Publication and maintenance of RDB2RDF views externally materialized in enterprise knowledge graphs
Alam et al. Towards a semantic web stack applicable for both RDF and topic maps: a survey
Yuan et al. A semantic information integration tool suite
Smith et al. Inter Model Data Exchange of Type Information via a Common Type Hierarchy.
Le et al. Optimization of XML queries by using semantics in XML schemas and the document structure
CN101794305A (zh) 一种扩展XQuery的GML查询方法
Borgida et al. Accessing Document Data Sources using Referring Expression Types.

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: 20130924

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20151026

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20161005

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee