[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

KR100484138B1 - 관계형 데이터베이스에서 정규 경로식 질의를 처리하는xml 인덱싱 방법과 자료구조 - Google Patents

관계형 데이터베이스에서 정규 경로식 질의를 처리하는xml 인덱싱 방법과 자료구조 Download PDF

Info

Publication number
KR100484138B1
KR100484138B1 KR10-2002-0025398A KR20020025398A KR100484138B1 KR 100484138 B1 KR100484138 B1 KR 100484138B1 KR 20020025398 A KR20020025398 A KR 20020025398A KR 100484138 B1 KR100484138 B1 KR 100484138B1
Authority
KR
South Korea
Prior art keywords
path
information
xml
document
expression
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Fee Related
Application number
KR10-2002-0025398A
Other languages
English (en)
Other versions
KR20030087370A (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 KR10-2002-0025398A priority Critical patent/KR100484138B1/ko
Priority to JP2003039719A priority patent/JP4028410B2/ja
Priority to CNB031085261A priority patent/CN1230771C/zh
Priority to US10/428,933 priority patent/US7139746B2/en
Publication of KR20030087370A publication Critical patent/KR20030087370A/ko
Application granted granted Critical
Publication of KR100484138B1 publication Critical patent/KR100484138B1/ko
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • H04N21/4332Content storage operation, e.g. storage operation in response to a pause request, caching operations by placing content in organized collections, e.g. local EPG data repository
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/14Tree-structured documents
    • G06F40/143Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD]
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99932Access augmentation or optimizing

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)
  • Multimedia (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 관계형 데이터베이스에서 사용자의 질의 표현방법의 차이에 관계없이 안정되게 질의를 처리할 수 있는 확장 마크업 언어(XML, Extended Markup Language) 인덱싱 방법인 경로 인덱스 룩업(lookup) 방법에 관한 것으로, 경로 룩업(PathLookup) 테이블과 확장간선(ExtendedEdge) 테이블의 구조를 제시하고, 이들 테이블을 사용하여 임의 길이의 정규 경로식을 단 한번의 조인으로 처리할 수 있도록 하는 방법을 제공한다.
본 발명에서 제시하는 테이블 구조를 사용한 경로 인덱스 룩업 방법을 사용하면, 확장 마크업 언어(XML)의 핵심적인 사용자 질의 타입인 정규 경로식(regular path expression) 질의를 사용자가 기술하는 형식에 관계없이 안정적이고, 빠르게 처리할 수 있는 효과가 있다.

Description

관계형 데이터베이스에서 정규 경로식 질의를 처리하는 XML 인덱싱 방법과 자료구조 {XML indexing method for regular path expression queries in relational database and data structure thereof.}
본 발명은 관계형 데이터베이스에서 사용자의 질의 표현방법의 차이에 관계없이 안정되게 질의를 처리할 수 있는 확장 마크업 언어(XML, Extended Markup Language) 인덱싱 방법인 경로 인덱스 룩업(lookup) 방법에 관한 것으로, 경로 룩업(PathLookup) 테이블과 확장간선(ExtendedEdge) 테이블의 구조를 제시하고, 이들 테이블을 사용하여 임의 길이의 정규 경로식을 단 한번의 조인으로 처리할 수 있도록 하는 방법을 제공한다.
인터넷에서 정보 교환의 표준 언어로 제안된 확장 마크업 언어(XML, Extended Markup Language)는 컴퓨터 및 네트워크 시스템(SyncML, UPnP)에서는 물론이고, 생물정보(BSML, BioML), 전자상거래(ebXML, ECML), 전자 문서 교환(XML-EDI), 지리정보 및 전역위치 시스템(GPS, Global Positioning System)(GML, NVML), 멀티미디어(MPEG-7, IML), 엔터테인먼트(MusicXML, GML), 교육(LMML, TML), 의료(CTDM, TDL), 출판(BiblioML, DocBook), TV 방송(TV-Anytime) 등 산업 전 분야에서 폭넓게 사용되고 있다.
각 응용 분야에서 확장 마크업 언어(XML)로 기술된 데이터가 관계형 데이터베이스나 객체형 데이터베이스와 같은 기존 데이터베이스에서의 정형적인 데이터와 다른 점 중의 하나는 데이터 구조가 반 구조적(semi-structured)이라는 점이다. 즉, 확장 마크업 언어(XML)에서는 응용 분야에 맞는 데이터 구조를 나타내는 양식(DTD, Document Type Definition)은 정의하되, 엄격하게 그 양식을 따르지 않아도 되는 반구조적인 특성을 가진다.
확장 마크업 언어(XML)의 반 구조적(semi-structured)인 특성은 서로 다른 정보 소스들 간의 데이터 표현 및 교환에 있어서 융통성을 제공할 수 있는 장점이 있다. 확장 마크업 언어(XML)가 많은 응용 분야에서 표준 언어로 사용되는 이유 중의 하나도 데이터 표현이 용이하다는 것 이외에, 이러한 반 구조적(semi-structured)인 특성에 기인한다고 볼 수 있다.
확장 마크업 언어(XML)의 반 구조적 특성 때문에, 확장 마크업 언어(XML) 저작자는 정의된 데이터 양식(DTD)에서 벗어나 확장 마크업 언어(XML)의 데이터를 변형하여 생성하는 것이 허용될 뿐만 아니라, 확장 마크업 언어(XML)의 사용자 역시 확장 마크업 언어(XML) 데이터의 정확한 구조를 알지 않고도 데이터에 대한 검색을 수행할 수 있다.
확장 마크업 언어(XML)의 반 구조적인 특성에 기반을 둔 검색은 사용자가 검색하고자 하는 응용을 나타내는 확장 마크업 언어(XML)의 문서 구조를 정확히 알지 못할 때 유용하게 쓰일 수 있다. 예를 들어, 웹에서 특정 분야의 확장 마크업 언어(XML)로 된 문서를 검색할 때, 사용자는 해당 분야의 스키마(schema)를 정확히 반영하지 않은 부분적 지식으로도 문서에 대한 질의 결과를 얻을 수 있다.
사용자의 확장 마크업 언어(XML) 데이터에 대한 반 구조적 특성에 기반을 둔 검색은 확장 마크업 언어(XML)의 질의어인 XQuery 등에서 정규 경로식 질의(regular path expression query)로 기술된다. 질의를 처리하는 시스템 측면에서 확장 마크업 언어(XML)의 정규 경로식 질의는, 정형화된 스키마를 기반으로 한 데이터베이스 질의와는 달리 질의 조건에 해당 데이터의 구조를 정확하게 기술하지 않기 때문에, 동일한 조건을 나타내는 질의가 사용자의 기술 방법에 따라서 다른 질의로 해석되어 수행되어질 수 있다. 따라서 확장 마크업 언어(XML)를 처리하는 시스템이 정규 경로식 질의를 해석하고 최적화하는 방법에 따라서 질의 처리 성능에 많은 차이를 보일 수 있다.
확장 마크업 언어(XML) 문서를 관계형 데이터베이스에 저장하는 방법에는 대표적으로 간선(edge) 및 애트리뷰트(attribute) 방법으로 구분할 수 있다. 간선(edge) 방법은 확장 마크업 언어(XML) 문서에 대한 스키마(schema) 정보가 없을 경우에도 일반적으로 저장하여 처리할 수 있는 장점이 있지만, 크기가 상대적으로 큰 간선 테이블(edge table)에 대한 경로식의 길이 만큼의 중복된 셀프조인으로 인한 성능저하가 발생할 수 있다. 조인연산은 테이블내의 엘리먼트들간의 관계를 구하는 연산을 나타내고, 셀프조인은 동일한 테이블 내에서 엘리먼트들간의 관계를 구하는 연산을 말한다.
애트리뷰트(attribute) 방법은 확장 마크업 언어(XML) 문서의 스키마(schema) 정보가 미리 알려져 있을때, 엔터티(entity) 단위로 테이블을 생성하여 처리함으로써, 여러 개의 테이블로 데이터를 분할하여 저장하는 효과가 있어서 간선(edge) 방법에 비해 그 성능을 높일 수 있으나, 확장 마크업 언어(XML) 스키마(schema)에 따라서, 테이블의 개수가 과도하게 많아지거나, 불필요하게 데이터가 단편화될 수도 있는 단점이 있다.
이런 문제점을 보완하기 위하여, 스키마(schema)가 없는 확장 마크업 언어(XML) 문서를 저장하기 위하여 데이터 마이닝 방법을 써서 분리할 수 있는 테이블의 종류 및 갯수를 정하는 방법에 대한 연구가 있었다. 간선(edge) 기법과 애트리뷰트(attribute) 기법 모두 기본적으로는 경로식을 처리하는 방법으로 경로식의 길이만큼의 테이블간에 조인 연산이 필요한 것은 공통적이다. 또한 정규 경로식을 처리하기에 적합한 구조를 가지고 있지 못하다.
간선(edge) 방법에 태그의 시작과 끝 옵셋의 정보를 이용하여 정규 경로식을 처리하는 방법이 있는데, 경로식의 길이가 길 경우 비효율적이며, 사용자가 질의를 기술하는 방법에 따라 질의 처리 성능이 좌우된다는 단점이 있다.
확장 마크업 언어(XML) 데이터에 대한 경로식 인덱싱(indexing) 방법으로서 인덱스 패브릭(index fabric)이라 불리는 방법이 있는데, 이는 확장 마크업 언어(XML) 문서에서 존재하는 다양한 경로에 대한 인덱스를 하나의 인덱스 구조에서 관리할 수 있다는 특징을 가진다. 이 인덱싱 구조는 관계형 데이터베이스를 지원하기 위해서는 추가적인 확장이 필요한 방법이다. 인덱스 패브릭(index fabric)에서는 특정 정규 경로식을 처리하기 위해서 그 경로를 인공 경로(refined path) 형태로 인덱싱 구조에 명시적으로 추가해야 한다. 본 발명의 경로 룩업(path lookup) 테이블은 인덱스 패브릭(index fabric)에서 정규 경로식을 처리하는 데에도 적용될 수 있다.
그리고, 인덱스 역할을 하는 테이블 구조가 제시된 바가 있다. 이 방법을 확장 마크업 언어(XML)의 경로식 인덱싱에 바로 적용할 때의 문제점은 인덱스 테이블의 개수가 많아지거나, 단편화될 수 있다는 점이다. 확장 마크업 언어(XML) 데이터에 대한 경로식 처리는 객체지향형 데이터베이스에서의 경로식 처리 방법과 트리를 순회한다는 점에서 유사하다.
상기한 문제를 해결하기 위해 본 발명에서는 관계형 데이터베이스에서 확장 마크업 언어(XML)의 정규 경로식 질의를 사용자의 표현 방법의 차이에도 불구하고 동일한 방법으로 해석하여, 효율적으로 지원하기 위한 확장 마크업 언어(XML) 인덱싱 방법을 제공하는 것을 목적으로 한다.
상세하게는 관계형 데이터베이스에서 확장 마크업 언어(XML) 문서에 대한 효율적인 경로 인덱싱 방법을 제공하고, 기존 방법에서 정규 경로식의 길이가 길어질수록 질의 처리 성능이 저하되는 것과는 달리, 정규 경로식의 길이에 관계없이 한 번의 조인으로 임의의 정규 경로식을 처리할 수 있는 확장 마크업 언어(XML) 인덱싱 방법을 제공한다. 또한 관계형 데이터베이스 시스템 엔진의 변형 없이 사용할 수 있는 테이블 및 B-트리 기반의 확장 마크업 언어(XML) 인덱싱 구조를 제공한다.
상기한 목적을 이루기 위하여 본 발명에서는, 확장 마크업 언어(XML)를 포함하는 소정의 언어로 작성되었으며, 나타내어지는 정보가 저장되어 있는 상기 정보의 출처에 대한 적어도 하나 이상의 경로 정보를 포함하는 문서에서, 복수의 상기 경로정보를 추출하는 단계; 상기 복수의 경로정보 각각에 대응되는 경로 아이디 정보와 상기 경로 정보들이 다른 저장장소에 상세하게 저장되어 있는지 여부를 나타내는 인덱스 플래그 정보를 사용자로부터 입력받아 경로 룩업 테이블 저장부에 저장하는 단계; 상기 인덱스 플래그 정보에 따라, 상기 각각의 경로 아이디에 대응되는 시작노드 아이디 정보와 끝 노드 아이디 정보를 입력받아 확장간선 테이블 저장부에 저장하는 단계; 사용자로부터 찾고자 하는 정보에 대한 검색식인 정규 경로식을 입력받아 이와 일치하는 경로식 정보를 상기 경로 룩업 테이블 저장부에서 찾아서 상기 경로에 대응되는 경로 아이디 정보를 구하는 단계; 및 상기 단계에서 구한 경로 아이디 정보를 검색키로 하여 이와 일치하는 경로 아이디 정보에 대응되는 시작노드 아이디 정보와 끝 노드 아이디 정보를 상기 확장간선 테이블 저장부에서 찾는 단계를 포함하는 경로 인덱스 룩업 방법을 제공한다.
상기한 목적을 이루기 위하여 본 발명에서는, 상기의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다.
상기한 목적을 이루기 위하여 본 발명에서는, 확장 마크업 언어(XML)를 포함하는 소정의 언어로 작성되었으며, 나타내어지는 정보가 저장되어 있는 상기 정보의 출처에 대한 적어도 하나 이상의 경로 정보를 포함하는 문서에서, 상기 복수의 경로정보 각각에 대응되는 경로 아이디 정보와 상기 경로 정보들이 다른 저장장소에 상세하게 저장되어 있는지 여부를 나타내는 인덱스 플래그 정보를 사용자로부터 입력받아 저장하는 경로 룩업 테이블 저장부; 상기 인덱스 플래그 정보에 따라, 상기 각각의 경로 아이디에 대응되는 시작노드 아이디 정보와 끝 노드 아이디 정보를 입력받아 저장하는 확장간선 테이블 저장부; 사용자로부터 찾고자 하는 정보에 대한 검색식인 정규 경로식을 입력받아 이와 일치하는 경로식 정보를 상기 경로 룩업 테이블 저장부에서 찾아서 상기 경로에 대응되는 경로 아이디 정보를 구하는 경로 아이디 검색부; 및 상기 경로 아이디 검색부에서 구한 경로 아이디 정보를 검색키로 하여 이와 일치하는 경로 아이디 정보에 대응되는 시작노드 아이디 정보와 끝 노드 아이디 정보를 상기 확장간선 테이블 저장부에서 찾아서 출력하는 경로정보 판단 및 출력부를 포함하는 경로 인덱스 룩업 장치를 제공한다.
상기한 목적을 이루기 위하여 본 발명에서는, 확장 마크업 언어(XML)를 포함하는 소정의 언어로 작성되었으며, 나타내어지는 정보가 저장되어 있는 상기 정보의 출처에 대한 적어도 하나 이상의 경로 정보를 포함하는 문서를 관계형 데이터베이스에 저장하는데 사용되는 경로룩업 테이블을 기록한 컴퓨터로 읽을 수 있는 기록매체에 있어서, 상기 문서 내에서 검색하고자 하는 정보가 저장되어 있는 경로의 이름을 나타내는 경로명 정보; 상기 경로를 서로 식별시키는 기능을 하는 상기 경로에 대한 식별정보를 나타내는 경로 아이디 정보; 및 문서내의 여러 경로에 대한 경로 시작 및 끝 노드 정보를 저장하고 있는 확장간선 테이블에 상기 경로가 인덱스 되어 있는가의 여부를 나타내는 인덱스 플래그 정보를 포함하고, 사용자로부터 찾고자 하는 정보에 대한 검색식인 정규경로식이 입력되면 이와 일치되는 경로식 정보에 대한 경로명 정보를 찾아 이와 대응되는 경로 아이디 정보가 출력되도록 하는 경로 룩업 테이블을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다.
상기한 목적을 이루기 위하여 본 발명에서는, 확장 마크업 언어(XML)를 포함하는 소정의 언어로 작성되었으며, 나타내어지는 정보가 저장되어 있는 상기 정보의 출처에 대한 적어도 하나 이상의 경로 정보를 포함하는 문서를 관계형 데이터베이스에 저장하는데 사용되는 확장간선 테이블을 기록한 컴퓨터로 읽을 수 있는 기록매체에 있어서, 상기 문서 내에서 검색하고자 하는 정보가 저장되어 있는 경로를 서로 식별시키는 기능을 하는 상기 경로에 대한 식별정보를 나타내는 경로 아이디 정보; 상기 경로의 시작노드를 나타내는 시작노드 아이디 정보; 및 상기 경로의 끝 노드를 나타내는 끝 노드 아이디 정보를 포함하고, 사용자로부터 찾고자 하는 정보에 대한 경로 아이디 정보가 입력되면 이와 대응되는 시작 노드 아이디 정보와 끝 노드 아이디 정보가 출력되도록 하는 확장간선 테이블을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다.
따라서, 본 발명에서는 사용자 질의의 형태에 의존적인 성능을 보이는 기존의 기법들과는 달리, 사용자의 표현과는 독립적으로 정규 경로식을 안정적이고 빠르게 처리할 수 있는 경로 인덱스 룩업 방법을 제공한다.
이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 일실시예를 상세히 설명한다.
정규 경로식은 사용자가 확장 마크업 언어(XML) 문서 내의 접근하고자 하는 어떤 엔터티(entity)의 경로를 지정할 때, 그 경로를 다 나열하지 않고, 축약하여 표현하는 경로식을 말한다.
도 1은 TV 방송 시스템(TV-Anytime)의 메타 데이터(meta data) 규격의 일부를 나타내는 확장 마크업 언어(XML)로 만들어진 문서의 일실시예이다.
TV 방송 시스템(TV-Anytime)의 메타 데이터(meta data)는 TV 방송 프로그램에 관련한 정보의 구조를 표현하는데, 프로그램 아이디(programId), 제목(Title), 요약정보(Synopsis), 키워드(Keywords), 장르(Genre), 캐스팅 정보(CastList) 등을 담고 있다. 도 1의 (a)는 TV 방송 시스템(TV-Anytime)의 확장 마크업 언어(XML)로 된 문서의 예를 나타내며, (b)는 문서 내용을 트리(tree) 형태로 표현한 것이다.
도 1의 (b)에서 볼 수 있듯이, TV 방송 시스템(TV-Anytime)과 같은 일반적인 비지니스(business) 응용 분야에서의 확장 마크업 언어(XML) 문서 구조는 트리(tree)의 깊이가 매우 깊고, 복잡한 편이어서 사용자는 문서에 대한 검색을 요청할 때, 정확한 경로를 기술하기 쉽지 않다. 예를 들어, 본 예에서 사용자가 특정 프로그램에 등장하는 배우의 이름을 검색할 때,
/ProgramInformation/BasicDescription/CastList/CastMember/Agent/Name
라고 루트 엘리먼트(Root element)로부터 이름 엘리먼트(Name element)까지의 경로를 모두 나열한 절대 경로식으로 기술해도 되지만,
/ProgramInformation//CastList//Agent/Name
과 같이 사용자가 필요하다고 생각되는 엘리먼트 이름들로만 구성된 정규 경로식으로도 좀 더 간단히 기술할 수 있다. 상기 절대 경로식에서 '/' 기호는 확장 마크업 언어(XML) 문서상에서 직접적인 부모-자식의 관계를 나타내는 반면, '//' 기호는 부모-자식 관계의 의미를 확장해서 일반적인 조상-자손의 관계를 나타낸다. '//' 기호로 표현되는 조상-자손의 관계는 정규 경로식을 위한 대표적인 관계 가운데 하나이다.
도 2는 정규 경로식을 위한 주요 기호와 그 의미를 나타내는 도면이다.
즉, 확장 마크업 언어(XML) 질의어로 월드 와이드 웹 컨소시움(W3C, World Wide Web Consortium)에서 확장 마크업 언어(XML) 표준언어로 제안된 XQuery 상에서 정규 경로식을 위한 주요 기호와 그 의미를 나타내는 것이다. 하나의 절대 경로식은 도 2에 나타난 기호를 사용하여 여러 가지의 정규 경로식으로 표현이 가능하다.
예를 들어, 상기 절대 경로식 /ProgramInformation/BasicDescription/ CastList/CastMember/Agent/Name는, 상기 정규 경로식 /ProgramInformation// CastList//Agent/Name를 포함하여 다음과 같이 여러 가지 정규식으로 기술할 수 있다.
//CastMember//Name
/ProgramInformation/*/Agent/Name
//CastList//Agent/?
이중에서 상기 정규 경로식 //CastMember//Name는 상기 절대 경로식과 비교해 동일한 내용을 간단하게 표현하고 있다. 이처럼 정규 경로식이 들어간 질의에서는, 동일한 내용이 사용자에 따라서 다르게 표현될 수 있다. 따라서, 정규 경로식 질의를 처리하는 시스템은 사용자 질의를 해석하는 방법에 따라서 그 성능상 많은 차이가 발생할 수 있다.
기존에 제안된 기술에서는 관계형 데이터베이스에서 확장 마크업 언어(XML) 문서에 대한 정규 경로식 질의를 처리하기 위하여 다음과 같이 2개의 테이블 구조를 제안하였다.
Elements(term, docno, begin, end, level)
Texts(term, docno, wordno, level)
Elements 테이블은 확장 마크업 언어(XML) 문서에서 태그(tag)로 지정된 엘리먼트(element)와 애트리뷰트(attribute)를 개개의 투플(tuple)로 저장한다. term은 태그(tag) 이름을, docno는 태그(tag)가 속한 문서 아이디(id)를, begin과 end는 문서 내에서 term이 속한 태그(tag)의 옵셋(offset) 범위를, level은 문서 내에서 엘리먼트(element)의 중첩된 횟수, 즉 조상의 개수를 나타낸다.
Texts 테이블은 확장 마크업 언어(XML) 문서에서 태그(tag) 안에 포함된 값을 개개의 투플(tuple)로 저장한다. docno는 값이 속한 아이디(id)를, wordno는 해당 값의 문서내의 옵셋(offset)을, level은 문서 내에서 중첩된 횟수를 나타낸다. 이와 같은 저장 구조 하에서 정규 경로식은 엘리먼트(element)의 옵셋(offset) 값과 레벨(level)값을 이용한 Elements 테이블에 대한 셀프 조인(self join)으로 처리한다.
도 3은 상기 Elements 와 Texts 테이블 구조를 사용하여 각 엘리먼트에 대한 표현 일실시예이다.
즉, section 이라는 엘리먼트를 설명하면 (1, 1:23, 0), (1, 8:22, 1), (1, 14:21, 2) 가 있는데 맨 처음 1, 1, 1은 docno를 나타내고 1:23, 8:22, 14:21 은 시작(begin)과 끝(end)을 나타내고, 맨 끝 숫자 0, 1, 2 는 레벨(level)을 나타낸다.
즉, 종래 기술은 정규 경로식의 처리를 위하여 Elements 테이블에 대한 셀프조인으로 처리한다. 예를 들어, 앞에서 기술한 상기 정규 경로식 //CastMember//Name 에 대해서는 다음과 같은 SQL 질의로 표현되어 처리된다.
Select e1
From Elements e1, Elements e2
Where e1.term = 'CastMember'
And e2.term = 'Name'
And e1.begin < e2.begin
And e1.end > e2.end
And e1.docno = e2.docno
이 질의는 CastMember를 대표하는 Elements 테이블과 Name을 대표하는 Elements 테이블의 셀프 조인으로 처리된다. 조상-자손 관계를 나타내는 '//'에 대하여 조인 조건은 두 엘리먼트 간의 옵셋 포함 관계가 된다.
즉, 확장 마크업 언어(XML) 문서상에서 두 엘리먼트 A와 B에 대하여, A의 begin 옵셋이 B의 begin 옵셋보다 작고, A의 end 옵셋이 B의 end 옵셋보다 클 때, A//B라는 정규 경로식이 만족된다. 위의 질의에서는 두 엘리먼트 CastMember와 Name에 대하여, CastMember의 begin 옵셋이 Name의 begin 옵셋보다 작고, CastMember의 end 옵셋이 Name의 end 옵셋보다 크다는 조건을 표현하고 있다.
기존에 제안된 정규 경로식 처리 기법들의 공통적인 문제점은 시스템의 질의 처리 성능이 사용자가 정규 경로식을 기술하는 방법에 의존적이라는 데에 있다. 즉, 정규 경로식에 몇 개의 태그가 지정되었느냐에 따라서 그 정규 경로식을 처리하기 위하여 필요한 조인의 횟수가 결정된다.
이는 동일한 내용의 경로식을 사용자가 어떻게 기술하느냐에 따라서 시스템의 성능이 달라질 수 있다는 문제점이 있다. 앞에서 기술한 바와 같이 동일한 절대 경로식에 대하여 여러 가지 정규 경로식이 있을 수 있으며, 그에 따라서 조인의 횟수도 달라진다.
즉, 동일한 내용을 나타내는 정규 경로식 중에서 //CastMember//Name는 조인이 한 번만 필요하게 되지만, /ProgramInformation/BasicDescription/CastList /CastMember/Agent/Name는 조인이 5번 수행되어져야 한다.
그리고, 동일한 질의에서 정규 경로식 /ProgramInformation//CastList// Agent/Name 에 대해서, 3번의 조인 연산이 필요하게 된다.
이와 같이 종래의 기술로는 실제 응용분야에서 적용하기에 많은 애로사항이 있었다. 따라서 확장 마크업 언어(XML) 문서를 저장하고 검색하는 문제가 확장 마크업 언어(XML)를 다루는 응용분야에서의 기술적 병목(bottleneck)이었다.
이와 대비하여 본 발명에서 제시하는 경로 인덱스 룩업 방법은 기존에 제안된 Elements와 Texts 테이블 이외에 다음과 같은 2가지 추가적인 테이블 구조를 이용하여 확장 마크업 언어(XML) 문서를 인덱싱한다.
PathLookup(pathname, pathid, indexflag)
ExtendedEdge(pathid, sorid, tarid)
경로 룩업(PathLookup) 테이블은 확장 마크업 언어(XML) 문서를 파싱(parsing) 했을 때 나올 수 있는 경로를 투플(tuple)로 저장한다.
pathname은 경로의 이름을 나타내며, pathid는 그 경로에 대한 아이디이며, indexflag는 해당 경로가 확장간선(ExtendedEdge) 테이블에서 인덱스되어 있는가의 여부를 나타낸다. 확장간선(ExtendedEdge) 테이블은 경로의 길이가 1 이상인 경로의 인덱스 정보를 저장한다. pathid는 경로 룩업(PathLookup) 테이블에서의 투플(tuple)을 가리키는 경로 아이디를, sorid(source id)와 tarid(target id)는 Elements 테이블에서의 엘리먼트 아이디를 나타낸다.
확장 마크업 언어(XML)로 작성된 문서를 데이터베이스에 입력할 때 모든 가능한 경로 이름을 뽑아서 그것들을 아이디와 함께 경로 룩업(PathLookup) 테이블에 투플(tuple)로 저장한다. 확장 마크업 언어(XML) 문서에 대한 경로는 문서를 파싱(parsing)할 때 추출할 수 있기 때문에 해당 문서를 위한 문서 타입정의(DTD) 혹은 확장 마크업 언어(XML) 스키마(schema)가 따로 필요하지 않다.
확장 마크업 언어(XML) 문서 구조를 나타내는 트리(tree)에서 루트(root)로부터의 레벨이 k인 노드 A에 대한 가능한 길이가 1 이상인 경로 중 A로 끝나는 경로의 개수는 k 개 존재할 수 있다. 여기서 주목할 점은 어떤 문서에 대한 경로 추출시, 이전 문서에서 발생한 경로는 중복되어 입력되지 않기 때문에, 구조가 비슷한 대용량의 확장 마크업 언어(XML)로 된 문서들을 데이터베이스에 입력하여도 경로 룩업(PathLookup) 테이블의 크기는 크게 증가하지 않는다는 점이다.
경로 룩업(PathLookup) 테이블은 사용자가 입력한 정규 경로식을 실제 확장 마크업 언어(XML) 데이터 공간에서 존재하는 경로로 신속하게 변환하기 위한 색인 역할을 한다. 사용자가 기술한 정규 경로식을 경로 룩업(PathLookup) 테이블에 저장되어 있는 경로들로 매핑(mapping)하는 연산은 SQL의 like 구문으로 처리된다.
정규 경로식을 SQL의 like 구문으로 매핑(mapping)하는 것을 용이하게 하기 위해서, 경로 이름을 경로 룩업(PathLookup) 테이블에 저장할 때에는 경로의 각 노드에 태그(tag)를 씌워서 저장한다. 예를 들어 경로 'A/B/C'는 경로 이름 필드에 '<A><B><C>' 형태로 저장된다.
도 4는 정규식 기호들을 사용한 정규 경로식들에 대한 SQL의 like 구문이다.
도 4의 구문을 사용하여 경로 룩업(PathLookup) 테이블에서 경로를 검색하기 위하여 상기에서 예로 든 정규 경로식 /ProgramInformation//CastList//Agent/Name 에 대한 SQL 구문을 작성하면 다음과 같다.
Select pathid
From PathLookup
Where pathname like'<ProgramInformation>%<CastList>%<Agent><Name>';
다음은 확장간선(ExtendedEdge) 테이블에 대하여 설명한다. 확장간선(ExtendedEdge) 테이블은 확장 마크업 언어(XML) 문서상의 경로를 빠르게 처리하기 위한 경로 인덱싱(indexing) 테이블이다. 각 투플(tuple)은 경로 룩업(lookup)을 위한 경로 아이디(pathid)를 가지고 있어서, 경로 룩업(PathLookup) 테이블의 투플(tuple)을 참조한다.
각 경로의 시작 노드(sorid)와 끝 노드(tarid)를 지정하는 필드값은 Elements 테이블의 투플(tuple)을 참조한다. 끝 노드(tarid)가 엘리먼트(Element) 대신 텍스트(Text)를 지정할 때에는 끝 노드(tarid)는 Texts 테이블의 투플(tuple)을 참조한다. 주목할 점은 이전의 간선 기법 등에서는 반복된 조인을 통하여 경로를 처리하는 것과는 달리, 확장간선(ExtendedEdge) 테이블은 길이가 매우 긴 경로의 경우에도 추가의 조인 연산 없이도 한 번에 접근할 수 있는 구조를 가진다는 점이다.
도 5는 확장 마크업 언어(XML) 문서에 대한 경로 룩업 테이블과 확장간선 테이블의 구성 일실시예이다.
즉, 도 5의 (a)와 같은 확장 마크업 언어(XML) 문서가 있을 때, (b)는 경로 룩업(PathLookup) 테이블을, (c)는 확장간선(ExtendedEdge) 테이블의 구성 예를 보인 것이다. 다시 말하면 (a)는 입력되는 문서의 구조를 나타내며, (b)는 문서 입력시 새로 발생하는 경로에 대해 만들어진 경로 룩업(PathLookup) 테이블을 나타낸다. 경로 룩업(PathLookup) 테이블의 indexflag 필드는 해당 경로가 확장간선(ExtendedEdge) 테이블에 인덱싱(indexing)이 되어 있는가의 여부를 나타낸다.
도 5의 (b)에서는 경로 /A/B/C와 /A/B/D 에 대해서만 확장간선(ExtendedEdge) 테이블에서 인덱싱(indexing)되어 있음을 나타낸다. 확장간선(ExtendedEdge) 테이블은 확장 마크업 언어(XML) 문서의 노드 개수의 제곱에 비례하기 때문에, 모든 경로를 인덱싱(indexing)하게 되면, 테이블의 크기가 과도하게 커질 수 있기 때문에 인덱싱(indexing)하는 경로를 구분하여 그것들만을 저장하기 위한 방법이다.
도 5의 (c) 확장간선(ExtendedEdge) 테이블에서는 (b)의 경로 룩업(PathLookup) 테이블의 indexflag에서 지정한 경로 /A/B/C 와 /A/B/D 에 대한 실제 경로 인스턴스들을 저장한다.
확장간선(ExtendedEdge) 테이블은 주어진 정규 경로식에 대하여 경로 룩업(PathLookup) 테이블에서 찾아진 경로 아이디(pathid)로 지정된 투플(tuple)들이 접근되기 때문에, 이 테이블에 대하여 경로 아이디를 키 필드로 지정하고, 이 필드에 B-트리 인덱스를 사용하면 매우 빠르게 접근할 수 있다.
경로 인덱스 룩업 기법에서의 정규 경로식의 처리는 다음과 같다. 우선, 주어진 정규 경로식에 대하여 가능한 경로식을 경로 룩업(PathLookup) 테이블에서 찾아서 그것들의 경로 아이디를 구한다. 다음으로, 구하여진 경로 아이디에 대하여 확장간선(ExtendedEdge) 테이블에서 해당하는 경로의 sorid와 tarid 값을 얻는다. 이 두 단계의 연산은 경로 아이디를 조인키로 하는 등 조인 연산으로 표현할 수 있다.
도 6은 경로 인덱스 룩업 기법의 구조를 나타낸 도면이다.
도 6에서 나타낸 바와 같이, 경로 인덱스 룩업 기법은 사용자가 표현하는 정규 경로식의 형태에 관계없이 해당 정규 경로식을 경로 룩업(PathLookup) 테이블에 대한 테이블 검색과 확장간선(ExtendedEdge) 테이블에 대한 B-트리 검색 연산으로 처리된다.
상술한 예에서 TV 방송용(TV-Anytime) 확장 마크업 언어(XML) 문서에 대한 정규 경로식 중에서 /ProgramInformation//CastList//Agent/Name 을 기존 방법으로 처리하는 SQL 문은 다음과 같다.
Select e4.id
From Elements e1,
Elements e2,
Elements e3,
Elements e4
Where e1.tagname ='ProgramInformation'
And e2.tagname ='CastList'
And e3.tagname ='Agent'
And e4.tagname ='Name'
And e1.docno = e2.docno
And e1.begin < e2.begin
And e1.end > e2.end
And e2.docno = e3.docno
And e2.begin < e3.begin
And e2.end > e3.end
And e3.docno = e4.docno
And e3.level = e4.level 1;
그러므로 위와 같이 세 번의 조인 연산이 들어간 질의문으로 표현되는 반면, 경로 인덱스 룩업 기법을 통한 SQL 문은 다음과 같이 한번의 조인으로 처리된다.
Select eet.tarid
From PathLookup pl,
ExtendedEdge ee
Where pl.pathname like '/ProgramInformation%CastList%Agent/Name'
And pl.pathid = ee.pathid
도 7은 정규 경로식 질의에 대한 경로 인덱스 룩업 방법의 흐름도이다.
우선, 확장 마크업 언어(XML)로 작성된 문서에서 모든 가능한 경로 이름을 추출하여 경로 아이디 정보 및 인덱스 플래그 정보와 함께 경로 룩업(PathLookup) 테이블에 저장한다(710). 그리고, 상기 각각의 경로 아이디(pathid)에 대하여 시작 노드(sorid)와 끝 노드(tarid)를 확장간선(ExtendedEdge) 테이블에 저장한다(720).
다음에는 정규 경로식을 입력받아(730) 이에 대응되는 경로식을 경로 룩업(PathLookup) 테이블에서 검색하여 경로 아이디(pathid)를 구한다(740). 이때 SQL 의 like 구문을 사용하여 경로 룩업(PathLookup) 테이블에서 경로 아이디(pathid)를 구한다. 그리고, 구한 경로 아이디(pathid)를 조인키로 하는 조인 연산으로 표현하여 수행한다.
그리고, 상기 단계에서 구한 경로 아이디(pathid)를 검색키로 하여 확장간선(ExtendedEdge) 테이블을 검색하여 경로의 시작노드 아이디(sorid)와 끝 노드 아이디(tarid)를 구한다(750). 이때 확장간선(ExtendedEdge) 테이블에 대한 B 트리 검색연산으로 수행된다.
도 8은 정규 경로식 질의에 대한 경로 인덱스 룩업 장치 도면이다.
경로 인덱스 룩업 장치는 경로룩업 테이블 저장부(810), 확장간선 테이블 저장부(820), 경로 아이디 검색부(830) 및 경로정보 판단 및 출력부(840)로 구성된다.
경로 룩업 테이블 저장부(810)는 확장 마크업 언어(XML)로 작성된 문서에서 복수의 경로정보를 추출하여 사용자로부터 입력받은 경로 아이디(pathid) 정보와 인덱스 플래그(indexflag) 정보와 함께 저장한다. 저장하는 형태는 테이블 형태로서 도 5의 (b)와 같다.
확장간선 테이블 저장부(820)는 상기 각각의 경로 아이디(pathid)에 대하여 사용자로부터 시작노드 아이디(sorid) 정보와 끝 노드(tarid) 아이디 정보를 입력받아 저장한다. 저장하는 형태는 테이블 형태로서 도 5의 (c)와 같다.
경로 아이디 검색부(830)는 사용자로부터 정규 경로식 정보를 입력받아 이와 일치하는 경로를 상기 경로 룩업 테이블 저장부에서 찾아서 원하는 경로에 해당하는 경로 아이디(pathid) 정보를 구한다.
경로정보 판단 및 출력부(840)는 상기 경로 아이디 검색부에서 구한 경로 아이디(pathid) 정보를 검색키로 하여 이와 일치하는 경로정보를 상기 확장간선(ExtendedEdge) 테이블 저장부에서 찾아서 경로의 시작노드 아이디(sorid) 정보와 끝 노드 아이디(tarid) 정보를 구하여 출력함으로써 원하는 정보가 있는 경로를 찾을 수 있다.
그리고, 정규 경로식 질의에 대하여 본 발명이 제공하는 경로 인덱스 룩업 기법(pathlookup)의 성능을 옵셋을 이용한 조인 기법(offset-join)의 성능과 비교하였다. 실험에 사용한 데이터는 방송 시스템(TV-Anytime)의 문서 1200 개를 관계형 데이터베이스 시스템 PostgreSQL 에 입력하였으며, 입력이 완료된 이후의 Elements 테이블의 노드 개수는 약 1,000,000 개 정도였다.
도 9는 실험에 사용된 정규 경로식 테이블이다.
실험에서는 도 9에 나타나 있는 바와 같이, 노드 개수가 2부터 9까지인 정규 경로식을 처리하는 데 소요되는 반응시간을 측정하였다.
도 10은 정규 경로식의 노드 개수에 따른 반응 시간 그래프이다.
옵셋 조인(offset-join)은 옵셋값에 기반을 둔 조인 기법에서의 반응시간을, 경로 룩업(pathlookup)은 경로 인덱스 룩업 기법에서의 반응시간을 나타낸다.
도 10이 보여주는 바와 같이 기존의 옵셋(offset)을 이용한 조인 기법은 정규 경로식의 표현이 길어질수록, 반응시간이 증가하는 반면, 본 발명이 제공하는 경로 인덱스 기법은 정규 경로식의 표현에 민감하지 않게 고르게 좋은 성능을 나타내고 있다. 노드 개수가 2 일때, 즉, 옵셋 조인(offset-join)에서 조인이 한 번 발생하는 경우에도 경로 룩업(pathlookup) 기법이 더 나은 성능을 보인 이유는 경로 룩업(pathlookup) 기법에서는 B-트리를 이용하여 확장간선 테이블에서 해당 경로식에 대한 투플(tuple)들을 빠르게 접근하기 때문이다. 반면 옵셋 조인(offset-join)은 옵셋(offset)간의 포함 관계를 이용한 조인이기 때문에 그 반응시간이 더 크게 나타났다.
한편, 상술한 본 발명의 실시예들은 컴퓨터에서 실행될 수 있는 프로그램으로 작성가능하고, 컴퓨터로 읽을 수 있는 기록매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다.
또한 상술한 본 발명의 실시예에서 사용된 데이터의 구조는 컴퓨터로 읽을 수 있는 기록매체에 여러 수단을 통하여 기록될 수 있다.
상기 컴퓨터로 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드디스크 등), 광학적 판독 매체(예를 들면, 씨디롬, 디브이디 등) 및 캐리어 웨이브(예를 들면, 인터넷을 통한 전송)와 같은 저장매체를 포함한다.
이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
상술한 바와 같이 본 발명은, 확장 마크업 언어(XML)로 작성된 질의 형식 중 핵심적인 정규 경로식 질의에 대하여 사용자 질의의 형식에 관계없이 단 한번의 조인으로 처리할 수 있는 기법을 제공함으로써 디지털 TV의 EPG 정보 인덱싱 및 검색 엔진과 그 이외의 다양한 분야에서 확장 마크업 언어(XML) 저장이 필요한 정보 기기에서 유용하게 사용할 수 있는 효과가 있다.
또한, 본 발명은 확장 마크업 언어(XML)를 관계형 데이터베이스에 효율적으로 인덱싱(indexing)하여 저장함으로써, 확장 마크업 언어(XML)의 핵심적인 사용자 질의 타입인 정규 경로식(regular path expression) 질의를 사용자가 기술하는 형식에 관계없이 안정적이고, 빠르게 처리할 수 있는 효과가 있다. 특히, 기존 방법에서는 사용자가 질의를 기술하는 형식에 의존적이어서 성능이 불안정한 반면, 본 발명은 사용자 질의 형식에 관계없이 단 한 번의 조인으로 처리할 수 있다는 장점을 가진다.
도 1의 (a)는 TV 방송 시스템(TV-Anytime)의 메타 데이터(meta data) 규격의 일부를 나타내는 확장 마크업 언어(XML)로 만들어진 문서의 일실시예.
도 1의 (b)는 TV 방송 시스템(TV-Anytime)의 메타 데이터(meta data) 규격의 일부를 나타내는 확장 마크업 언어(XML)로 만들어진 문서에 대한 트리구조.
도 2는 정규 경로식을 위한 주요 기호와 그 의미를 나타내는 도면.
도 3은 Elements 와 Texts 테이블 구조를 사용하여 각 엘리먼트에 대한 표현 일실시예
도 4는 정규식 기호들을 사용한 정규 경로식들에 대한 SQL like 구문.
도 5의 (a)는 입력된 확장 마크업 언어(XML) 문서의 일실시예.
도 5의 (b)는 본 발명의 확장 마크업 언어(XML) 문서에 대한 경로 룩업 테이블 구성 일 실시예.
도 5의 (c)는 본 발명의 확장 마크업 언어(XML) 문서에 대한 확장간선 테이블의 구성 일실시예.
도 6은 본 발명의 경로 인덱스 룩업 기법의 구조를 나타낸 도면.
도 7은 본 발명의 정규 경로식 질의에 대한 경로 인덱스 룩업 방법의 흐름도.
도 8은 본 발명의 정규 경로식 질의에 대한 경로 인덱스 룩업 장치 도면.
도 9는 본 발명의 실험에 사용된 정규 경로식 테이블.
도 10은 본 발명의 정규 경로식의 노드 개수에 따른 반응 시간 그래프.

Claims (7)

  1. (a) 확장 마크업 언어(XML)를 포함하는 소정의 언어로 작성되었으며, 나타내어지는 정보가 저장되어 있는 상기 정보의 출처에 대한 적어도 하나 이상의 경로 정보를 포함하는 문서에서, 복수의 상기 경로정보를 추출하는 단계;
    (b) 상기 복수의 경로정보 각각에 대응되는 경로 아이디 정보와 상기 경로 정보들이 다른 저장장소에 상세하게 저장되어 있는지 여부를 나타내는 인덱스 플래그 정보를 사용자로부터 입력받아 경로 룩업 테이블 저장부에 저장하는 단계;
    (c) 상기 인덱스 플래그 정보에 따라, 상기 각각의 경로 아이디에 대응되는 시작노드 아이디 정보와 끝 노드 아이디 정보를 입력받아 확장간선 테이블 저장부에 저장하는 단계;
    (d) 사용자로부터 찾고자 하는 정보에 대한 검색식인 정규 경로식을 입력받아 이와 일치하는 경로식 정보를 상기 경로 룩업 테이블 저장부에서 찾아서 상기 경로에 대응되는 경로 아이디 정보를 구하는 단계; 및
    (e) 상기 (d) 단계에서 구한 경로 아이디 정보를 검색키로 하여 이와 일치하는 경로 아이디 정보에 대응되는 시작노드 아이디 정보와 끝 노드 아이디 정보를 상기 확장간선 테이블 저장부에서 찾는 단계를 포함하는 경로 인덱스 룩업 방법.
  2. 제1항에 있어서, 상기 경로 룩업 테이블은
    상기 문서 내에서 검색하고자 하는 정보가 저장되어 있는 경로의 이름을 나타내는 경로명 정보;
    상기 경로를 서로 식별시키는 기능을 하는 상기 경로에 대한 식별정보를 나타내는 경로 아이디 정보; 및
    문서내의 여러 경로에 대한 시작노드 아이디 정보와 끝 노드 아이디 정보를 저장하고 있는 확장간선 테이블에 상기 경로가 인덱스 되어 있는가의 여부를 나타내는 인덱스 플래그 정보를 포함하는 것을 특징으로 하는 경로 인덱스 룩업 방법.
  3. 제1항에 있어서, 상기 확장간선 테이블은
    상기 문서 내에서 검색하고자 하는 정보가 저장되어 있는 경로를 서로 식별시키는 기능을 하는 상기 경로에 대한 식별정보를 나타내는 경로 아이디 정보;
    상기 경로의 시작노드를 나타내는 시작노드 아이디 정보; 및
    상기 경로의 끝 노드를 나타내는 끝 노드 아이디 정보를 포함하는 것을 특징으로 하는 경로 인덱스 룩업 방법.
  4. 제1항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
  5. 확장 마크업 언어(XML)를 포함하는 소정의 언어로 작성되었으며, 나타내어지는 정보가 저장되어 있는 상기 정보의 출처에 대한 적어도 하나 이상의 경로 정보를 포함하는 문서에서, 상기 복수의 경로정보 각각에 대응되는 경로 아이디 정보와 상기 경로 정보들이 다른 저장장소에 상세하게 저장되어 있는지 여부를 나타내는 인덱스 플래그 정보를 사용자로부터 입력받아 저장하는 경로 룩업 테이블 저장부;
    상기 인덱스 플래그 정보에 따라, 상기 각각의 경로 아이디에 대응되는 시작노드 아이디 정보와 끝 노드 아이디 정보를 입력받아 저장하는 확장간선 테이블 저장부;
    사용자로부터 찾고자 하는 정보에 대한 검색식인 정규 경로식을 입력받아 이와 일치하는 경로식 정보를 상기 경로 룩업 테이블 저장부에서 찾아서 상기 경로에 대응되는 경로 아이디 정보를 구하는 경로 아이디 검색부; 및
    상기 경로 아이디 검색부에서 구한 경로 아이디 정보를 검색키로 하여 이와 일치하는 경로 아이디 정보에 대응되는 시작노드 아이디 정보와 끝 노드 아이디 정보를 상기 확장간선 테이블 저장부에서 찾아서 출력하는 경로정보 판단 및 출력부를 포함하는 경로 인덱스 룩업 장치.
  6. 확장 마크업 언어(XML)를 포함하는 소정의 언어로 작성되었으며, 나타내어지는 정보가 저장되어 있는 상기 정보의 출처에 대한 적어도 하나 이상의 경로 정보를 포함하는 문서를 관계형 데이터베이스에 저장하는데 사용되는 경로룩업 테이블을 기록한 컴퓨터로 읽을 수 있는 기록매체에 있어서,
    상기 문서 내에서 검색하고자 하는 정보가 저장되어 있는 경로의 이름을 나타내는 경로명 정보;
    상기 경로를 서로 식별시키는 기능을 하는 상기 경로에 대한 식별정보를 나타내는 경로 아이디 정보; 및
    문서내의 여러 경로에 대한 경로 시작 및 끝 노드 정보를 저장하고 있는 확장간선 테이블에 상기 경로가 인덱스 되어 있는가의 여부를 나타내는 인덱스 플래그 정보를 포함하고, 사용자로부터 찾고자 하는 정보에 대한 검색식인 정규경로식이 입력되면 이와 일치되는 경로식 정보에 대한 경로명 정보를 찾아 이와 대응되는 경로 아이디 정보가 출력되도록 하는 경로룩업 테이블을 기록한 컴퓨터로 읽을 수 있는 기록매체.
  7. 확장 마크업 언어(XML)를 포함하는 소정의 언어로 작성되었으며, 나타내어지는 정보가 저장되어 있는 상기 정보의 출처에 대한 적어도 하나 이상의 경로 정보를 포함하는 문서를 관계형 데이터베이스에 저장하는데 사용되는 확장간선 테이블을 기록한 컴퓨터로 읽을 수 있는 기록매체에 있어서,
    상기 문서 내에서 검색하고자 하는 정보가 저장되어 있는 경로를 서로 식별시키는 기능을 하는 상기 경로에 대한 식별정보를 나타내는 경로 아이디 정보;
    상기 경로의 시작노드를 나타내는 시작노드 아이디 정보; 및
    상기 경로의 끝 노드를 나타내는 끝 노드 아이디 정보를 포함하고, 사용자로부터 찾고자 하는 정보에 대한 경로 아이디 정보가 입력되면 이와 대응되는 시작 노드 아이디 정보와 끝 노드 아이디 정보가 출력되도록 하는 확장간선 테이블을 기록한 컴퓨터로 읽을 수 있는 기록매체.
KR10-2002-0025398A 2002-05-08 2002-05-08 관계형 데이터베이스에서 정규 경로식 질의를 처리하는xml 인덱싱 방법과 자료구조 Expired - Fee Related KR100484138B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR10-2002-0025398A KR100484138B1 (ko) 2002-05-08 2002-05-08 관계형 데이터베이스에서 정규 경로식 질의를 처리하는xml 인덱싱 방법과 자료구조
JP2003039719A JP4028410B2 (ja) 2002-05-08 2003-02-18 関係型データベースにおいて正規経路式質疑を処理するxmlインデックス方法と資料構造
CNB031085261A CN1230771C (zh) 2002-05-08 2003-03-28 处理正则路径表达式查询的扩展标记语言索引方法
US10/428,933 US7139746B2 (en) 2002-05-08 2003-05-05 Extended markup language (XML) indexing method for processing regular path expression queries in a relational database and a data structure thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2002-0025398A KR100484138B1 (ko) 2002-05-08 2002-05-08 관계형 데이터베이스에서 정규 경로식 질의를 처리하는xml 인덱싱 방법과 자료구조

Publications (2)

Publication Number Publication Date
KR20030087370A KR20030087370A (ko) 2003-11-14
KR100484138B1 true KR100484138B1 (ko) 2005-04-18

Family

ID=29398487

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2002-0025398A Expired - Fee Related KR100484138B1 (ko) 2002-05-08 2002-05-08 관계형 데이터베이스에서 정규 경로식 질의를 처리하는xml 인덱싱 방법과 자료구조

Country Status (4)

Country Link
US (1) US7139746B2 (ko)
JP (1) JP4028410B2 (ko)
KR (1) KR100484138B1 (ko)
CN (1) CN1230771C (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180109379A (ko) 2017-03-28 2018-10-08 주식회사 리얼타임테크 관계형 데이터베이스의 조인 방법

Families Citing this family (115)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7366708B2 (en) * 1999-02-18 2008-04-29 Oracle Corporation Mechanism to efficiently index structured data that provides hierarchical access in a relational database system
AU2002334721B2 (en) 2001-09-28 2008-10-23 Oracle International Corporation An index structure to access hierarchical data in a relational database system
WO2003107222A1 (en) * 2002-06-13 2003-12-24 Cerisent Corporation Parent-child query indexing for xml databases
AU2003236514A1 (en) * 2002-06-13 2003-12-31 Mark Logic Corporation Xml database mixed structural-textual classification system
KR100497362B1 (ko) * 2002-08-22 2005-06-23 삼성전자주식회사 전자 프로그램 가이드 정보 변환 장치 및 방법
JPWO2004019225A1 (ja) * 2002-08-26 2005-12-15 富士通株式会社 状況付情報を処理する装置および方法
US7698642B1 (en) 2002-09-06 2010-04-13 Oracle International Corporation Method and apparatus for generating prompts
KR100493882B1 (ko) * 2002-10-23 2005-06-10 삼성전자주식회사 Xml 데이터 검색을 위한 질의 처리 방법
KR100558765B1 (ko) * 2002-11-14 2006-03-10 한국과학기술원 적응형 경로 인덱스를 이용한 xml 질의 수행 방법
US7174346B1 (en) * 2003-07-31 2007-02-06 Google, Inc. System and method for searching an extended database
US7814047B2 (en) 2003-08-25 2010-10-12 Oracle International Corporation Direct loading of semistructured data
US7490093B2 (en) * 2003-08-25 2009-02-10 Oracle International Corporation Generating a schema-specific load structure to load data into a relational database based on determining whether the schema-specific load structure already exists
US8229932B2 (en) 2003-09-04 2012-07-24 Oracle International Corporation Storing XML documents efficiently in an RDBMS
US8694510B2 (en) 2003-09-04 2014-04-08 Oracle International Corporation Indexing XML documents efficiently
KR100541531B1 (ko) * 2003-12-24 2006-01-10 한국전자통신연구원 객체 지향 디비엠에스에서 경로식의 부질의 변환을 통한 질의 처리 방법
JP4046086B2 (ja) * 2004-01-21 2008-02-13 トヨタ自動車株式会社 可変圧縮比内燃機関
US8825702B2 (en) * 2004-02-24 2014-09-02 Oracle International Corporation Sending control information with database statement
WO2006004266A1 (en) * 2004-04-02 2006-01-12 Samsung Electronics Co., Ltd. Xml processor having function for filtering tree path, method of filtering tree path and recording medium thereof
US7440954B2 (en) 2004-04-09 2008-10-21 Oracle International Corporation Index maintenance for operations involving indexed XML data
US7366735B2 (en) * 2004-04-09 2008-04-29 Oracle International Corporation Efficient extraction of XML content stored in a LOB
US7603347B2 (en) * 2004-04-09 2009-10-13 Oracle International Corporation Mechanism for efficiently evaluating operator trees
US7499915B2 (en) * 2004-04-09 2009-03-03 Oracle International Corporation Index for accessing XML data
US7493305B2 (en) * 2004-04-09 2009-02-17 Oracle International Corporation Efficient queribility and manageability of an XML index with path subsetting
JP4724177B2 (ja) * 2004-04-09 2011-07-13 オラクル・インターナショナル・コーポレイション Xmlデータにアクセスするためのインデックス
US7398265B2 (en) * 2004-04-09 2008-07-08 Oracle International Corporation Efficient query processing of XML data using XML index
US7930277B2 (en) 2004-04-21 2011-04-19 Oracle International Corporation Cost-based optimizer for an XML data repository within a database
CN100440218C (zh) * 2004-06-16 2008-12-03 甲骨文国际公司 Lob中存储的xml内容的有效提取
JP4709213B2 (ja) 2004-06-23 2011-06-22 オラクル・インターナショナル・コーポレイション 変換を使用したクエリの効率的な評価
US7516121B2 (en) 2004-06-23 2009-04-07 Oracle International Corporation Efficient evaluation of queries using translation
US8566300B2 (en) 2004-07-02 2013-10-22 Oracle International Corporation Mechanism for efficient maintenance of XML index structures in a database system
US7885980B2 (en) 2004-07-02 2011-02-08 Oracle International Corporation Mechanism for improving performance on XML over XML data using path subsetting
US7668806B2 (en) * 2004-08-05 2010-02-23 Oracle International Corporation Processing queries against one or more markup language sources
US7685137B2 (en) * 2004-08-06 2010-03-23 Oracle International Corporation Technique of using XMLType tree as the type infrastructure for XML
CN100382550C (zh) * 2004-09-01 2008-04-16 恒生电子股份有限公司 联机处理系统中共享数据的处理方法
KR100673447B1 (ko) * 2004-11-04 2007-01-24 엘지전자 주식회사 세탁기
US7627547B2 (en) 2004-11-29 2009-12-01 Oracle International Corporation Processing path-based database operations
US7849106B1 (en) 2004-12-03 2010-12-07 Oracle International Corporation Efficient mechanism to support user defined resource metadata in a database repository
US7921076B2 (en) 2004-12-15 2011-04-05 Oracle International Corporation Performing an action in response to a file system event
CN100410933C (zh) * 2004-12-29 2008-08-13 复旦大学 一种基于xml数据的高效路径索引方法
KR100666942B1 (ko) * 2005-01-07 2007-01-11 삼성전자주식회사 관계형 dbms를 이용한 xml 데이터 관리 방법
KR100612376B1 (ko) * 2005-01-31 2006-08-16 인하대학교 산학협력단 통합패스의 노드범위를 이용한 엑스엠엘 인덱스 시스템 및방법
US7523131B2 (en) 2005-02-10 2009-04-21 Oracle International Corporation Techniques for efficiently storing and querying in a relational database, XML documents conforming to schemas that contain cyclic constructs
US8346737B2 (en) 2005-03-21 2013-01-01 Oracle International Corporation Encoding of hierarchically organized data for efficient storage and processing
US20060235839A1 (en) * 2005-04-19 2006-10-19 Muralidhar Krishnaprasad Using XML as a common parser architecture to separate parser from compiler
KR100714693B1 (ko) * 2005-06-07 2007-05-04 삼성전자주식회사 소프트웨어 모듈의 독립성을 보장하는 데이터베이스어플리케이션을 구현하는 시스템 및 방법
WO2007006057A1 (en) * 2005-07-06 2007-01-11 The Cleveland Clinic Foundation Apparatus and method for replacing a cardiac valve
US8762410B2 (en) * 2005-07-18 2014-06-24 Oracle International Corporation Document level indexes for efficient processing in multiple tiers of a computer system
KR100775196B1 (ko) * 2005-09-26 2007-11-12 엘지전자 주식회사 방송프로그램 정보 제공 시스템
US8073841B2 (en) 2005-10-07 2011-12-06 Oracle International Corporation Optimizing correlated XML extracts
JP2007108905A (ja) * 2005-10-12 2007-04-26 Fuji Xerox Co Ltd ファイルサーバ、ファイル提供方法及びプログラム
US7685138B2 (en) * 2005-11-08 2010-03-23 International Business Machines Corporation Virtual cursors for XML joins
US8949455B2 (en) 2005-11-21 2015-02-03 Oracle International Corporation Path-caching mechanism to improve performance of path-related operations in a repository
AU2006322637B2 (en) * 2005-12-06 2011-07-28 National Ict Australia Limited A succinct index structure for XML
US8015165B2 (en) * 2005-12-14 2011-09-06 Oracle International Corporation Efficient path-based operations while searching across versions in a repository
CN1790335A (zh) * 2005-12-19 2006-06-21 无锡永中科技有限公司 Xml文件数据存取的方法
US7472140B2 (en) * 2005-12-20 2008-12-30 Oracle International Corporation Label-aware index for efficient queries in a versioning system
US7543004B2 (en) 2005-12-22 2009-06-02 Oracle International Corporation Efficient support for workspace-local queries in a repository that supports file versioning
US7933928B2 (en) 2005-12-22 2011-04-26 Oracle International Corporation Method and mechanism for loading XML documents into memory
US7533136B2 (en) 2005-12-22 2009-05-12 Oracle International Corporation Efficient implementation of multiple work areas in a file system like repository that supports file versioning
US7730032B2 (en) 2006-01-12 2010-06-01 Oracle International Corporation Efficient queriability of version histories in a repository
US20100169333A1 (en) * 2006-01-13 2010-07-01 Katsuhiro Matsuka Document processor
US7596548B2 (en) 2006-01-20 2009-09-29 International Business Machines Corporation Query evaluation using ancestor information
US20070174241A1 (en) * 2006-01-20 2007-07-26 Beyer Kevin S Match graphs for query evaluation
KR100678123B1 (ko) * 2006-02-10 2007-02-02 삼성전자주식회사 관계형 데이터베이스에서의 xml 데이터 저장 방법
US9229967B2 (en) * 2006-02-22 2016-01-05 Oracle International Corporation Efficient processing of path related operations on data organized hierarchically in an RDBMS
US7945559B2 (en) * 2006-03-22 2011-05-17 Microsoft Corporation Completion of partially specified paths
US8510292B2 (en) * 2006-05-25 2013-08-13 Oracle International Coporation Isolation for applications working on shared XML data
US7499909B2 (en) 2006-07-03 2009-03-03 Oracle International Corporation Techniques of using a relational caching framework for efficiently handling XML queries in the mid-tier data caching
US20080033967A1 (en) * 2006-07-18 2008-02-07 Ravi Murthy Semantic aware processing of XML documents
US7933935B2 (en) 2006-10-16 2011-04-26 Oracle International Corporation Efficient partitioning technique while managing large XML documents
US7797310B2 (en) 2006-10-16 2010-09-14 Oracle International Corporation Technique to estimate the cost of streaming evaluation of XPaths
US8010889B2 (en) * 2006-10-20 2011-08-30 Oracle International Corporation Techniques for efficient loading of binary XML data
US7739251B2 (en) * 2006-10-20 2010-06-15 Oracle International Corporation Incremental maintenance of an XML index on binary XML data
US7747610B2 (en) * 2006-11-10 2010-06-29 Sybase, Inc. Database system and methodology for processing path based queries
US9436779B2 (en) * 2006-11-17 2016-09-06 Oracle International Corporation Techniques of efficient XML query using combination of XML table index and path/value index
US7840590B2 (en) * 2006-12-18 2010-11-23 Oracle International Corporation Querying and fragment extraction within resources in a hierarchical repository
US20080147615A1 (en) * 2006-12-18 2008-06-19 Oracle International Corporation Xpath based evaluation for content stored in a hierarchical database repository using xmlindex
US7552119B2 (en) * 2006-12-20 2009-06-23 International Business Machines Corporation Apparatus and method for skipping XML index scans with common ancestors of a previously failed predicate
US7716210B2 (en) 2006-12-20 2010-05-11 International Business Machines Corporation Method and apparatus for XML query evaluation using early-outs and multiple passes
US7860899B2 (en) * 2007-03-26 2010-12-28 Oracle International Corporation Automatically determining a database representation for an abstract datatype
US7908301B2 (en) * 2007-03-30 2011-03-15 Infosys Technologies Ltd. Efficient XML joins
US7814117B2 (en) * 2007-04-05 2010-10-12 Oracle International Corporation Accessing data from asynchronously maintained index
US7693911B2 (en) * 2007-04-09 2010-04-06 Microsoft Corporation Uniform metadata retrieval
KR100864537B1 (ko) * 2007-04-24 2008-10-21 고려대학교 산학협력단 트리 레이블을 이용한 확장성 표시 언어 문서의 질의 처리 방법, 및 그 질의 처리 장치
US7836098B2 (en) * 2007-07-13 2010-11-16 Oracle International Corporation Accelerating value-based lookup of XML document in XQuery
US7840609B2 (en) 2007-07-31 2010-11-23 Oracle International Corporation Using sibling-count in XML indexes to optimize single-path queries
KR100941971B1 (ko) * 2007-08-03 2010-02-11 한국전자통신연구원 멀티미디어 검색을 위한 질의 표현 장치 및 방법
EP2031520A1 (en) * 2007-09-03 2009-03-04 Software Ag Method and database system for pre-processing an XQuery
WO2009031370A1 (ja) * 2007-09-07 2009-03-12 Nec Corporation Xmlデータ処理システム、該システムに用いられるデータ処理方法及びxmlデータ処理制御プログラム
US20090138500A1 (en) * 2007-10-12 2009-05-28 Yuan Zhiqiang Method of compact display combined with property-table-view for a complex relational data structure
US7991768B2 (en) 2007-11-08 2011-08-02 Oracle International Corporation Global query normalization to improve XML index based rewrites for path subsetted index
US8250062B2 (en) 2007-11-09 2012-08-21 Oracle International Corporation Optimized streaming evaluation of XML queries
US8543898B2 (en) 2007-11-09 2013-09-24 Oracle International Corporation Techniques for more efficient generation of XML events from XML data sources
US9842090B2 (en) 2007-12-05 2017-12-12 Oracle International Corporation Efficient streaming evaluation of XPaths on binary-encoded XML schema-based documents
US7865502B2 (en) * 2008-04-10 2011-01-04 International Business Machines Corporation Optimization of extensible markup language path language (XPATH) expressions in a database management system configured to accept extensible markup language (XML) queries
KR100956921B1 (ko) * 2008-04-28 2010-05-11 권순용 데이터베이스 액세스 방법
US8429196B2 (en) 2008-06-06 2013-04-23 Oracle International Corporation Fast extraction of scalar values from binary encoded XML
US8024325B2 (en) * 2008-06-25 2011-09-20 Oracle International Corporation Estimating the cost of XML operators for binary XML storage
US8407209B2 (en) * 2008-07-23 2013-03-26 Oracle International Corporation Utilizing path IDs for name and namespace searches
US7958112B2 (en) 2008-08-08 2011-06-07 Oracle International Corporation Interleaving query transformations for XML indexes
WO2010022793A1 (en) * 2008-08-29 2010-03-04 Telefonaktiebolaget Lm Ericsson (Publ) Prefix delegation in a communication network
US8219563B2 (en) * 2008-12-30 2012-07-10 Oracle International Corporation Indexing mechanism for efficient node-aware full-text search over XML
US8126932B2 (en) * 2008-12-30 2012-02-28 Oracle International Corporation Indexing strategy with improved DML performance and space usage for node-aware full-text search over XML
US10108432B1 (en) * 2009-04-16 2018-10-23 Intuit Inc. Generating a script based on user actions
US8549398B2 (en) 2009-09-17 2013-10-01 International Business Machines Corporation Method and system for handling non-presence of elements or attributes in semi-structured data
WO2011142134A1 (ja) * 2010-05-14 2011-11-17 日本電気株式会社 情報検索装置、情報検索方法、コンピュータ・プログラムおよびデータ構造
CN102033954B (zh) * 2010-12-24 2012-10-17 东北大学 关系数据库中可扩展标记语言文档全文检索查询索引方法
US9842111B2 (en) * 2013-12-22 2017-12-12 Varonis Systems, Ltd. On-demand indexing
CN105426349A (zh) * 2015-11-03 2016-03-23 北京锐安科技有限公司 一种逻辑表达式的传输交换方法及装置
CN107908725A (zh) * 2017-11-14 2018-04-13 中国银行股份有限公司 一种批量数据校验方法、装置和系统
CN108804593B (zh) * 2018-05-28 2019-06-18 西安理工大学 基于图谱和可达路径数的无向加权图的子图查询方法
KR102062139B1 (ko) * 2018-05-30 2020-02-11 이재현 지능형 자료구조 기반의 데이터 처리 방법 및 그를 위한 장치
KR102195836B1 (ko) * 2019-02-07 2020-12-28 주식회사 티맥스티베로 인덱스 관리 방법
CN111290805B (zh) * 2020-03-12 2023-08-18 深圳市我能成才企业管理有限公司 一种聚合功能快捷调用方法及系统
US11868746B2 (en) 2021-09-02 2024-01-09 Kinaxis Inc. System and method for transition of static schema to dynamic schema

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001034619A (ja) * 1999-07-16 2001-02-09 Fujitsu Ltd Xmlデータの格納/検索方法およびxmlデータ検索システム
JP2001282856A (ja) * 2000-03-31 2001-10-12 Toshiba Corp インデックス作成方法、インデックス表示方法、インデックス検索方法及びインデックス作成装置
JP2001297104A (ja) * 2000-04-11 2001-10-26 Canon Inc データ保管装置、方法及び記憶媒体
JP2001325290A (ja) * 2000-05-18 2001-11-22 Fujitsu Ltd 文書ファイル検索システム
US20010049675A1 (en) * 2000-06-05 2001-12-06 Benjamin Mandler File system with access and retrieval of XML documents
KR20010109206A (ko) * 2000-06-01 2001-12-08 박준석, 유인청 네트워크 정보 통합 질의 인터페이스를 위한 방법 및장치
KR20030027349A (ko) * 2001-09-28 2003-04-07 주식회사 케이티 관계형 데이터베이스를 이용한 문서 저장/복구 장치 및 그방법

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6721727B2 (en) * 1999-12-02 2004-04-13 International Business Machines Corporation XML documents stored as column data
US6912538B2 (en) * 2000-10-20 2005-06-28 Kevin Stapel System and method for dynamic generation of structured documents
US6804677B2 (en) * 2001-02-26 2004-10-12 Ori Software Development Ltd. Encoding semi-structured data for efficient search and browsing
US6901410B2 (en) * 2001-09-10 2005-05-31 Marron Pedro Jose LDAP-based distributed cache technology for XML
US6826568B2 (en) * 2001-12-20 2004-11-30 Microsoft Corporation Methods and system for model matching

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001034619A (ja) * 1999-07-16 2001-02-09 Fujitsu Ltd Xmlデータの格納/検索方法およびxmlデータ検索システム
JP2001282856A (ja) * 2000-03-31 2001-10-12 Toshiba Corp インデックス作成方法、インデックス表示方法、インデックス検索方法及びインデックス作成装置
JP2001297104A (ja) * 2000-04-11 2001-10-26 Canon Inc データ保管装置、方法及び記憶媒体
JP2001325290A (ja) * 2000-05-18 2001-11-22 Fujitsu Ltd 文書ファイル検索システム
KR20010109206A (ko) * 2000-06-01 2001-12-08 박준석, 유인청 네트워크 정보 통합 질의 인터페이스를 위한 방법 및장치
US20010049675A1 (en) * 2000-06-05 2001-12-06 Benjamin Mandler File system with access and retrieval of XML documents
KR20030027349A (ko) * 2001-09-28 2003-04-07 주식회사 케이티 관계형 데이터베이스를 이용한 문서 저장/복구 장치 및 그방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180109379A (ko) 2017-03-28 2018-10-08 주식회사 리얼타임테크 관계형 데이터베이스의 조인 방법

Also Published As

Publication number Publication date
US20030212662A1 (en) 2003-11-13
JP4028410B2 (ja) 2007-12-26
JP2004030569A (ja) 2004-01-29
US7139746B2 (en) 2006-11-21
CN1230771C (zh) 2005-12-07
KR20030087370A (ko) 2003-11-14
CN1457003A (zh) 2003-11-19

Similar Documents

Publication Publication Date Title
KR100484138B1 (ko) 관계형 데이터베이스에서 정규 경로식 질의를 처리하는xml 인덱싱 방법과 자료구조
US6950815B2 (en) Content management system and methodology featuring query conversion capability for efficient searching
US6421656B1 (en) Method and apparatus for creating structure indexes for a data base extender
US6366934B1 (en) Method and apparatus for querying structured documents using a database extender
US6584459B1 (en) Database extender for storing, querying, and retrieving structured documents
KR101066628B1 (ko) 계층적 데이터 포맷의 데이터베이스 모델
US8229932B2 (en) Storing XML documents efficiently in an RDBMS
US7953755B2 (en) Semantic relational database
US20070174309A1 (en) Mtreeini: intermediate nodes and indexes
US20060047646A1 (en) Query-based document composition
US8694510B2 (en) Indexing XML documents efficiently
US7299404B2 (en) Dynamic maintenance of web indices using landmarks
US8661019B2 (en) Join algorithms over full text indexes
US20100161623A1 (en) Inverted Index for Contextual Search
US20050228787A1 (en) Associating information related to components in structured documents stored in their native format in a database
US8650195B2 (en) Region based information retrieval system
US8543614B2 (en) Packing nodes into records to store XML XQuery data model and other hierarchically structured data
KR100941971B1 (ko) 멀티미디어 검색을 위한 질의 표현 장치 및 방법
JP4724177B2 (ja) Xmlデータにアクセスするためのインデックス
Park et al. XML query processing using signature and dtd
Fakharaldien et al. Mapping extensible markup language document with relational database management system
Yaginuma et al. Design of metadata elements for digital news articles in the Omnipaper project
Dong et al. XML indexing
Hong et al. An XML index using prime number coordinate for efficient query processing.
Kim et al. An efficient XML index technique with relative position coordinate.

Legal Events

Date Code Title Description
A201 Request for examination
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20020508

PA0201 Request for examination
PG1501 Laying open of application
E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20040831

Patent event code: PE09021S01D

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20050331

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20050411

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20050412

End annual number: 3

Start annual number: 1

PG1601 Publication of registration
PR1001 Payment of annual fee

Payment date: 20080328

Start annual number: 4

End annual number: 4

PR1001 Payment of annual fee

Payment date: 20090409

Start annual number: 5

End annual number: 5

PR1001 Payment of annual fee

Payment date: 20100412

Start annual number: 6

End annual number: 6

PR1001 Payment of annual fee

Payment date: 20110411

Start annual number: 7

End annual number: 7

PR1001 Payment of annual fee

Payment date: 20120315

Start annual number: 8

End annual number: 8

FPAY Annual fee payment

Payment date: 20130318

Year of fee payment: 9

PR1001 Payment of annual fee

Payment date: 20130318

Start annual number: 9

End annual number: 9

FPAY Annual fee payment

Payment date: 20140325

Year of fee payment: 10

PR1001 Payment of annual fee

Payment date: 20140325

Start annual number: 10

End annual number: 10

LAPS Lapse due to unpaid annual fee
PC1903 Unpaid annual fee

Termination category: Default of registration fee

Termination date: 20160309