JP4724177B2 - Xmlデータにアクセスするためのインデックス - Google Patents
Xmlデータにアクセスするためのインデックス Download PDFInfo
- Publication number
- JP4724177B2 JP4724177B2 JP2007507497A JP2007507497A JP4724177B2 JP 4724177 B2 JP4724177 B2 JP 4724177B2 JP 2007507497 A JP2007507497 A JP 2007507497A JP 2007507497 A JP2007507497 A JP 2007507497A JP 4724177 B2 JP4724177 B2 JP 4724177B2
- Authority
- JP
- Japan
- Prior art keywords
- index
- node
- xml
- data
- xml document
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 claims description 37
- 239000012634 fragment Substances 0.000 claims description 19
- 230000004044 response Effects 0.000 claims description 5
- 238000004891 communication Methods 0.000 description 16
- 230000007246 mechanism Effects 0.000 description 11
- 230000009471 action Effects 0.000 description 6
- 238000006243 chemical reaction Methods 0.000 description 6
- 239000002131 composite material Substances 0.000 description 5
- 230000014509 gene expression Effects 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- MKXZASYAUGDDCJ-NJAFHUGGSA-N dextromethorphan Chemical compound C([C@@H]12)CCC[C@]11CCN(C)[C@H]2CC2=CC=C(OC)C=C21 MKXZASYAUGDDCJ-NJAFHUGGSA-N 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 238000000605 extraction Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 239000000969 carrier Substances 0.000 description 1
- 238000005266 casting Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/80—Information 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/81—Indexing, e.g. XML tags; Data structures therefor; Storage structures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
本願は、2004年4月9日に出願され「さまざまな記憶フォーマットで記憶されたXMLデータについてのXMLインデックス(“XML INDEX FOR XML DATA STORED IN VARIOUS STORAGE FORMATS”)」と題された米国仮特許出願連続番号第60/560,927号と、2004年6月16日に出願され「さまざまな記憶フォーマットで記憶されたXMLデータについてのXMLインデックス(“XML INDEX FOR XML DATA STORED IN VARIOUS STORAGE FORMATS”)」と題された米国仮特許出願番号第60/580,445号との優先権を主張し、その内容全体が、あらゆる目的で引用によりこの明細書中に援用されている。
この発明は情報の管理に関し、より具体的には、XML文書に含まれる情報へのアクセスに関する。
近年、拡張可能なマークアップ言語データ(「XMLデータ」)の記憶およびクエリを可能にする多くのデータベースシステムが存在する。XMLへのクエリための多くの規格が発展してきているが、それらはすべて、XPathの変形例をいくつか含む。しかしながら、データベースシステムは、通常、XPathクエリに対応するよう最適化されておらず、データベースシステムのクエリ性能には改善の余地が大いにある。XMLスキーマ定義が利用可能であり得る特定の場合には、XMLインスタンス文書において用いられる構造およびデータ型(datatype)は既知であり得る。しかしながら、XMLスキーマ定義が利用可能ではなく、探索すべき文書がいかなるスキーマにも準拠していない場合、XPathを用いるクエリのための効率的な技術は存在しない。
ではなく例示のために説明される。
以下の記載においては、説明する目的で、この発明のさまざまな実施例を完全に理解させるために多数の具体的な詳細が述べられている。しかしながら、この発明がこれらの具体的な詳細なしに実施可能であることが認識されるだろう。他の場合には、この発明を不必要に曖昧にすることを避けるために、周知の構造および装置はブロック図の形で示されている。
XML文書における経路、値および順序の情報にインデックス付けするための機構が提供される。当該機構は、実際のXMLデータを記憶するのに用いられるフォーマットおよびデータ構造(「ベース構造」)に係らず、用いることができる。たとえば、実際のXMLデータは、データベースの内部または外部の構造において、CLOB(実際のXMLテキストを記憶するキャラクタLOB)、O-R(XMLスキーマがある状態でのオブジェクトリレーショナル構造化形式)、または、BLOB(XMLの何らかのバイナリ形式を記憶するバイナリLOB)などのいかなる形式でも存在し得る。
説明の目的で、以後、以下の2つのXML文書を参照して例を挙げる。
一実施例に従うと、XMLインデックスは、Xpathベースのプレディケイトおよび/またはXpathベースのフラグメント抽出を含むクエリの性能を向上させるドメインインデックスである。XMLインデックスは、たとえば、CLOBまたは構造化されたストレージとして記憶されるXMLスキーマベースの列とスキーマのないXMLタイプの列との両方にわたって構築され得る。一実施例においては、XMLインデックスは、経路インデックス、値インデックスおよび順序インデックスを協働的に使用することに起因する論理インデックスである。
するのに用いられる。
一実施例に従うと、論理的なXMLインデックスはPATHテーブルと2次インデックスの組とを含む。上述のとおり、インデックス付けされたXML文書は各々、多くのインデックス付けされたノードを含み得る。PATHテーブルはインデックス付けされたノードごとに1つの行を含む。各々のインデックス付けされたノードについて、ノードに対するPATHテーブル行は、当該ノードに関連付けられるさまざまな情報を含む。
XML文書の構造は、XML文書内のノード間における親−子関係を確立する。XML文書におけるノードについての「経路」は、特定のノードに到達するよう、「ルート」ノードから始まる一連の親−子リンクを反映する。たとえば、po2.xmlにおける「User」ノードへの経路は、/PurchaseOrder/Actions/Acthon/Userである。というのも、「User」ノードは「Action」ノードの子であり、「Action」ノードは「Actions」ノードの子であり、「Actions」ノードは「PurchaseOrder」ノードの子であるからである。
一実施例に従うと、インデックス付けされたXML経路の各々には固有の経路IDが割当てられている。たとえば、po1.xmlおよびpo2.xmlに存在する経路には、以下のテーブルに示されるとおりに経路IDが割当てられてもよい。
ノードに関連付けられる位置データは、ノードを含むXML文書がベース構造内のどこに存在するかを示す。こうして、位置データの性質は、ベース構造の性質に基づいて実現例ごとに異なることとなる。実際のXML文書がどのように記憶されるかに応じて、位置データはまた、XML文書を指すロケータまたは論理ポインタを含み得る。論理ポインタは、XPathによって識別されるノードに関連付けられるフラグメントを抽出するのに用いられてもよい。
ノードについてのPATHテーブル行はまた、ノードが、当該ノードを含むXML文書の階層構造内のどこに存在するかを示す情報を含む。このような階層的な情報は、この明細書中においてはノードの「順序キー(OrderKey)」と称される。
インデックス付けされた文書内におけるいくつかのノードは、属性ノードであり得るか、または、単純要素に対応するノードであり得る。一実施例に従うと、属性ノードおよび単純要素については、PATHテーブル行はまた、属性および要素の実効値を記憶する。このような値は、たとえば、PATHテーブルの「値列」に記憶され得る。後により詳細に説明される2次「値インデックス」は、値列上に構築される。
一実施例に従うと、PATHテーブルは、以下のテーブルにおいて特定されるように規定される列を含む。
PATHテーブルは、広範囲のクエリを満たすXML文書またはXMLフラグメントの位置を特定するのに必要な情報を含む。しかしながら、二次的なアクセス構造がない場合、PATHテーブルを用いてこのようなクエリを満たすには、しばしばPATHテーブルのフルスキャンが必要になる。したがって、一実施例に従うと、さまざまな2次インデックスが、(1)経路ルックアップの実行および/または(2)順序ベースの関係の識別、を行うクエリを加速するようデータベースサーバによって作成される。一実施例に従うと、以下の2次インデックスはPATHテーブル上で作成される。
・ (rid,order_key)上のORDERKEY_INDEX
・ VALUE INDEXES
・ (rid,SYS_DEWEY_PARENT(order_key))上のPARENT_ORDERKEY_INDEX
PATHID_INDEX
PATHID_INDEXは、PATHテーブルのpathid,rid列上に構築される。こうして、PATHID_INDEXにおけるエントリは(keyvalue,rowid)の形であり、この場合、キー値(keyvalue)は、特定のpathid/ridの組合せを表わす合成値であり、rowidはPATHテーブルの特定の行を識別する。
ORDERKEY_INDEXは、PATHテーブルのridおよびorderkeyの列上に構築される。こうして、ORDERKEY_INDEXにおけるエントリは、(keyvalue, rowid)の形であり、この場合、keyvalueは、特定のrid/orderkeyの組合せを表わす合成値であり、rowidはPATHテーブルの特定の行を識別する。
経路ルックアップに基づいたクエリがPATHID_INDEXを用いて加速され得ると、値ルックアップに基づいたクエリが、PATHテーブルの値列上に構築されたインデックスによって加速され得る。しかしながら、PATHテーブルの値列は、さまざまなデータ型についての値を保持し得る。したがって、一実施例に従うと、別個の値インデックスが、値列に記憶された各データ型に対して構築される。こうして、値列がストリング、番号およびタイムスタンプを保持する実現例においては、以下の値(2次)インデックスも作成される。
・ SYS_XMLVALUE_TO_NUMBER(value)上のNUMBER_INDEX
・ SYS_XMLVALUE_TO_TIMESTAMP(value)上のTIMESTAMP_INDEX
これらの値インデックスを用いて、データ型をベースにした比較(同等性および範囲)を実行する。たとえば、NUMBER値インデックスは、ユーザXpath内における番号ベースの比較に対処するのに用いられる。NUMBER_INDEXにおけるエントリは、たとえば(number、rowid)の形であってもよく、この場合、rowidは、「number」の値に関連付けられるノードについての、PATHテーブル内の行を指す。同様に、STRING_INDEX内におけるエントリは(string,rowid)の形を有してもよく、TIMESTAMP_INDEX内におけるエントリは(timestamp,rowid)の形を有してもよい。
ずれも適用する。一実施例に従うと、変換機能は、当該変換が可能でない場合、RAWおよびBLOBの値で動作し、NULLを戻す。
一実施例に従うと、PATHテーブル上に構築された2次インデックスの組は、PARENT_ORDERKEY_INDEXを含む。ORDER_KEYインデックスと同様に、PARENT_ORDERKEY_INDEXは、PATHテーブルのridおよびorder_keyの列上に構築される。結果として、PARENT_ORDERKEY_INDEXのインデックスエントリは(keyvalue,rowid)の形を有し、この場合、keyvalueは、特定のrid/order_keyの組合せに対応する合成値である。しかしながら、ORDER_KEYインデックスとは異なり、PARENT_ORDERKEY_INDEXエントリにおけるrowidは、特定のrid/order_keyの組合せを有するPATHテーブル行を指さない。むしろ、各々のPARENT_ORDERKEY_INDEXエントリのrowidは、rid/order_keyの組合せに関連付けられるノードの直接の親であるノードのPATHテーブル行を指す。
一実施例に従うと、XMLインデックスは、データベースサーバによって受信されるインデックス作成コマンドに応答してデータベース内に作成される。説明する目的で、XMLインデックスの作成は、インデックス付けされるべきXML文書がリレーショナルテーブルのXMLタイプ列に記憶される文脈において説明される。
XMLインデックスは、XPathプレディケイトを含むクエリと、Xpathに基づいたフラグメントの検索とを加速するよう、stylesheet_tabのスタイルシート(stylesheet)上で作成され得る。一実施例に従うと、このようなXMLインデックスは、以下のコマンド:
以下のコマンドは、XMLインデックスがスキーマベースのXMLタイプでいかに作成され得るかを示す一例である。
・ PATHテーブルおよび2次インデックスの名前
・ PATHテーブルおよび2次インデックスについての記憶オプション(たとえば、PATHテーブルが分割されたテーブル、インデックス組織化テーブルなどとして記憶されるべきであるかどうか)
・ 値を処理するためのルール
・ 値列の列タイプ(たとえば、RAWまたはBLOB)
値を処理するためのルールは、たとえば、値が大文字小文字の区別ありとして扱われるべきであるかどうか、値が標準化されるべきであるかどうか(その場合、標準化がいかに実行されるべきであるかどうか)、ならびに、混合された内容ノード(値および子ノードをともに有するノード)についての値をいかに処理するか、を特定し得る。混合された内容ノードに関して、当該ルールは、たとえば、混合された内容ノードに関連付けられる値が無視されるべきであるか、連結されるべきであるか、または特別に取扱われるべきであることを特定し得る。これらは、単に、ユーザによって特定され得るルールに対応する値の例にすぎない。利用可能なルールの組は実現例によって異なり、さらには、含まれる値のタイプに基づいて異なり得る。
一実施例に従うと、XMLインデックスによってどのXML経路がインデックス付けされるべきかを決定するルールをユーザが特定することのできる機構が提供される。具体的には、ユーザは、あるXML経路を明確に含むルール、および/または、あるXML経路を明確に除外するルールを記録し得る。
Index)DDLが発行され得る。
新しいXML文書がインデックス付けされる必要がある場合、経路、順序および値の情報が集められ、XMLインデックスに記憶される。一実施例に従うと、インデックス付けされたXML文書のリポジトリにXML文書が追加されると、新しいXML文書が、その中に含まれるノードへの経路を識別するよう解析される。新しいXML文書内のノードのための経路が識別されると、データベースサーバは、新しいXML文書に含まれるノードのうちのどれがインデックス付けされるべきかを決定する。次いで、データベースサーバは、それらのノードの各々に基づいてXMLインデックスを更新する。
ーザが指定したとしても、経路/a、/a/bおよび/a/b/cに関連付けられるノードはまた、それらが、パターン/a/b/c/*に適合する経路に関連付けられるいずれかのノードの祖先である限り、インデックス付けされることとなる。
一実施例に従うと、インデックスが作成された後にXMLインデックスの特徴を変更するための機構が提供される。XMLインデックスの作成後の変更は、たとえば、変更インデックスステートメントに応答して実行されてもよい。
クエリ時に、クエリXPathが、ユーザによって特定されたXpathのサブセットであると静的に判断され得る(従って、インデックスにあると保証され得る)場合、XMLインデックスを用いてクエリに応答することができる。サブセット関係をクエリのコンパイル時間に決定できない場合、XMLインデックスはクエリを満たすのに用いられない。
XMLインデックスは、XPathクエリを値についての単純な経路およびプレディケイトに分解することによって当該XPathクエリを満たすのに用いることができる。結果として得られる分解された部分は、インデックスPATH_TABLE上のXQLクエリに翻訳される。一実施例に従うと、インデックスアクセス方法への入力は、以下のうちの1つ以上を含む複合式である。
・ 単純な値表現、たとえば、/a/b/c>50
・ 表現間における構造的結合(すなわち、階層関係)。たとえば、XPath表現/a/b[c>50]は、(/a/b)PARENT-OF(/a/b/c>50)と表現される。
経路/a/b/cについてのIDは変数1としてバインドされる。結果として得られる適合は、クエリによって文書の順で戻される。単一の文書に対応するすべてのフラグメントが、必要に応じて連結される。
・ XMLスキーマの使用。ベーステーブル列が関連するXMLスキーマを有する場合、ユーザXPathはXMLスキーマに対してタイプチェックされ、これにより、適切なデータ型をその表現に関連付ける。
SYS_XMLVALUE_TO_NUMBER(/a/b/c)>10.567
であり、結果として、NUMBER値インデックスを用いるPATHテーブルに対する以下のクエリがもたらされる。
率的に評価することができるといったさまざまな利点が生じ得る。データ型認識比較を含むXPathを満たすことができる。フラグメントは、元のXML文書から効率的に抽出され得る。ユーザは、経路のサブセットだけにインデックス付けすることを選択し、こうしてインデックスの肥大化を回避し得る。インデックス値は、アプリケーションのニーズに基づいてカスタマイズされ得る。さらに非スキーマXML文書にインデックス付けする能力が、ユーザの大きなクラスについてのクエリ要件を満たすこととなる。これにより、クエリ性能について懸念することなく、オラクル(Oracle)におけるそれらのすべてのXML文書を記憶することが可能となる。
データベースサーバが、それ自体が受信したコマンドに応答してXMLインデックスを作成および維持する文脈において実施例を説明してきた。当該コマンドは、データベースサーバが理解する言語に準拠していなければならない。この発明の一実施例に従うと、XMLインデックスを含むさまざまなDDLコマンドに用いられるシンタックスは以下のとおりである。
・ 経路テーブルおよび2次インデックスについての名前および物理的なパラメータ(テーブル空間(tablespace)など)。PATH TABLE上の6個のインデックスはすべて、明示的に指定されていなくても作成される。
・ ストリングの先行および後続の余白がすべて除去されるべき場合、正規化(NORMALIZED)され、
・ IGNORE_MIXED_TEXTは、混合されたテキストがある状態で値をNULLとして記憶し、
・ すべてのストリングが小文字に変換されるべき場合、CASE_INSENSITIVEである。
− インデックス付けすべき経路の明示的なリスト。これはワイルドカードおよび//axesを含み得る。たとえば、/a/b/c、/d/*、/x//y。
・ XMLインデックスは、その構成要素、基礎をなすPATH TABLEおよびその2次インデックスとともに削除される。
図2は、この発明の実施例が実現され得るコンピュータシステム200を示すブロック図である。コンピュータシステム200は、情報を伝達するためのバス202または他の通信機構と、バス202に結合され情報を処理するためのプロセッサ204とを含む。コンピュータシステム200はまた、プロセッサ204によって実行されるべき情報および命令を記憶するための、バス202に結合されるランダムアクセスメモリ(RAM)または他の動的記憶装置等のメインメモリ206を含む。メインメモリ206はまた、プロセッサ204によって実行されるべき命令の実行中に一時変数または他の中間情報を記憶するのに用いられ得る。コンピュータシステム200はさらに、プロセッサ204のための静的情報および命令を記憶するための、バス202に結合される読出専用メモリ(ROM)208または他の静的記憶装置を含む。磁気ディスクまたは光ディスク等の記憶装置210が設けられ、情報および命令を記憶するためにバス202に結合される。
この発明は、ここで説明される技術を実現するためのコンピュータシステム200の用途に関する。この発明の一実施例に従うと、これらの技術は、メインメモリ206に含まれる1つ以上の命令の1つ以上のシーケンスをプロセッサ204が実行することに応答して、コンピュータシステム200によって実行される。このような命令は、記憶装置210等の別のコンピュータ読取り可能な媒体からメインメモリ206へと読取られてもよい。メインメモリ206内に含まれる命令シーケンスを実行することにより、ここで説明されるプロセスステップをプロセッサ204に実行させる。代替的な実施例では、ソフトウェア命令の代わりに、またはソフトウェア命令と組合せてハードワイヤード回路を用いてこの発明を実現することもできる。したがって、この発明の実施例は、ハードウェア回路とソフトウェアとの特定のいずれかの組合せに限定されない。
ある。
Claims (14)
- リレーショナルデータベース内のベーステーブルに格納されたXML文書からの情報にアクセスする処理をコンピュータに実行させるための方法であって、前記コンピュータは、プロセッサと前記リレーショナルデータベースを格納するための記憶装置とを含み、
前記プロセッサが、前記ベーステーブルに格納されたXML文書内において、インデックス付けすべきノードの組を識別するステップと、
前記プロセッサが、インデックス付けすべきノードの組における各ノードごとに、ノードについてのエントリを、前記記憶装置に格納されたインデックスに記憶するステップとを含み、所与のノードについてのエントリは、前記所与のノードを含むXML文書と関連したXML内容の位置を特定する位置データと、少なくとも以下の(a)および(b)のうちの1つとを含み、
(a)前記所与のノードを含むXML文書内において前記所与のノードの階層位置を示す階層データと、
(b)前記所与のノードを含む前記XML文書の構造によって、前記所与のノードに至る経路に対応する経路データ、
前記所与のノードについてのエントリは、さらに、前記位置に存在するXML内容内において、前記所与のノードと関連したXMLフラグメントの開始位置を示すロケーター値を含み、
前記インデックスは、前記XML文書のうちの特定のXML文書の複数のノードに対応する複数のインデックスエントリを含み、
各前記複数のインデックスエントリは、前記特定のXML文書に対するXML内容の、前記ベーステーブル内の前記位置を特定する、同一の位置データを含んでおり、
各前記複数のインデックスエントリに対するロケーター値は、ベーステーブル内の前記位置に格納された前記特定のXML文書の前記XML内容内において、異なる開始位置を示しており、
所与のインデックスエントリの各々のロケーター値によって示された、前記複数のインデックスエントリの前記開始位置は、各前記所与のインデックスエントリに関連づけられたノードに対応した前記XMLフラグメントの開始位置であり、
前記プロセッサが、前記XML文書からの情報に対する要求に応答して、前記XML文書内の位置情報に対するインデックスを使用するステップとを備え、前記インデクスを使用することは、少なくとも前記位置データに基づいて前記所与のノードと関連付いたXML内容の位置を特定することを含む、方法。 - 前記インデックスはリレーショナルテーブルとして実現され、各ノードについてのエントリを記憶するステップは、前記リレーショナルテーブル内において、ノードの組における各ノードについての行を記憶することによって実行される、請求項1に記載の方法。
- 前記インデックスは、ノードの組における1つ以上のノードに関連付けられる値を記憶する、請求項1に記載の方法。
- 前記インデックスに記憶される値は、複数のデータ型の値を含み、前記方法は、前記複数のデータ型のうちの2つ以上のデータ型の各々についての2次インデックスを構築するステップをさらに含む、請求項3に記載の方法。
- 前記所与のノードについての位置データは、XML文書の位置を特定するための第1のデータと、XML文書内において、所与のノードに関連付けられる情報の位置を特定するための第2のデータとを含む、請求項1に記載の方法。
- 前記方法は、前記階層データに基づいて、前記インデックスにおけるエントリにアクセ
スするための2次インデックスを構築するステップをさらに含む、請求項1に記載の方法。 - 前記所与のノードについてのエントリは、所与のノードを含むXML文書の構造を介する所与のノードへの経路に対応する経路データを含み、
前記方法はさらに、前記経路データに基づいて、前記インデックスにおけるエントリにアクセスするための2次インデックスを構築するステップを含む、請求項1に記載の方法。 - 親ノードの子ノードに関連付けられる階層情報に基づいて、前記インデックスにおいて、前記親ノードについてのエントリにアクセスするための2次インデックスを構築するステップをさらに含む、請求項1に記載の方法。
- 前記インデックス付けすべきノードの組を識別するステップは、
どの経路がインデックス付けされるべきであるかを決定するためのルールを受信するステップと、
インデックス付けされるべきXML文書におけるノードに関連付けられる経路を決定するステップと、
(a)どの経路がインデックス付けされるべきであるかを決定するためのルール、および、(b)インデックス付けされるべきXML文書におけるノードに関連付けられる経路に基づいて、どのノードがインデックス付けされるべきであるかを識別するステップとを含む、請求項1に記載の方法。 - 前記ルールは、インデックスに含まれるべき経路を明示的に識別する、請求項9に記載の方法。
- 前記ルールは、インデックスから除外すべき経路を明示的に識別する、請求項9に記載の方法。
- 2次値インデックスが構築されるべきデータ型を示すユーザデータを受信するステップをさらに含む、請求項4に記載の方法。
- 所与のノードについてのエントリはさらに、
(c)所与のノードを含むXML文書の構造を介する所与のノードへの経路に対応する経路データを含む、請求項1に記載の方法。 - 1つ以上のプロセッサによって実行されるときに、1つ以上のプロセッサに請求項1から13のいずれかに記載の方法を実行させる命令の1つ以上のシーケンスを格納する、コンピュータ読取可能な記録媒体。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US56092704P | 2004-04-09 | 2004-04-09 | |
US60/560,927 | 2004-04-09 | ||
US10/884,311 | 2004-07-02 | ||
US10/884,311 US7499915B2 (en) | 2004-04-09 | 2004-07-02 | Index for accessing XML data |
PCT/US2005/011763 WO2005101246A1 (en) | 2004-04-09 | 2005-04-06 | Index for accessing xml data |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2007533008A JP2007533008A (ja) | 2007-11-15 |
JP4724177B2 true JP4724177B2 (ja) | 2011-07-13 |
Family
ID=34964853
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007507497A Active JP4724177B2 (ja) | 2004-04-09 | 2005-04-06 | Xmlデータにアクセスするためのインデックス |
Country Status (5)
Country | Link |
---|---|
EP (1) | EP1735726B1 (ja) |
JP (1) | JP4724177B2 (ja) |
AU (1) | AU2005234002B2 (ja) |
CA (1) | CA2561734C (ja) |
WO (1) | WO2005101246A1 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1790335A (zh) * | 2005-12-19 | 2006-06-21 | 无锡永中科技有限公司 | Xml文件数据存取的方法 |
US9460064B2 (en) * | 2006-05-18 | 2016-10-04 | Oracle International Corporation | Efficient piece-wise updates of binary encoded XML data |
JP4860416B2 (ja) * | 2006-09-29 | 2012-01-25 | 株式会社ジャストシステム | 文書検索装置、文書検索方法および文書検索プログラム |
US8549009B2 (en) | 2007-09-07 | 2013-10-01 | Nec Corporation | XML data processing system, data processing method and XML data processing control program used for the system |
CN102043852B (zh) * | 2010-12-22 | 2012-07-18 | 东北大学 | 一种基于路径信息的可扩展标记语言祖先后代索引方法 |
Citations (6)
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 | インデックス作成方法、インデックス表示方法、インデックス検索方法及びインデックス作成装置 |
JP2002202973A (ja) * | 2000-10-25 | 2002-07-19 | Matsushita Electric Ind Co Ltd | 構造化文書管理装置 |
US20020116371A1 (en) * | 1999-12-06 | 2002-08-22 | David Dodds | System and method for the storage, indexing and retrieval of XML documents using relation databases |
JP2002297605A (ja) * | 2001-03-30 | 2002-10-11 | Toshiba Corp | 構造化文書検索方法および構造化文書検索装置およびプログラム |
JP2004030569A (ja) * | 2002-05-08 | 2004-01-29 | Samsung Electronics Co Ltd | 関係型データベースにおいて正規経路式質疑を処理するxmlインデックス方法と資料構造 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6745206B2 (en) * | 2000-06-05 | 2004-06-01 | International Business Machines Corporation | File system with access and retrieval of XML documents |
AU2002334721B2 (en) * | 2001-09-28 | 2008-10-23 | Oracle International Corporation | An index structure to access hierarchical data in a relational database system |
US7634498B2 (en) * | 2003-10-24 | 2009-12-15 | Microsoft Corporation | Indexing XML datatype content system and method |
-
2005
- 2005-04-06 EP EP05732473A patent/EP1735726B1/en active Active
- 2005-04-06 JP JP2007507497A patent/JP4724177B2/ja active Active
- 2005-04-06 WO PCT/US2005/011763 patent/WO2005101246A1/en active Application Filing
- 2005-04-06 CA CA2561734A patent/CA2561734C/en active Active
- 2005-04-06 AU AU2005234002A patent/AU2005234002B2/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001034619A (ja) * | 1999-07-16 | 2001-02-09 | Fujitsu Ltd | Xmlデータの格納/検索方法およびxmlデータ検索システム |
US20020116371A1 (en) * | 1999-12-06 | 2002-08-22 | David Dodds | System and method for the storage, indexing and retrieval of XML documents using relation databases |
JP2001282856A (ja) * | 2000-03-31 | 2001-10-12 | Toshiba Corp | インデックス作成方法、インデックス表示方法、インデックス検索方法及びインデックス作成装置 |
JP2002202973A (ja) * | 2000-10-25 | 2002-07-19 | Matsushita Electric Ind Co Ltd | 構造化文書管理装置 |
JP2002297605A (ja) * | 2001-03-30 | 2002-10-11 | Toshiba Corp | 構造化文書検索方法および構造化文書検索装置およびプログラム |
JP2004030569A (ja) * | 2002-05-08 | 2004-01-29 | Samsung Electronics Co Ltd | 関係型データベースにおいて正規経路式質疑を処理するxmlインデックス方法と資料構造 |
Also Published As
Publication number | Publication date |
---|---|
AU2005234002B2 (en) | 2009-12-17 |
AU2005234002A1 (en) | 2005-10-27 |
EP1735726B1 (en) | 2012-08-22 |
WO2005101246A1 (en) | 2005-10-27 |
JP2007533008A (ja) | 2007-11-15 |
CA2561734C (en) | 2013-08-13 |
CA2561734A1 (en) | 2005-10-27 |
EP1735726A1 (en) | 2006-12-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7499915B2 (en) | Index for accessing XML data | |
US7398265B2 (en) | Efficient query processing of XML data using XML index | |
US7921101B2 (en) | Index maintenance for operations involving indexed XML data | |
US8219563B2 (en) | Indexing mechanism for efficient node-aware full-text search over XML | |
US7493305B2 (en) | Efficient queribility and manageability of an XML index with path subsetting | |
CA2570462C (en) | Efficient extraction of xml content stored in a lob | |
US8126932B2 (en) | Indexing strategy with improved DML performance and space usage for node-aware full-text search over XML | |
US7885980B2 (en) | Mechanism for improving performance on XML over XML data using path subsetting | |
US7840590B2 (en) | Querying and fragment extraction within resources in a hierarchical repository | |
US7024425B2 (en) | Method and apparatus for flexible storage and uniform manipulation of XML data in a relational database system | |
US6721727B2 (en) | XML documents stored as column data | |
US20050044113A1 (en) | Techniques for changing XML content in a relational database | |
US20050055343A1 (en) | Storing XML documents efficiently in an RDBMS | |
US20050055334A1 (en) | Indexing XML documents efficiently | |
US20070250527A1 (en) | Mechanism for abridged indexes over XML document collections | |
US8015165B2 (en) | Efficient path-based operations while searching across versions in a repository | |
JP4724177B2 (ja) | Xmlデータにアクセスするためのインデックス | |
JP4866844B2 (ja) | Lobに格納されたxml内容の効率的な抽出 | |
US20080147615A1 (en) | Xpath based evaluation for content stored in a hierarchical database repository using xmlindex |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080221 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20101026 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20110125 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20110201 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110225 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20110405 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20110408 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140415 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4724177 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |