JP5347965B2 - Xmlデータ処理システム、該システムに用いられるデータ処理方法及びxmlデータ処理制御プログラム - Google Patents

Xmlデータ処理システム、該システムに用いられるデータ処理方法及びxmlデータ処理制御プログラム Download PDF

Info

Publication number
JP5347965B2
JP5347965B2 JP2009531159A JP2009531159A JP5347965B2 JP 5347965 B2 JP5347965 B2 JP 5347965B2 JP 2009531159 A JP2009531159 A JP 2009531159A JP 2009531159 A JP2009531159 A JP 2009531159A JP 5347965 B2 JP5347965 B2 JP 5347965B2
Authority
JP
Japan
Prior art keywords
path
xml data
identifier
xpath expression
key
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
JP2009531159A
Other languages
English (en)
Other versions
JPWO2009031370A1 (ja
Inventor
純平 上村
岳彦 柏木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2009531159A priority Critical patent/JP5347965B2/ja
Publication of JPWO2009031370A1 publication Critical patent/JPWO2009031370A1/ja
Application granted granted Critical
Publication of JP5347965B2 publication Critical patent/JP5347965B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • 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/83Querying
    • G06F16/835Query processing
    • G06F16/8373Query execution

Description

本発明は、XMLデータ処理システム、該システムに用いられるデータ処理方法及びXMLデータ処理制御プログラムに係り、特に、入力されたXML(eXtensible Markup Language)データに対して、XMLデータの一部を特定するためのXPath式で指定された部分を抽出する処理を高速で行う必要がある場合に用いて好適なXMLデータ処理システム、該システムに用いられるデータ処理方法及びXMLデータ処理制御プログラムに関する。
XML(eXtensible Markup Language)は、1998年にW3C(World Wide Web Consortium)によって勧告されて以来普及し、標準的な計算機間のデータ交換フォーマットとなっている。2007年1月にXQueryが勧告されるなど、周辺の環境も整ってきている。XMLデータ(XML文書)は、XMLに準拠して作られた言語を用いて作成された文書やデータであり、要素や属性等のノードによって木構造が構成されるように記述される。
XMLデータは、たとえば、下記のように記述される。
[(XML宣言)]
1 <books>
1.1 <book>
1.1.1 <author>author_name1</author>
1.1.2 <title>title1</title>
1.1.3 <price>100</price>
</book>
1.2 <book>
1.2.1 <author>author_name2</author>
1.2.2 <title>title2</title2>
</book>
</books>
ノードの一つである要素は、開始タグ、コンテンツ、終了タグで構成される。たとえば、“<price>100</price>”は要素である。“<price>”は開始タグである。“100”はコンテンツである。”</price>”は終了タグである。要素は他の要素を含むことができる。XPathは、XMLデータの特定部位を示す言語構文である。XPathは、XQuery、XSLT(XSL Transformations:XMLファイルの間でデータの変換作業を行うための規格)といったXMLデータに対する操作において重要な構成要素となっている。XPath式は、XPathの仕様に従って作られた実際の式である。たとえば、“//books//book”や“//books/book”はXPath式である。XPath式において、“//”は、XMLデータの木構造を構成する各要素を親子関係に見立てた場合の“子孫”を表す。また、“/”は“子”を表す。なお、上記XMLデータの左端の数字は、当該XMLデータを構成する各要素ノードの識別子(ノードID、nID)を表しており、説明のために付加したもので、実際のXMLデータには含まれない。この例では、子要素の識別子は、親要素の識別子に“.”を付けたものに兄弟の順番を表す数字が付加されて作成されている。これにより、各識別子に基づいて先祖子孫関係が識別可能である。
XMLデータの中から、所定のXPath式で特定されるXMLノードを抽出する処理の方法がいくつか知られている。たとえば、XMLデータ木を探索する方法や、N.Koudas J.M.Patel S. Al-Khalifa,H.V.Jagadish,D.Srivastava, and Yuqing Wu.Structural Joins:A Primitive for Efficient XML Query Pattern Matching.In ICDE,2002.などに記載された構造ジョインを用いる方法や、江田毅晴、鬼塚真、山室雅司、XMLデータの要約情報を用いた高速なXPath処理方法、電子情報通信学会論文誌D、2006、第J89-D 巻、p.139-150などに記載されたこれらの方法を組み合わせる(ハイブリッド)方法が知られている。
上記いずれの方法を用いても、上記のXMLデータに対して、たとえば、XPath式“//books//book”が与えられた場合には、要素ノードの識別子の集合{1.1,1.2}を抽出することができる。
たとえば、XMLデータ木を探索する方法では、XMLデータ木のノードをたどりながら、XPath式のパターン“//books//book”とマッチングする構造を探索する。この場合、XPath式から生成したオートマトンを用いて、探索対象のXMLデータを構成する各ノードをたどりながら目的となるノードを探す。これにより、識別子集合{1.1,1.2}が得られる。また、構造ジョインを用いる方法では、XMLデータを要素ノード単位で取得し、先祖子孫関係を要素ノードに付けられたラベルを用いて判定する。すなわち、XPath式(“//books//book”)をパターン“//books”とパターン“//book”とに分解し、同パターン“//books”に対する識別子の集合{1}を得て、また、同パターン“//book”に対して、識別子集合{1.1,1.2}を得る。そして、これらの識別子集合間で先祖子孫関係のあるものを探す。この例では、“1→1.1”及び“1→1.2”という親子関係があるので、識別子集合{1.1,1.2}が得られる。また、これらの方法を組み合わせる方法では、述語の部分でのみ構造ジョインをすることで、構造ジョインの回数を削減している。
しかしながら、XMLデータ木を探索する方法では、全ての枝を探索する必要があるため、XMLデータの量に対するスケーラビリティがない。つまり、XMLデータを構成するノードの数が増大するにつれ、処理時間が幾何級数的に増大する。また、構造ジョインを用いる方法では、XMLデータが増加した場合に、ノードの識別子の集合の要素数が増加するため、やはり、それら全ての先祖子孫関係を判定するための時間が幾何級数的に増大する。また、これらの方法を組み合わせる方法は、述語の部分でのみ構造ジョインが行われ、構造ジョインの回数が削減されるものであり、この発明とは異なる方法で効果を得るものである。
本発明は、上述の事情に鑑みてなされたもので、入力されたXMLデータに対して、XPath式で指定された部分を抽出する処理を高速で行うことができるXMLデータ処理システム、該システムに用いられるデータ処理方法及びXMLデータ処理制御プログラムを提供することを目的とする。
上記課題を解決するために、本発明は、入力された第1のXMLデータに対して、該第1のXMLデータの一部を特定するためのXPath式に適合する部分の抽出処理を行うXMLデータ処理システムに係り、前記第1のXMLデータを解析してノード単位に分解し、各ノード毎にノード識別子を付与して第2のXMLデータを作成すると共に、該第2のXMLデータに対して前記ノード識別子を前記XPath式に基づいて指定するための索引を作成するXML解析部と、該XML解析部で作成された前記第2のXMLデータを保持するXMLデータ保持部と、前記XML解析部で作成された前記索引を保持する索引部と、該索引部で保持されている前記索引を用いて前記XPath式に対応した前記ノード識別子を取得し、前記XMLデータ保持部にアクセスして該ノード識別子に対応した前記第2のXMLデータを取得するXPath式処理部とを有している。
本発明の構成によれば、XML解析部で第1のXMLデータが解析されてノード単位に分解され、各ノード毎にノード識別子が付与されて第2のXMLデータが作成されると共に、この第2のXMLデータに対してノード識別子をXPath式に基づいて指定するための索引が作成され、XMLデータ保持部で第2のXMLデータが保持されると共に、索引部でその索引が保持され、XPath式処理部では、索引を用いてXPath式に対応したノード識別子が取得され、保持されている第2のXMLデータからそのノード識別子に対応したXMLデータが取得される。これにより、全XMLデータの探索や、構造ジョインを用いる場合での多数のノード間の先祖子孫関係の判定を行う必要がなくなり、第1のXMLデータに対して、XPath式に適合する部分の抽出処理を高速に行うことができる。
本発明の第1の実施例であるXMLデータ処理システムの要部の電気的構成を示すブロック図である。 図1に示したXML解析部にて作成されたXMLデータの例を示す図である。 図1に示したパステーブルを示す図である。 図1に示したパス識別子集合テーブルを示す図である。 図1に示したノードリストを示す図である。 図1に示したXMLデータ処理システムの動作を説明するフローチャートである。 図1に示したパス識別子テーブルにおいて、パス識別子の集合に含むパス識別子を絶対パスのパス識別子に限ったものを示す図である。
XML解析部により作成される索引が、第2のXMLデータに含まれる全て又は一部のパスのテキスト表現を、各パス識別子を付与して保持するパステーブルと、このパステーブルに保持されている各パスに包含されるパスに付与されたパス識別子の集合を各パス識別子毎に保持するパス識別子集合テーブルと、パステーブルに保持されている各パスのうちのフルパスに対応するパス識別子を、第2のXMLデータ中の当該フルパスを構成するノードの最終のノード識別子を対応付けて保持するノードリストとから構成されているXMLデータ処理システム、該システムに用いられるデータ処理方法及びXMLデータ処理制御プログラムを提供する。
また、XPath式処理部は、XPath式に含まれるパスのテキスト表現を第1のキーとしてパステーブルを検索して第1のキーに対応する第1のパス識別子を取得し、第1のパス識別子を第2のキーとしてパス識別子集合テーブルを検索して第2のキーに対応するパス識別子集合を取得し、取得したパス識別子集合の中で共通する共通パス識別子を取得し、取得した共通パス識別子を第3のキーとしてパステーブルを検索して第3のキーに対応するパスを取得し、取得した第3のキーに対応するパスのテキスト表現中のタグの出現順序がXPath式に含まれるパスのテキスト表現中のタグの出現順序と一致するとき、取得した第3のキーに対応するパスに対応する第2のパス識別子をパステーブルから取得し、ノードリストから第2のパス識別子に対応する最終のノード識別子を取得し、かつ、XMLデータ保持部から、最終のノード識別子が付与されたノードで構成されるフルパスに対応する第2のXMLデータを取得する構成とされている。
また、XPath式処理部は、XPath式中のパスに全ての子要素を示す記号が含まれているとき、全ての子要素を示す記号を除去して第1のキーとする構成とされている。
また、XPath式処理部は、XPath式中のパスに全ての子要素を示す記号が含まれているとき、全ての子要素を示す記号を除去せずに当該パスを第1のキーとする構成とされ、パステーブルは、全ての子要素を示す記号が含まれているパスを、当該パステーブルに保持されているテキスト表現のうちの当該パスと共通のテキスト表現を有するパスに変換する構成とされている。
また、ノードリストは、XPath式処理部で取得された第3のキーに対応するパスのテキスト表現中のタグの出現順序がXPath式に含まれるパスのテキスト表現中のタグの出現順序と一致するとき、取得した第3のキーに対応するパスに対応する第2のパス識別子をパステーブルから取得し、XPath式処理部と並行して、当該ノードリストから第2のパス識別子に対応する最終のノード識別子を取得する構成とされている。
図1は、本発明の第1の実施例であるXMLデータ処理システムの要部の電気的構成を示すブロック図である。
本実施例のXMLデータ処理システム10は、たとえばパーソナルコンピュータなどの情報処理装置で構成され、図1に示すように、XMLデータ処理システム10全体を制御するコンピュータとしてのCPU(中央処理装置)10aと、CPU10aを動作させるためのXMLデータ処理制御プログラムが記録されたROM(リード・オンリ・メモリ)10bとを有している。特に、本実施例では、XMLデータ処理システム10は、XML解析部11と、ストレージ部12と、索引部13と、XPath式処理部14とを備え、入力されたXMLデータina(第1のXMLデータ)に対して、XMLデータinaの一部を特定するためのXPath式Fに適合する部分の抽出処理を行う。
XML解析部11は、XMLデータinaを解析してノード単位に分解し、XMLデータinaを構成する各文書毎にユニークな文書名、及び各ノード毎にユニークなノード識別子を付与してXMLデータinb(第2のXMLデータ)を作成すると共に、作成したXMLデータinbに対してノード識別子をXPath式Fに基づいて指定するための索引ixを作成する。ストレージ部12は、XML解析部11で作成されたXMLデータinbを保持すると共に、XPath式処理部14からの取得要求qに対して文書単位又はノード単位でXMLデータcを提供する。索引部13は、XML解析部11で作成された索引ixを保持する。
索引ixは、パステーブル13a、パス識別子集合テーブル13b及びノードリスト13cから構成されている。パステーブル13aは、XMLデータinbに含まれる全て又は一部のパスのテキスト表現を、各パス識別子を付与して保持すると共に、XPath式処理部14からのパスのテキスト表現をキーとした問い合わせに対して、対応するパス識別子を返答する。パス識別子集合テーブル13bは、パステーブル13aに保持されている各パス包含るパスに付与されたパス識別子の集合を、各パス識別子毎に保持すると共に、XPath式処理部14からのパス識別子をキーとした問い合わせに対して、パス識別子に対応するパス識別子の集合を返答する。ノードリスト13cは、パステーブル13aに保持されている上記各パスのうちのフルパスに対応するパス識別子を、XMLデータinb中の当該フルパスを構成するノードの最終のノード識別子を対応付けて保持する。
XPath式処理部14は、索引部13で保持されている索引ixを用いてXPath式Fに対応したノード識別子を取得し、ストレージ部12に取得要求qを送出(アクセス)してノード識別子に対応したXMLデータincを取得する。特に、本実施例では、XPath式処理部14は、XPath式Fに含まれるパスのテキスト表現を第1のキーとしてパステーブル13aを検索して第1のキーに対応する第1のパス識別子を取得し、取得した第1のパス識別子を第2のキーとしてパス識別子集合テーブル13bを検索して第2のキーに対応するパス識別子集合を取得する。
また、XPath式処理部14は、取得したパス識別子集合の中で共通する共通パス識別子を取得し、取得した共通パス識別子を第3のキーとしてパステーブル13aを検索して第3のキーに対応するパスを取得し、取得した第3のキーに対応するパスのテキスト表現中のタグの出現順序がXPath式Fに含まれるパスのテキスト表現中のタグの出現順序と一致するとき、取得した第3のキーに対応するパスに対応する第2のパス識別子をパステーブル13aから取得する。また、XPath式処理部14は、ノードリスト13cから第2のパス識別子に対応する最終のノード識別子を取得し、かつ、ストレージ部12から、最終のノード識別子が付与されたノードで構成されるフルパスに対応するXMLデータincを取得する。また、XPath式処理部14は、XPath式F中のパスに全ての子要素を示す記号が含まれているとき、全ての子要素を示す記号を除去して第1のキーとする。
図2は、図1に示したXML解析部11にて作成されたXMLデータinbの例を示す図、図3は、図1に示したパステーブル13aを示す図、図4は、図1に示したパス識別子集合テーブル13bを示す図、図5は、図1に示したノードリスト13cを示す図、図6は、図1に示したXMLデータ処理システム10の動作を説明するフローチャートである。
これらの図を参照して、図1に示したXMLデータ処理システム10に用いられるデータ処理方法の処理内容について説明する。
このXMLデータ処理システム10では、図6に示すように、XML解析部11でXMLデータinaが解析されてノード単位に分解され、各ノード毎にユニークなノード識別子が付与されてXMLデータinbが作成されると共に、作成されたXMLデータinbに対してノード識別子をXPath式Fに基づいて指定するための索引ixが作成される(ステップA1、XML解析処理)。そして、ストレージ部12でXMLデータinbが保持されると共に(ステップA2、XMLデータ保持処理)、索引部13で索引ixが保持される(ステップA3、索引保持処理)。XPath式処理部14では、索引保持処理で保持された索引ixを用いてXPath式Fに対応したノード識別子が取得され、XMLデータ保持処理で保持されているXMLデータinbからノード識別子に対応したXMLデータincが取得される(ステップA4、XPath式データ処理)。これにより、XMLデータinaに対して、XPath式Fに適合する部分の抽出処理が行われる。
XPath式データ処理では、XPath式Fに含まれるパスのテキスト表現を第1のキーとしてパステーブル13aが検索されて第1のキーに対応する第1のパス識別子が取得され、第1のパス識別子を第2のキーとしてパス識別子集合テーブル13bが検索されて第2のキーに対応するパス識別子集合が取得される。そして、取得されたパス識別子集合の中で共通する共通パス識別子が取得され、取得された共通パス識別子を第3のキーとしてパステーブル13aが検索されて第3のキーに対応するパスが取得される。
また、取得された第3のキーに対応するパスのテキスト表現中のタグの出現順序がXPath式Fに含まれるパスのテキスト表現中のタグの出現順序と一致するとき、取得された第3のキーに対応するパスに対応する第2のパス識別子がパステーブル13aから取得され、ノードリスト13cから第2のパス識別子に対応する最終のノード識別子が取得され、かつ、ストレージ部12から、最終のノード識別子が付与されたノードで構成されるフルパスに対応するXMLデータincが取得される。また、XPath式データ処理では、XPath式F中のパスに全ての子要素を示す記号が含まれているとき、全ての子要素を示す記号が除去されて第1のキーとされる。
すなわち、入力されるXMLデータinaは、たとえば、次のような2つのXMLデータ([data1.xml],[data2.xml])で構成されている。
[data1.xml]
<a>
<b>
<c>test_data1</c>
</b>
</a>
及び、
[data2.xml]
<c>
<b>
<a>test_data2</a>
</b>
</c>
XMLデータinaは、XML解析部11によりノード単位に分解され、図2に示すように、各ノード毎にノード識別子(“1”,“2”,“3”,“4”,“5”,“6”)が付与された後、XMLデータinbとしてストレージ部12へ格納される。また、XMLデータinbは、含まれる全て又は一部のパスがXML解析部11により抽出され、図3に示すように、各パス(path)のテキスト表現が、各パス識別子(pID)が付与されてパステーブル13aに保持される。また、XML解析部11により、パステーブル13aに保持されている各パス包含るパスが検出され、図4に示すように、これらのパスに付与されたパス識別子(pID)の集合(list)が各パス識別子(pID)毎にパス識別子集合テーブル13bに保持される。
また、XML解析部11により、パステーブル13aに保持されている各パスのうちのフルパスに対応するパス識別子(pID)(“1”,“2”,“3”,“6”,“7”,“8”)が検出され、図5に示すように、各パス識別子(pID)に対して、XMLデータinb中の当該フルパスを構成するノードの最終のノード識別子が対応付けられてノードリスト13cに保持される。
XPath式処理部14では、入力されるXPath式Fに基づいて、たとえば、次のような処理1,2が行われる。
処理1;XPath式Fが、たとえば“//a//c”のとき
[ステップ1;パス分解]
まず、XPath式F“//a//c”が“//”で分解された後、分解されて得られた各パスの前後に“//”が付加され、要素“//a//”と要素“//c//”とが得られる。
[ステップ2;候補パスの絞込み]
索引部13のパステーブル13a(図3参照)が検索され、要素“//a//”及び要素“//c//”に対応する各パス識別子(pID)からなるパス識別子集合{1,6}が得られる。索引部13のパス識別子集合テーブル13bが検索され、パス識別子“1”,“6”に対応するリスト
list(1)={1,2,3,8,9}、及び、
list(6)={3,5,6,7,8}
が得られる。そして、list(1)とlist(6)との共通部分(共通パス識別子)
list(1)∧list(6)={3,8}
が求められ、索引部13のパステーブル13aが検索され、パス識別子pIDが{3,8}に対応するパス“//a/b/c//”,“//c/b/a//”が候補パスとして得られる。
[ステップ3;候補パスの検証]
上記で得られた候補パスをフルパス表現としてみなしたもの(“/a/b/c”,“/c/b/a”)が、XPath式F“//a//c”に適合するか否かが判定される。この場合、パス“a/b/c”は、タグの出現順序がXPath式F“//a//c”と一致するため、目的のパス識別子が“3”と判定される。
[ステップ4;目的のノード識別子の取得]
パス識別子が“3”である索引部13のノードリスト13c中の“nc3”に含まれるノード識別子“3”が、XPath式F“//a//c”に適合するノード識別子となる。
[ステップ5;目的ノードの取得]
XPath式処理部14からストレージ部12に取得要求qが送出され、ノード識別子“3”に対応するノードが取得される。
処理2;XPath式Fに、たとえば“//c/*//a”のように、パスに全ての子要素を示す記号(*)が含まれているとき
[ステップ1;パス分解]
まず、XPath式F“//c/*//a”が“//”で分解された後、分解されて得られた各パスの前後に“//”が付加され、要素“//c/*//”と要素“//a//”とが得られる。そして、要素“//c/*//”中の“/*”が除去され、要素“//c//”と要素“//a//”とが得られる。
[ステップ2;候補パスの絞込み]
索引部13のパステーブル13a(図3参照)が検索され、要素“//a//”及び要素“//c//”に対応する各パス識別子からなるパス識別子集合{1,6}が得られる。索引部13のパス識別子集合テーブル13bが検索され、パス識別子“1”,“6”に対応するリスト
list(1)={1,2,3,8,9}、及び、
list(6)={3,5,6,7,8}
が得られる。そして、list(1)とlist(6)との共通部分(共通パス識別子)
list(1)∧list(6)={3,8}
が求められる。索引部13のパステーブル13aが検索され、パス識別子pIDが{3,8}に対応するパス“//a/b/c//”,“//c/b/a//”が候補パスとして得られる。
[ステップ3;候補パスの検証]
上記で得られた候補パスをフルパス表現としてみなしたもの(“/a/b/c”,“/c/b/a”)が、XPath式F“//c/*//a”に適合するか否かが判定される。この場合、パス“c/b/a”は、タグの出現順序がXPath式F“//c/*//a”と一致するため、目的のパス識別子pIDが“8”と判定される。
[ステップ4;目的のノード識別子の取得]
パス識別子pIDが“8”である索引部13のノードリスト13c“nc8”に含まれるノード識別子“6”が、XPath式F“//c/*//a”に適合するノード識別子となる。
[ステップ5;目的ノードの取得]
XPath式処理部14からストレージ部12に取得要求qが送出され、ノード識別子“6”に対応するノードが取得される。
以上のように、この第1の実施例では、XML解析部11でXMLデータinaが解析されてノード単位に分解され、各ノード毎にノード識別子が付与されてXMLデータinbが作成されると共に、作成されたXMLデータinbに対してノード識別子をXPath式Fに基づいて指定するための索引ixが作成され、ストレージ部12でXMLデータinbが保持されると共に、索引部13で索引ixが保持され、XPath式処理部14では、索引ixを用いてXPath式Fに対応したノード識別子が取得され、保持されているXMLデータinbからノード識別子に対応したXMLデータincが取得される。これにより、全XMLデータの探索や、構造ジョインを用いる場合での多数のノード間の先祖子孫関係の判定を行う必要がなくなり、XMLデータinaに対して、XPath式Fに適合する部分の抽出処理が高速に行われる。
この発明の第2の実施例では、図1に示したXPath式処理部14は、XPath式F中のパスに全ての子要素を示す記号が含まれているとき、全ての子要素を示す記号を除去せずにパスを第1のキーとする構成とされている。また、パステーブル13aは、全ての子要素を示す記号が含まれているパスを、パステーブル13aに保持されているテキスト表現のうちの当該パスと共通のテキスト表現を有するパスに変換する構成とされている。
XPath式処理部14では、入力されるXPath式Fに基づいて、たとえば、次のような処理が行われる。
XPath式Fに、たとえば“//c/*//a”のように、パスに全ての子要素を示す記号(*)が含まれているとき
[ステップ1;パス分解]
まず、XPath式F“//c/*//a”が“//”で分解された後、分解されて得られた各パスの前後に“//”が付加され、要素“//c/*//”と要素“//a//”とが得られる。
[ステップ2;候補パスの絞込み]
索引部13のパステーブル13a(図3参照)が検索され、要素“//c/*//”と要素“//a//”に対応する各パス識別子(pID)からなるパス識別子集合{1,7}が得られる。この場合、パステーブル13aは、要素“//c/*//”に対して、共通のテキスト表現を有するパスのパス識別子{7}(パス“//c/b”)が得られるように作成されている。索引部13のパス識別子集合テーブル13bが検索され、パス識別子“1”,“7”に対応するリスト
list(1)={1,2,3,8,9}、及び、
list(7)={7,8}
が得られる。
そして、list(1)とlist(7)との共通部分(共通パス識別子)
list(7)∧list(1)={8}
が求められる。索引部13のパステーブル13aが検索され、パス識別子pIDが{8}に対応するパス“//c/b/a//”が候補パスとして得られる。
[ステップ3;候補パスの検証]
上記で得られたパスをフルパス表現としてみなしたもの(“/c/b/a”)が、XPath式F“//c/*//a”に適合するか否かが判定される。この場合、パス“c/b/a ”は、タグの出現順序がXPath式F“//c/*//a”と一致するため、目的のパス識別子pIDが“8”と判定される。
[ステップ4;目的のノード識別子の取得]
パス識別子pIDが“8”である索引部13のノードリスト13c中の“nc8”に含まれるノード識別子“6”が、XPath式F“//c/*//a”に適合するノード識別子となる。
[ステップ5;目的ノードの取得]
XPath式処理部14からストレージ部12に取得要求qが送出され、ノード識別子“6”に対応するノードが取得される。
以上のように、この第2の実施例では、パステーブル13aが、全ての子要素を示す記号が含まれているパスを、パステーブル13aに保持されているテキスト表現のうちのそのパスと共通のテキスト表現を有するパスに変換する構成とされているので、XPath式F中のパスに全ての子要素を示す記号が含まれているときでも、全ての子要素を示す記号を除去せずに第1の実施例と同様の利点が得られる。
以上、この発明の実施例を図面により詳述してきたが、具体的な構成はこれら実施例に限られるものではなく、この発明の要旨を逸脱しない範囲の設計の変更などがあっても、この発明に含まれる。
たとえば、ノードリスト13cは、XPath式処理部14で取得された第3のキーに対応するパスのテキスト表現中のタグの出現順序がXPath式Fに含まれるパスのテキスト表現中のタグの出現順序と一致するとき、取得した第3のキーに対応するパスに対応する第2のパス識別子をパステーブル13aから取得し、XPath式処理部14と並行して、ノードリスト13cから第2のパス識別子に対応する最終のノード識別子を取得するようにしても良い。この場合、上記各実施例の[ステップ3;候補パスの検証]は、XPath式処理部14と並行して、[ステップ4;目的のノード識別子の取得] でノードリスト13cで行われる。これにより、処理の並列化が行われ、候補パスが多く、検証に時間がかかる場合でも、高速処理が期待できる。
また、上記各実施例のステップ2(候補パスの絞込み)では、パス識別子集合テーブル13bから取得した全てのリスト間で共通パス識別子を求める必要はなく、パス識別子の数が所定の閾値以下になったところで、ステップ3(候補パスの検証)へ移行しても良い。たとえば、パス識別子の数がある閾値以下のリストがある場合、リストをステップ3における入力としても良く、また、リストが複数ある場合は、パス識別子の数が最少のリストを用いる。また、ストレージ部12は、XPath式処理部14からの取得要求qに対応するのみではなく、データの更新及び削除など、一般的なデータベースが有する機能を備えていても良い。
また、索引部13が備えるパス識別子集合テーブル13bに関して、パス識別子(pID)の集合(list)に含むパス識別子は絶対パス(ルート要素からのパス)のパス識別子に限ってもよい。
上記[ステップ2;候補パスの絞込み]において、絞込みの結果から、部分パスとしては存在するが絶対パスとして存在しないパスを除外することができる。
パス識別子(pID)の集合(list)に含むパス識別子を絶対パス(ルート要素からのパス)のパス識別子に限ったパス識別子集合テーブルの内容を図7に示す。
以下、XPath式F“//b//c”が入力された場合で処理の差分を例に示す。
図4に示したパス識別子集合テーブルを用いた場合、上記[ステップ2;候補パスの絞込み]の結果は、list(4)∧list(6)={3,5,7,8}となり、これらが[ステップ3;候補パスの検証]の入力となる。
このうち、パス識別子が5のパス(/b/c)は、絶対パスとしては入力XMLデータ(data1.xml, data2.xml)中に存在しないためこの識別子は冗長である。
一方、図7に示したパス識別子テーブルを用いた場合では、[ステップ2;候補パスの絞込み]の結果は、list(4)∧list(6)={3,7,8}となり、図4に示したパス識別子集合テーブルを用いた場合に含まれていた不要なパス識別子5を除外することができ、この後のステップでパス識別子5に関連した処理を行わずに済むので高速処理が期待できる。
この発明は、XMLデータに対して、XPath式に適合する部分の抽出処理を行う場合全般に適用でき、特に、大量のXMLデータを扱うXMLデータベースを検索する場合に有効である。
以上、実施例を参照して本願発明を説明したが、本願発明は上記実施例に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
この出願は、2007年9月7日に出願された日本出願特願2007−233159を基礎とする優先権を主張し、その開示の全てをここに取り込む。

Claims (12)

  1. 入力された第1のXMLデータに対して、該第1のXMLデータの一部を特定するためのXPath式に適合する部分の抽出処理を行うXMLデータ処理システムであって、
    前記第1のXMLデータを解析してノード単位に分解し、各ノード毎にノード識別子を付与して第2のXMLデータを作成すると共に、該第2のXMLデータに対して前記ノード識別子を前記XPath式に基づいて指定するための索引を作成するXML解析部と、
    該XML解析部で作成された前記第2のXMLデータを保持するXMLデータ保持部と、
    前記XML解析部で作成された前記索引を保持する索引部と、
    該索引部で保持されている前記索引を用いて前記XPath式に対応した前記ノード識別子を取得し、前記XMLデータ保持部にアクセスして該ノード識別子に対応した前記第2のXMLデータを取得するXPath式処理部とを有し、
    前記XML解析部により作成される前記索引は、
    前記第2のXMLデータに含まれる全て又は一部のパスのテキスト表現を、各パス識別子を付与して保持するパステーブルと、
    該パステーブルに保持されている前記各パスを包含するパスに付与された前記パス識別子の集合を、前記各パス識別子毎に保持するパス識別子集合テーブルと、
    前記パステーブルに保持されている前記各パスのうちのフルパスに対応するパス識別子を、前記第2のXMLデータ中の当該フルパスを構成するノードの最終の前記ノード識別子を対応付けて保持するノードリストとから構成され
    前記XPath式処理部は、前記XPath式に含まれるパスのテキスト表現を第1のキーとして前記パステーブルを検索して該第1のキーに対応する第1のパス識別子を取得し、該第1のパス識別子を第2のキーとして前記パス識別子集合テーブルを検索して該第2のキーに対応するパス識別子集合を取得し、取得した前記パス識別子集合の中で共通する共通パス識別子を取得し、取得した前記共通パス識別子を第3のキーとして前記パステーブルを検索して該第3のキーに対応するパスを取得し、取得した前記第3のキーに対応するパスのテキスト表現中のタグの出現順序が前記XPath式に含まれるパスのテキスト表現中のタグの出現順序と一致するとき、取得した前記第3のキーに対応するパスに対応する第2のパス識別子を前記パステーブルから取得し、前記ノードリストから該第2のパス識別子に対応する前記最終のノード識別子を取得し、かつ、前記XMLデータ保持部から、前記最終のノード識別子が付与されたノードで構成されるフルパスに対応する前記第2のXMLデータを取得するXMLデータ処理システム。
  2. 請求項に記載のXMLデータ処理システムにおいて、
    前記XPath式処理部は、前記XPath式中の前記パスに全ての子要素を示す記号が含まれているとき、該全ての子要素を示す記号を除去して前記第1のキーとするXMLデータ処理システム。
  3. 請求項に記載のXMLデータ処理システムにおいて、
    前記XPath式処理部は、前記XPath式中のパスに全ての子要素を示す記号が含まれているとき、該全ての子要素を示す記号を除去せずに当該パスを前記第1のキーとし、
    前記パステーブルは、前記全ての子要素を示す記号が含まれている前記パスを、当該パステーブルに保持されているテキスト表現のうちの当該パスと共通のテキスト表現を有するパスに変換するXMLデータ処理システム。
  4. 請求項1乃至3のいずれか1項に記載のXMLデータ処理システムにおいて、
    前記ノードリストは、前記XPath式処理部で取得された前記第3のキーに対応するパスのテキスト表現中のタグの出現順序が前記XPath式に含まれるパスのテキスト表現中のタグの出現順序と一致するとき、取得した前記第3のキーに対応するパスに対応する前記第2のパス識別子を前記パステーブルから取得し、前記XPath式処理部と並行して、当該ノードリストから該第2のパス識別子に対応する前記最終のノード識別子を取得するXMLデータ処理システム。
  5. XML解析部と、XMLデータ保持部と、索引部と、XPath式処理部とを具備し、入力された第1のXMLデータに対して、該第1のXMLデータの一部を特定するためのXPath式に適合する部分の抽出処理を行うXMLデータ処理システムに用いられるデータ処理方法であって、
    前記XML解析部が、前記第1のXMLデータを解析してノード単位に分解し、各ノード毎にノード識別子を付与して第2のXMLデータを作成すると共に、該第2のXMLデータに対して前記ノード識別子を前記XPath式に基づいて指定するための索引を作成するXML解析処理と、
    前記XMLデータ保持部が、該XML解析処理で作成された前記第2のXMLデータを保持するXMLデータ保持処理と、
    前記索引部が、前記XML解析処理で作成された前記索引を保持する索引保持処理と、
    前記XPath式処理部が、該索引保持処理で保持された前記索引を用いて前記XPath式に対応した前記ノード識別子を取得し、前記XMLデータ保持処理で保持されている前記第2のXMLデータから該ノード識別子に対応した第2のXMLデータを取得するXPath式データ処理とを行い、
    前記XML解析処理により前記索引部が作成する前記索引は、
    前記第2のXMLデータに含まれる全て又は一部のパスのテキスト表現を、各パス識別子を付与して保持するパステーブルと、
    該パステーブルに保持されている前記各パスを包含するパスに付与された前記パス識別子の集合を、前記各パス識別子毎に保持するパス識別子集合テーブルと、
    前記パステーブルに保持されている前記各パスのうちのフルパスに対応するパス識別子を、前記第2のXMLデータ中の当該フルパスを構成するノードの最終の前記ノード識別子を対応付けて保持するノードリストとから構成され
    前記XPath式データ処理では、前記XPath式処理部が、前記XPath式に含まれるパスのテキスト表現を第1のキーとして前記パステーブルを検索して該第1のキーに対応する第1のパス識別子を取得し、該第1のパス識別子を第2のキーとして前記パス識別子集合テーブルを検索して該第2のキーに対応するパス識別子集合を取得し、取得した前記パス識別子集合の中で共通する共通パス識別子を取得し、取得した前記共通パス識別子を第3のキーとして前記パステーブルを検索して該第3のキーに対応するパスを取得し、取得した前記第3のキーに対応するパスのテキスト表現中のタグの出現順序が前記XPath式に含まれるパスのテキスト表現中のタグの出現順序と一致するとき、取得した前記第3のキーに対応するパスに対応する第2のパス識別子を前記パステーブルから取得し、前記ノードリストから該第2のパス識別子に対応する前記最終のノード識別子を取得し、かつ、前記XMLデータ保持部から、前記最終のノード識別子が付与されたノードで構成されるフルパスに対応する前記第2のXMLデータを取得するデータ処理方法。
  6. 請求項に記載のデータ処理方法において、
    前記XPath式データ処理では、前記XPath式中の前記パスに全ての子要素を示す記号が含まれているとき、前記XPath式処理部が、該全ての子要素を示す記号を除去して前記第1のキーとするデータ処理方法。
  7. 請求項に記載のデータ処理方法において、
    前記XPath式データ処理では、前記XPath式中のパスに全ての子要素を示す記号が含まれているとき、前記XPath式処理部が、該全ての子要素を示す記号を除去せずに当該パスを前記第1のキーとし、
    前記パステーブルが、前記全ての子要素を示す記号が含まれている前記パスを、当該パステーブルに保持されているテキスト表現のうちの当該パスと共通のテキスト表現を有するパスに変換するデータ処理方法。
  8. 請求項5乃至7のいずれか1項に記載のデータ処理方法において、
    前記XPath式データ処理で取得された前記第3のキーに対応するパスのテキスト表現中のタグの出現順序が前記XPath式に含まれるパスのテキスト表現中のタグの出現順序と一致するとき、前記ノードリストが、取得した前記第3のキーに対応するパスに対応する前記第2のパス識別子を前記パステーブルから取得し、前記XPath式処理部と並行して、当該ノードリストから該第2のパス識別子に対応する前記最終のノード識別子を取得するデータ処理方法。
  9. 入力された第1のXMLデータに対して、該第1のXMLデータの一部を特定するためのXPath式に適合する部分の抽出処理を行うXMLデータ処理システムを実現するためのXMLデータ処理制御プログラムであって、
    コンピュータを、
    前記第1のXMLデータを解析してノード単位に分解し、各ノード毎にノード識別子を付与して第2のXMLデータを作成すると共に、該第2のXMLデータに対して前記ノード識別子を前記XPath式に基づいて指定するための索引を作成するXML解析手段と、
    該XML解析手段で作成された前記第2のXMLデータを保持するXMLデータ保持手段と、
    前記XML解析手段で作成された前記索引を保持する索引手段と、
    該索引手段で保持されている前記索引を用いて前記XPath式に対応した前記ノード識別子を取得し、前記XMLデータ保持手段にアクセスして該ノード識別子に対応した前記第2のXMLデータを取得するXPath式処理手段として機能させ、
    前記XML解析手段により作成される前記索引は、
    前記第2のXMLデータに含まれる全て又は一部のパスのテキスト表現を、各パス識別子を付与して保持するパステーブルと、
    該パステーブルに保持されている前記各パスを包含するパスに付与された前記パス識別子の集合を、前記各パス識別子毎に保持するパス識別子集合テーブルと、
    前記パステーブルに保持されている前記各パスのうちのフルパスに対応するパス識別子を、前記第2のXMLデータ中の当該フルパスを構成するノードの最終の前記ノード識別子を対応付けて保持するノードリストとから構成され
    前記XPath式処理手段は、前記XPath式に含まれるパスのテキスト表現を第1のキーとして前記パステーブルを検索して該第1のキーに対応する第1のパス識別子を取得し、該第1のパス識別子を第2のキーとして前記パス識別子集合テーブルを検索して該第2のキーに対応するパス識別子集合を取得し、取得した前記パス識別子集合の中で共通する共通パス識別子を取得し、取得した前記共通パス識別子を第3のキーとして前記パステーブルを検索して該第3のキーに対応するパスを取得し、取得した前記第3のキーに対応するパスのテキスト表現中のタグの出現順序が前記XPath式に含まれるパスのテキスト表現中のタグの出現順序と一致するとき、取得した前記第3のキーに対応するパスに対応する第2のパス識別子を前記パステーブルから取得し、前記ノードリストから該第2のパス識別子に対応する前記最終のノード識別子を取得し、かつ、前記XMLデータ保持手段から、前記最終のノード識別子が付与されたノードで構成されるフルパスに対応する前記第2のXMLデータを取得するXMLデータ処理制御プログラム。
  10. 請求項に記載のXMLデータ処理制御プログラムにおいて、
    前記XPath式処理手段は、前記XPath式中の前記パスに全ての子要素を示す記号が含まれているとき、該全ての子要素を示す記号を除去して前記第1のキーとするXMLデータ処理制御プログラム。
  11. 請求項に記載のXMLデータ処理制御プログラムにおいて、
    前記XPath式処理手段は、前記XPath式中のパスに全ての子要素を示す記号が含まれているとき、該全ての子要素を示す記号を除去せずに当該パスを前記第1のキーとし、
    前記パステーブルは、前記全ての子要素を示す記号が含まれている前記パスを、当該パステーブルに保持されているテキスト表現のうちの当該パスと共通のテキスト表現を有するパスに変換するXMLデータ処理制御プログラム。
  12. 請求項9乃至11のいずれか1項に記載のXMLデータ処理制御プログラムにおいて、
    前記ノードリストは、前記XPath式処理手段で取得された前記第3のキーに対応するパスのテキスト表現中のタグの出現順序が前記XPath式に含まれるパスのテキスト表現中のタグの出現順序と一致するとき、取得した前記第3のキーに対応するパスに対応する前記第2のパス識別子を前記パステーブルから取得し、前記XPath式処理手段と並行して、当該ノードリストから該第2のパス識別子に対応する前記最終のノード識別子を取得するXMLデータ処理制御プログラム。
JP2009531159A 2007-09-07 2008-07-23 Xmlデータ処理システム、該システムに用いられるデータ処理方法及びxmlデータ処理制御プログラム Expired - Fee Related JP5347965B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009531159A JP5347965B2 (ja) 2007-09-07 2008-07-23 Xmlデータ処理システム、該システムに用いられるデータ処理方法及びxmlデータ処理制御プログラム

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2007233159 2007-09-07
JP2007233159 2007-09-07
PCT/JP2008/063150 WO2009031370A1 (ja) 2007-09-07 2008-07-23 Xmlデータ処理システム、該システムに用いられるデータ処理方法及びxmlデータ処理制御プログラム
JP2009531159A JP5347965B2 (ja) 2007-09-07 2008-07-23 Xmlデータ処理システム、該システムに用いられるデータ処理方法及びxmlデータ処理制御プログラム

Publications (2)

Publication Number Publication Date
JPWO2009031370A1 JPWO2009031370A1 (ja) 2010-12-09
JP5347965B2 true JP5347965B2 (ja) 2013-11-20

Family

ID=40428693

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009531159A Expired - Fee Related JP5347965B2 (ja) 2007-09-07 2008-07-23 Xmlデータ処理システム、該システムに用いられるデータ処理方法及びxmlデータ処理制御プログラム

Country Status (3)

Country Link
US (1) US8549009B2 (ja)
JP (1) JP5347965B2 (ja)
WO (1) WO2009031370A1 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120101721A1 (en) * 2010-10-21 2012-04-26 Telenav, Inc. Navigation system with xpath repetition based field alignment mechanism and method of operation thereof
US8793273B1 (en) * 2011-06-29 2014-07-29 Google Inc. Parsing framework method and device
JP5958088B2 (ja) * 2012-05-29 2016-07-27 富士通株式会社 更新プログラム、更新方法、および更新装置
US9104730B2 (en) * 2012-06-11 2015-08-11 International Business Machines Corporation Indexing and retrieval of structured documents
US20150032764A1 (en) * 2013-07-26 2015-01-29 Electronics And Telecommunications Research Institute Parallel tree labeling apparatus and method for processing xml document
US10565178B1 (en) * 2015-03-11 2020-02-18 Fair Isaac Corporation Efficient storage and retrieval of XML data
US11210323B2 (en) 2018-04-27 2021-12-28 Microsoft Technology Licensing, Llc Methods and systems for generating property keys corresponding to physical spaces, devices, and/or users
US11456915B2 (en) 2018-05-21 2022-09-27 Microsoft Technology Licensing, Llc Device model templates

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004030569A (ja) * 2002-05-08 2004-01-29 Samsung Electronics Co Ltd 関係型データベースにおいて正規経路式質疑を処理するxmlインデックス方法と資料構造
WO2005119516A1 (ja) * 2004-06-03 2005-12-15 Turbo Data Laboratories Inc. 配列の生成方法、情報処理装置、及び、プログラム

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3632643B2 (ja) 2000-10-25 2005-03-23 松下電器産業株式会社 構造化文書管理装置
DE50212603D1 (de) * 2001-06-25 2008-09-18 Siemens Ag Verfahren zum schnellen suchen von elementen oder attributen oder zur schnellen filterung von fragmenten in binären repräsentationen von strukturierten dokumenten
US7457810B2 (en) * 2002-05-10 2008-11-25 International Business Machines Corporation Querying markup language data sources using a relational query processor
US7366735B2 (en) * 2004-04-09 2008-04-29 Oracle International Corporation Efficient extraction of XML content stored in a LOB
AU2005234002B2 (en) 2004-04-09 2009-12-17 Oracle International Corporation Index for accessing XML data
US7499915B2 (en) * 2004-04-09 2009-03-03 Oracle International Corporation Index for accessing XML data
JP4332109B2 (ja) 2004-12-28 2009-09-16 日本電信電話株式会社 XPath式処理方法、XPath式処理装置及びXPath式処理プログラム
US7698295B2 (en) * 2007-03-09 2010-04-13 International Business Machines Corporation Method and apparatus for handling a LET binding

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004030569A (ja) * 2002-05-08 2004-01-29 Samsung Electronics Co Ltd 関係型データベースにおいて正規経路式質疑を処理するxmlインデックス方法と資料構造
WO2005119516A1 (ja) * 2004-06-03 2005-12-15 Turbo Data Laboratories Inc. 配列の生成方法、情報処理装置、及び、プログラム

Also Published As

Publication number Publication date
JPWO2009031370A1 (ja) 2010-12-09
US20100250551A1 (en) 2010-09-30
WO2009031370A1 (ja) 2009-03-12
US8549009B2 (en) 2013-10-01

Similar Documents

Publication Publication Date Title
JP5347965B2 (ja) Xmlデータ処理システム、該システムに用いられるデータ処理方法及びxmlデータ処理制御プログラム
JP4716709B2 (ja) 構造化文書処理装置、構造化文書処理方法、及びプログラム
US11853334B2 (en) Systems and methods for generating and using aggregated search indices and non-aggregated value storage
US20020147711A1 (en) Apparatus, method, and program for retrieving structured documents
US20140108418A1 (en) Searching code by specifying its behavior
US20140114994A1 (en) Apparatus and Method for Securing Preliminary Information About Database Fragments for Utilization in Mapreduce Processing
JP2008090404A (ja) 文書検索装置、文書検索方法および文書検索プログラム
JP3868171B2 (ja) 文書のデジタル署名付き管理方法および文書管理装置
JP7103763B2 (ja) 情報処理システムおよび情報処理方法
CN102257490A (zh) 文档信息选择方法和计算机程序产品
US8086561B2 (en) Document searching system and document searching method
US20110087698A1 (en) Search expression creating system, search expression creating method, search expression creating program, and recording medium
JP2006127235A (ja) 構造化文書管理システム、構造化文書管理方法及びプログラム
US7949656B2 (en) Information augmentation method
Moscato et al. Overfa: A collaborative framework for the semantic annotation of documents and websites
Councill et al. Towards next generation CiteSeer: A flexible architecture for digital library deployment
Ororbia et al. Big scholarly data in citeseerx: Information extraction from the web
KR100659370B1 (ko) 시소러스 매칭에 의한 문서 db 형성 방법 및 정보검색방법
JP2011159100A (ja) 逐次類似文書検索装置、逐次類似文書検索方法およびプログラム
JP2008269106A (ja) スキーマ抽出方法、情報処理装置、コンピュータプログラム及び記録媒体
US20110022591A1 (en) Pre-computed ranking using proximity terms
JP5160120B2 (ja) 情報検索装置、情報検索方法及び情報検索プログラム
Nalepa et al. Embedding the HeaRT rule engine into a semantic wiki
Cohen et al. XTreePath: A generalization of XPath to handle real world structural variation
Abd El-atey et al. Semantic Data Extraction from Infobox Wikipedia Template

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110613

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130219

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130402

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130507

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130621

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130805

R150 Certificate of patent or registration of utility model

Ref document number: 5347965

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees