JP6589317B2 - 書換装置、処理方法とそのプログラム、および、情報処理装置 - Google Patents

書換装置、処理方法とそのプログラム、および、情報処理装置 Download PDF

Info

Publication number
JP6589317B2
JP6589317B2 JP2015058226A JP2015058226A JP6589317B2 JP 6589317 B2 JP6589317 B2 JP 6589317B2 JP 2015058226 A JP2015058226 A JP 2015058226A JP 2015058226 A JP2015058226 A JP 2015058226A JP 6589317 B2 JP6589317 B2 JP 6589317B2
Authority
JP
Japan
Prior art keywords
column
hierarchical structure
columns
unit
query description
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
Application number
JP2015058226A
Other languages
English (en)
Other versions
JP2016177627A (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 JP2015058226A priority Critical patent/JP6589317B2/ja
Publication of JP2016177627A publication Critical patent/JP2016177627A/ja
Application granted granted Critical
Publication of JP6589317B2 publication Critical patent/JP6589317B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、書換装置、処理方法とそのプログラム、および、情報処理装置に関する。
関係データベース管理システム(Relational DataBase Management System,以下、RDBMSと示す)は、関係モデルに基づく表形式のデータ(以下、テーブルと示す)に対し、ユーザにデータの効率的な検索・更新処理を提供する。図13はテーブルの一例である。テーブル内の行はレコードと呼ばれ、ひとつのデータをあらわす。データはいくつかの属性を持つことができ、テーブル内の列が各属性に対応する。図13のテーブルには、属性として、年齢、身長、体重、性別、血液型が登録されている。そのテーブルに含まれる列の<列名,データ型>一覧を、そのテーブルのスキーマと呼ぶ。
RDBMSのユーザは、テーブルに対する検索・更新処理をプログラミング言語によってRDBMSに指示する。この指示は問合せ(Query)と呼ばれる。問合せを記述するためには、SQL(非特許文献1)というプログラミング言語が標準的に用いられている。SQLを用いると、テーブルの中から条件にあてはまるレコードを簡便かつ効率的に取り出すことができる。また、列名を指定することで、レコードの中から必要な属性のみを取り出すこともできる。
特許文献1には、関係データベース(Relational DataBase,以下、RDBと示す)における全文検索時の応答性能を向上させるために、検索対象となる列集合を「カラム名、データ型、データ長、データ型のカテゴリ名」に制限することが記載されている。
近年、機械学習によるデータ分析処理のなかで、分析の質を高めるためにRDBMSとSQLを利用したデータの変形処理が頻繁におこなわれる。この変形処理は特徴量加工処理(Feature Engineering、以下、FEと示す)と呼ばれ、列(特徴量)同士の操作を主とする。FEの例として、二値展開(Binary Expansion)がある。二値展開は、カテゴリ変数を値として持つ列から、カテゴリ変数の種類それぞれに対応するバイナリ値の列を作成する。各列は、元のカテゴリ変数の値が自身のあらわす種類であった場合1を、そうでない場合は0を格納する。列を二値展開したテーブルの例を図14に示す。図14は、図13に示すテーブルのうち、血液型が二値展開された例である。血液型はA,B,O,ABのいずれか1つをとるカテゴリ変数であり、これを二値展開することでそれぞれに対応した列名として血液型_A,血液型_B,血液型_O,血液型_ABが作成されている。
特許文献2には、構造化データ(例えば、XML)をRDBに格納する際に構造情報として「クラスとクラス間の階層関係」を明示的に与え、複数のテーブルで表現する技術が記載されている。
特開2010−067213号公報 特開2005−202850号公報
"Information technology--Database languages--SQL--Part14:XML-Related Specifications (SQL/XML)"、[online]、ISO/IEC 9075-14:2011、[平成26年6月24日検索]、インターネット(URL:http://www.iso.org/iso/home/store/catalogue_tc/catalogue_detail.htm?csnumber=53686)
上述のようなデータ分析処理に用いるテーブルは、FEによって列が派生することでテーブルの列間に意味的な階層構造を持ち、結果、膨大な数の列となる。そのため、SQLを用いて問合せする場合、ユーザが取得対象となる列群の完全な列名を知らないと、SQLの問合せ記述が指定できない。例えば、図14の二値展開されたテーブルに対する問合せで“血液型_A”という列名を取得対象とする指定はできるが、完全な列名でない“血液型”という列指定はできない。
また、SQLを用いて問合せする場合、ユーザが列間の階層構造に基づく条件を指定できない。例えば、FEによって列Aから列A_1と列A_2が派生した場合に、SQLでは「列Aから派生した全ての列を取得対象とする」という問合せ記述の指示ができない。これは特許文献1、2に記載の技術も同様である。
このように、問合せ記述の記述内容に柔軟性を与え、RDBMSにおけるテーブルの取得対象列を問合せすることが可能な技術が望まれている。
本発明の目的は、上記課題を解決するために、問合せ記述の記述内容に柔軟性を与え、RDBMSにおけるテーブルの取得対象列を問合せする技術を提供することにある。
本発明の書換装置の一態様は、
テーブルの列間の階層構造を用いて取得対象列を指定する列条件文を含む拡張問合せ記述を受付ける拡張受付部と、
前記テーブルの列名と、前記列間の階層構造を示す階層構造情報とを格納する列階層構造格納部と、
前記列階層構造格納部の列名と前記階層構造情報に基づき、前記列条件文に当てはまる列名を抽出し、前記拡張問合せ記述の前記列条件文を前記抽出した列名を用いた列指示文に置き換えて出力する書換部と、
を備える。
本発明の情報処理装置の一態様は、
書換装置と、関係データベース装置とを備え、
前記書換装置は、
テーブルの列間の階層構造を用いて取得対象列を指定する列条件文を含む拡張問合せ記述を受付ける拡張受付部と、前記テーブルの列名と、前記列間の階層構造を示す階層構造情報とを格納する列階層構造格納部と、前記列階層構造格納部の列名と前記階層構造情報に基づき、前記列条件文に当てはまる列名を抽出し、前記拡張問合せ記述の前記列条件文を前記抽出した列名を用いた列指示文に置き換えて出力する書換部と、を有し、
前記関係データベース装置は、
前記テーブルを格納するデータ格納部と、前記出力された問合せ記述を受付け、前記出力された問合せ記述に基づき前記データ格納部からデータを取得する受付部と、を有する。
本発明の処理方法の一態様は、
テーブルの列間の階層構造を用いて取得対象列を指定する列条件文を含む拡張問合せ記述を受付け、
前記テーブルの列名と、前記列間の階層構造を示す階層構造情報を用いて、前記拡張問合せ記述の前記列条件文に当てはまる列名を抽出し、前記拡張問合せ記述の前記列条件文を前記抽出した列名を用いた列指示文に置き換えて出力する。
本発明のプログラムの一態様は、
テーブルの列間の階層構造を用いて取得対象列を指定する列条件文を含む拡張問合せ記述を受付け、
前記テーブルの列名と、前記列間の階層構造を示す階層構造情報を用いて、前記拡張問合せ記述の前記列条件文に当てはまる列名を抽出し、前記拡張問合せ記述の前記列条件文を前記抽出した列名を用いた列指示文に置き換えて出力する、
ことをコンピュータに実行させる。
本発明は、問合せ記述の記述内容に柔軟性を与え、RDBMSにおけるテーブルの取得対象列を問合せすることができる。
第1の実施形態に係る問合せ装置の構成を示すブロック図である。 第1の実施形態で用いる拡張問合せ記述の一例を示す図である。 第1の実施形態に係る書換装置の書換部における書換処理の一例を示す図である。 第1の実施形態に係る書換装置の階層構造格納部で保持する列名の一覧と、列間の階層構造の一例である。 第1の実施形態に係る書換装置の階層構造格納部で保持する列名の一覧と、列間の階層構造の一例である。 階層構造を列条件文として用いる拡張問合せ記述の一例を示す図である。 第1の実施形態に係る問合せ装置の動作を示すフローチャート図である。 第2の実施形態に係る書換装置の構成を示すブロック図である。 第2の実施形態に係る書換装置の一部の動作を示すフローチャート図である。 第2の実施形態におけるスキーマ情報と階層構造の例を示す図である。 第3の実施形態に係る書換装置の構成を示すブロック図である。 本発明の第1〜3の実施形態の書換装置、又は、RDB装置をコンピュータ装置で実現したハードウエア構成を示すブロック図である。 テーブルの一例である。 列を二値展開したテーブルの例を示す図である。
本発明の第1の実施形態に係る書換装置、及び、情報処理装置について、図面を用いて詳細に説明する。なお、以下の例では、情報処理装置の一例として、問合せ装置を用いて説明する。
(構成)
図1は、第1の実施形態に係る問合せ装置の構成を示すブロック図である。図1の各ブロックは、機能単位の構成を表している。図1に示すように、問合せ装置500は、書換装置1000とRDB装置2000で構成されている。書換装置1000は、拡張問合せ記述を受付けて、RDB装置2000の問合せ記述に書き換える機能を有する。RDB装置2000は、受付部2020、データ格納部2100を備える。受付部2020は、レコードの問合せ記述を受け取り、データ格納部2100から問合せ記述の指定するデータを取得する。例えば、受付部2020は、RDBMSの機能の一部である。データ格納部2100は、テーブルのレコード群を保持する。問合せ記述を受け取り、データを格納するデータ格納部2100から問合せ記述に基づくデータを出力する。
次に、第1の実施形態に係る書換装置の構成について説明する。図1に示す書換装置1000は、拡張受付部1020、書換部1040、列階層構造格納部1060を備える。
拡張受付部1020は、レコードの拡張問合せ記述を取得する。拡張問合せ記述は、取得対象の行(行群)を指定する条件文と、取得対象の列(列群)を指定する指示文を含む。列(列群)を指定する指示文は、取得対象の列(列群)を指定する列(列群)の完全な列名、あるいは、全ての列を取得することを指定する指示文(以後、列指示文)である。また、列指示文以外に、列間の階層構造関係に基づく条件、又は、列名の部分文字列に基づく条件を含んだ条件文(以後、列条件文と示す)でもよい。すなわち、第1の実施形態における拡張問合せ記述は、列指示文に加え、列条件文による取得対象の列(列群)の指示が可能となっている。
拡張問合せ記述の一例を図2に示す。図2に示す拡張問合せ記述は、図14に示すテーブルの身体データのうち、20歳以上の人物の身長と血液型(二値展開されたもの)を取得する例である。具体的には、図2中、「身長」が列指示文であり、「/血液型_.*/」が列条件文となる。また「WHERE 年齢>=20」が取得対象の行(行群)を指定する条件文となる。「/血液型_.*/」は列条件の表記に正規表現マッチを用いた拡張問合せ記述である。正規表現における「.」は任意の1文字を意味し、「*」は直前の文字が0個以上を意味する。「.*」は0文字以上の任意の文字列を意味し、「血液型_.*」は「血液型_」を含む文字列を表す。図14に示す二値展開された血液型を取得対象列とする場合、拡張問合せ記述を用いないと全ての血液型の記述が必要となる。これに対し、拡張問合せ記述を用いることにより、問合せ記述の量を削減することができる。
書換部1040は、拡張受付部1020から拡張問合せ記述を受け取り、拡張問合せ記述を列条件文が含まれない形式に変換する。すなわち、書換部1040は、列条件文による問合せができないRDB装置2000の受付部2020で処理が可能な問合せ記述の形式に変換する。具体的には、拡張問合せ記述内に列条件文が含まれている場合、書換部1040は、列階層構造格納部1060から列名とその階層構造情報を取得し、条件に当てはまる列名をそれらの情報より抽出する。続いて、書換部1040は、問合せ記述内の列条件文を、抽出した列名を用いた列指示文で置き換え、出力する。
図3は、書換装置の書換部における書換処理の一例を示す図である。書換部1040は受付けた拡張問合せ記述に列条件文「/血液型_.*/」があるため、列階層構造格納部1060の階層構造情報から条件に当てはまる列名「血液型_A,血液型_B,血液型_O,血液型_AB」を取得する。続いて、書換部1040は拡張問合せ記述の列条件文を、抽出した列名を用いた列指示文で置き換えて出力する。
なお、書換装置1000は、列条件文が含まれない問合せ記述(拡張問合せ記述ではない)も受けることができる。問合せ記述内に列条件文が含まれていない場合は、書換部1040は問合せ記述に変更を加えず、問合せ記述を出力する。
列階層構造格納部1060は、列名の一覧と、列間の階層構造を示す階層構造情報を保持する。階層構造情報の例を図4に示す。図4に示す階層構造情報は列間の階層構造が木構造で表現されている。第1の実施形態では、図4に示すような階層構造情報がテーブルの列名の情報に基づき事前に定義され列階層構造格納部1060に保持されているものとする。
図5は、列名が階層構造を表す例である。図5は第1階層として「列1」、「列2」を有し、第2階層として「列1」と関連する「列1_1」、「列1_2」を有する。さらに第3階層として「列1_2」と関連する「列1_2_1」を有する。列名が階層構造を有するときに、列名の階層構造の中でn番目(nは1以上の整数)の階層に存在する列群を[depth=n]と規定することで、列条件として列名の階層構造を指定することができる。例えば、テーブル名、ExampleTableの列名が、「列1」、「列1_1」、「列1_2」、「列2」、「列1_2_1」という5個の列を持ち、図5に示す列間の階層構造を有するとする。このとき、テーブルの取得対象列として「列1_1」、「列1_2」を選択する問合せ記述は、列名から得られる階層構造を列条件文として記述できる(図6)。このように列名から得られる階層構造を列条件文として用いることで、階層位置を指定した列名の取得が可能となる。
なお、列階層構造格納部1060における列名の一覧と、階層構造情報の格納先は主記憶であってもよいし、二次記憶であってもよい。例えば、列名の一覧はデータベース内にテーブルとして保持することができる。また、階層構造情報も単純な木構造であれば、入れ子モデルによりデータベース内にテーブルとして保持することができる。
上記の第1の施形態では、書換装置1000とRDB装置2000をそれぞれ別々の装置として説明したが、一つの装置として構成してもよい。書換装置1000とRDB装置2000を1つの装置として構成する場合、書換部1040と受付部2020を1つの機能部として設けることもできる。
(動作)
図7は、第1の実施形態に係る問合せ装置500の動作を示すフローチャートである。図7中、S100は、書換装置1000の動作を示し、S110は、RDB装置2000の動作を示す。以下、書換装置1000、及び、RDB装置2000の動作を説明することで問合せ装置500の動作を説明する。
まず、書換装置1000の拡張受付部1020は、レコードの問合せ記述を取得する(S102)。書換部1040は問合せ記述内に列条件文が含まれるか否かを判断する(S104)。問合せ記述に列条件文が含まれない(拡張問合せ記述でない)場合(S104:NO)、書換部1040は書換処理をせずに問合せ記述を出力する。問合せ記述に列条件文が含まれる場合(S104:YES)、書換部1040は、列階層構造格納部1060から列名とその階層構造情報を取得し(S106)、階層構造情報から列条件文に当てはまる列名を抽出する。続いて、書換部1040は、拡張問合せ記述内の列条件文を、抽出した列名を用いた列指示文に置き換え(S108)、置き換えた問合せ記述を出力する。
RDB装置2000の受付部2020は、書換装置1000からの置き換えられた問合せ記述を受け取り、データ格納部2100から問合せ記述の指定するデータを取得する(S110)。
(効果)
第1の実施形態によれば、問合せ記述の記述内容に柔軟性を与え、RDBMSにおけるテーブルの取得対象列を問合せすることができる。問合せ装置は書換装置を備え、書換装置はテーブルの列間の階層構造を用いて取得対象列を指定する列条件文を含む拡張問合せ記述を受付ける。続いて、書換装置の書換部は、列階層構造格納部のテーブルの列名と列間の階層構造情報に基づき、列条件文に当てはまる列名を抽出し、拡張問合せ記述の列条件文を前記抽出した列名を用いた列指示文に置き換えて出力する。
このように、拡張問合せ記述によって、テーブル列名の部分的な情報、又は、列名から得られる階層構造に基づく条件を指定することができ、ユーザが完全な列名を知らなくとも問合せが記述できる。また、拡張問合せ記述は問合せ記述と比べ簡潔となる。
(第2の実施形態)
次に、本発明の第2の実施形態について、図面を用いて説明する。第2の実施形態に係る書換装置は、第1の実施形態に係る書換装置の列階層構造格納部で保持される列名の一覧、及び、列間の階層構造を更新する機能を備える。なお、第2の実施形態に係る書換装置1002の説明において、第1の実施形態に係る書換装置1000と同様の構成要素については同様の符号を付して、適宜説明を省略する。
(構成)
図10は、第2の実施形態に係る書換装置1002を例示するブロック図である。図10において、各ブロックは、機能単位の構成を表している。
第2の実施形態に係る書換装置1002は、第1の実施形態に係る書換装置1000の構成に加え、スキーマ受付部1120、スキーマ格納部1140,階層構造抽出部1160、抽出ルール格納部1180を備える。
スキーマ受付部1120は、テーブルのスキーマ、すなわちテーブル内の列名と列のデータ型が指定された情報(以下、スキーマ情報と示す)を装置外部より受け取り、スキーマ格納部1140に格納する。
スキーマ格納部1140は、スキーマ受付部1120より取得したスキーマ情報を保持する。スキーマ情報は列の名前と列のデータ型を含む。
階層構造抽出部1160は、抽出ルール格納部1180に格納された階層構造の抽出ルールに基づき、スキーマ格納部1140内のスキーマ情報から列間の階層構造を算出し、列階層構造格納部1060に格納する。
抽出ルール格納部1180は、スキーマ情報から列間の階層構造を抽出するための抽出ルールを格納する。抽出ルールの一例としては、スキーマ情報を入力し、列間の階層構造である木構造を出力するプログラムが挙げられる。例えば、列名一覧からパトリシア木を構築するプログラムによって、列間の階層構造を構築することができる。パトリシア木は、文字列集合を格納するトライ木に基づく特殊化された集合データ構造であり、基数木の辺は単一の文字ではなく文字の並びでラベル付けされる。
(動作)
図11は、第2の実施形態に係る書換装置1002の動作の一部を示すフローチャートである。具体的には、書換装置1002のうち、スキーマ受付部1120、スキーマ格納部1140,階層構造抽出部1160、抽出ルール格納部1180による動作を示す。
まず、スキーマ受付部1120はスキーマ情報を取得し、スキーマ格納部1140に格納する(S202)。階層構造抽出部1160は、抽出ルール格納部1180から階層構造抽出ルールを取得し、取得した階層構造抽出ルールに基づき、スキーマ格納部1140のスキーマ情報から列間の階層構造を抽出する(S204)。
図9に、スキーマ情報と列間の階層構造の一例を示す。図9のスキーマ情報がスキーマ格納部1140に登録されると、階層構造抽出部1160は抽出ルール格納部1180から抽出ルールを取得し、取得した抽出ルールを用いて図9の列間の階層構造を抽出する。抽出ルールは、例えば、名称の一覧からパトリシア木を構築するようなプログラムでもよい。なお、抽出ルールは、これに限られるものではなく、スキーマ情報から階層構造を抽出できるものであればよい。
階層構造抽出部1160は、算出した階層構造を列階層構造格納部1060に格納する(S206)。
なお、スキーマ受付部1120、階層構造抽出部1160によるS202〜S206の処理は、図7に示す書換装置1000によるS100の処理前に実行されることが望ましい。
本実施形態によれば、列名又はデータ型などのスキーマ情報から列間に階層構造を抽出することができる。例えば、繰り返しFEによって新たにテーブルに列名が追加された場合でもスキーマ情報から列間の階層構造を抽出し、書換装置の列階層構造格納部に登録することができる。これにより、拡張問合せ記述を利用できるRDBMSを増やすことができる。
(第3の実施形態)
図10は、第3の実施形態に係る書換装置1004の構成を示すブロック図である。図10において、各ブロックは、機能単位の構成を表している。第3の実施形態に係る書換装置1004は、第2の実施形態に係る書換装置1002に加え、抽出ルール受付部2200を備える。抽出ルール受付部2200は、スキーマ情報から階層構造を抽出するための抽出ルールを取得し、抽出ルール格納部1180に格納する。
例えば、抽出ルール受付部2200が抽出ルール格納部1180に格納した抽出ルールを「列は、自身の親となる列名を上から順に‘_’で結合し、自身の元の列名を末尾に‘_‘と共に追加する」とする。ここで、スキーマ受付部1120が図10に示すスキーマ情報を受付けると、階層構造抽出部1160は、格納された上述の抽出ルールを用いて図10のスキーマ情報の列名から列の階層構造を抽出する。
第3の実施形態によれば、列名などのスキーマ情報から列間の階層構造を抽出する抽出ルールをユーザが自由に定義し、スキーム情報から階層構造を抽出できるようになる。
(活用例)
第1〜3の実施形態の活用例として、機械学習処理によるデータ分析機能を有するRDBMSに適用することが挙げられる。データ分析の精度の向上のためにRDBMSが管理するテーブルに対して頻繁に前処理するとテーブルの列数が膨大となる。また、分析案件毎に独自の命名規則(ルール)を定める、あるいは、列間に暗黙的な階層構造を定めることも多くなる。このような状態のテーブルは、SQLの操作が煩雑となる。
本実施形態を適用することで、データ分析の前処理によって膨大な列群となったテーブルであっても所望の列群を取得することができる。
また、拡張問合せ記述の適用により、問合せ記述の表記を簡潔にすることができる。これにより、RDBMSのユーザの記述労力を削減できるだけではなく、問合せ記述の読解あるいは識別も容易となる。したがって、利用勝手のよいデータ分析向けRDBMSを提供することができる。
(ハードウエア構成)
図12は、本発明の第1〜3の実施形態における問合せ装置500、書換装置1000、1002、1004、又は、RDB装置2000をコンピュータ装置で実現したハードウエア構成を示す図である。
図12に示すように、問合せ装置、又は、RDB装置は、CPU(Central Processing Unit)91、ネットワーク接続用の通信I/F(通信インターフェース)92、メモリ93、及び、プログラムを格納するハードディスク等の記憶装置94を含む。また、CPUは、システムバス97を介して入力装置95及び、出力装置96に接続されている。
CPU91は、オペレーティングシステムを動作させて本発明の第1〜3の実施形態に係る問合せ装置、又は、RDB装置を制御する。またCPU91は、例えば、ドライブ装置に装着された記録媒体からメモリ93にプログラムやデータを読み出す。
また、CPU91は、例えば、入力される情報信号を処理する機能を有し、プログラムに基づいて拡張受付部1020、書換部1040、スキーマ受付部1120、階層構造抽出部1160、抽ルール受付部1200各種機能の処理を実行する。
記憶装置94は、例えば、光ディスク、フレキシブルディスク、磁気光ディスク、外付けハードディスク、又は半導体メモリ等である。記憶装置94の一部の記憶媒体は、不揮発性記憶装置であり、そこにプログラムを記憶する。また、プログラムは、通信網に接続されている。図示しない外部コンピュータからダウンロードされてもよい。
入力装置95は、例えば、マウス、キーボード、内臓のキーボタン、カード取込口、又は、タッチパネルなどで実現され、入力操作に用いられる。
出力装置96は、例えば、ディスプレイで実現され、CPU91により処理された情報等を出力して確認するために用いられる。
以上のように、本発明の各実施形態は、図12に示されるハードウエア構成によって実現される。但し、問合せ装置、RDBMSが備える各部の実現手段は、特に限定されない。すなわち、問合せ装置は、物理的に結合した一つの装置により実現されてもよいし、物理的に分離した二つ以上の装置を有線又は無線で接続し、これら複数の装置により実現してもよい。
以上、実施形態(及び実施例)を参照して本願発明を説明したが、本願発明は上記実施形態(及び実施例)に限定されものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
91 CPU
92 通信I/F(通信インターフェース)
93 メモリ
94 記憶装置
95 入力装置
96 出力装置
97 システムバス
500 問合せ装置
1000、1002、1004 書換装置
1020 拡張受付部
1040 書換部
1060 列階層構造格納部
1120 スキーマ受付部
1140 スキーマ格納部
1160 階層構造抽出部
1180 抽出ルール格納部
2000 RDB装置
2020 受付部
2100 データ格納部

Claims (14)

  1. テーブルの列間の階層構造を用いて取得対象列を指定する列条件文を含む拡張問合せ記述を受付ける拡張受付部と、
    前記テーブルの列名と、前記列間の階層構造を示す階層構造情報とを格納する列階層構造格納部と、
    前記列階層構造格納部の列名と前記階層構造情報に基づき、前記列条件文に当てはまる列名を抽出し、前記拡張問合せ記述の前記列条件文を前記抽出した列名を用いた列指示文に置き換えて出力する書換部と、
    を備える書換装置。
  2. 前記テーブルの列名を含むスキーマ情報を受付けるスキーマ受付部と、
    前記スキーマ情報から前記列間の階層構造を抽出する階層構造抽出部と、を備える、
    請求項1記載の書換装置。
  3. 前記スキーマ情報は、さらに列のデータ型を含む、請求項2記載の書換装置。
  4. 前記スキーマ情報から前記列間の階層構造を抽出するための抽出ルールを保持する抽出ルール格納部と、を備え、
    前記階層構造抽出部は、
    前記抽出ルールに基づき、前記スキーマ情報から前記列間の階層構造を抽出する、
    請求項2記載の書換装置。
  5. 前記スキーマ情報に含まれる前記列名の一覧から前記列間の階層構造を抽出する、
    請求項4に記載の書換装置。
  6. 前記抽出ルールが、前記スキーマ情報に含まれる前記列名からのパトリシア木の構築である、請求項4に記載の書換装置。
  7. 前記抽出ルールを受付け、前記抽出ルール格納部に保存する抽出ルール受付部を備える、
    請求項4から6のいずれか1つに記載の書換装置。
  8. 前記列間の階層構造が木構造又は入れ子構造である、
    請求項1から7のいずれか1に記載の書換装置。
  9. 前記拡張問合せ記述は、取得対象の列の階層構造の深さを列条件に含む、
    請求項1から8のいずれか1つに記載の書換装置。
  10. 前記拡張問合せ記述は、正規表現を列条件指定に含む、
    請求項1から8のいずれか1つに記載の書換装置。
  11. 書換装置と、関係データベース装置とを備え、
    前記書換装置は、
    テーブルの列間の階層構造を用いて取得対象列を指定する列条件文を含む拡張問合せ記述を受付ける拡張受付部と、
    前記テーブルの列名と、前記列間の階層構造を示す階層構造情報とを格納する列階層構造格納部と、
    前記列階層構造格納部の列名と前記階層構造情報に基づき、前記列条件文に当てはまる列名を抽出し、前記拡張問合せ記述の前記列条件文を前記抽出した列名を用いた列指示文に置き換えて出力する書換部と、を有し、
    前記関係データベース装置は、
    前記テーブルを格納するデータ格納部と、
    前記出力された問合せ記述を受付け、前記出力された問合せ記述に基づき前記データ格納部からデータを取得する受付部と、を有する
    情報処理装置。
  12. 前記書換装置が、前記関係データベース装置に搭載された、
    請求項11に記載の情報処理装置。
  13. 拡張受付部によって、テーブルの列間の階層構造を用いて取得対象列を指定する列条件文を含む拡張問合せ記述を受付け、
    書換部によって、列階層構造格納部に格納されたテーブルの列名と、前記列間の階層構造を示す階層構造情報を用いて、前記拡張問合せ記述の前記列条件文に当てはまる列名を抽出し、前記拡張問合せ記述の列条件文を前記抽出した列名を用いた列指示文に置き換えて出力する、処理方法。
  14. 拡張受付部によって、テーブルの列間の階層構造を用いて取得対象列を指定する列条件文を含む拡張問合せ記述を受付け、
    書換部によって、列階層構造格納部に格納されたテーブルの列名と、前記列間の階層構造を示す階層構造情報を用いて、前記拡張問合せ記述の前記列条件文に当てはまる列名を抽出し、前記拡張問合せ記述の列条件文を前記抽出した列名を用いた列指示文に置き換えて出力する、ことをコンピュータに実行させるプログラム。
JP2015058226A 2015-03-20 2015-03-20 書換装置、処理方法とそのプログラム、および、情報処理装置 Active JP6589317B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015058226A JP6589317B2 (ja) 2015-03-20 2015-03-20 書換装置、処理方法とそのプログラム、および、情報処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015058226A JP6589317B2 (ja) 2015-03-20 2015-03-20 書換装置、処理方法とそのプログラム、および、情報処理装置

Publications (2)

Publication Number Publication Date
JP2016177627A JP2016177627A (ja) 2016-10-06
JP6589317B2 true JP6589317B2 (ja) 2019-10-16

Family

ID=57070236

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015058226A Active JP6589317B2 (ja) 2015-03-20 2015-03-20 書換装置、処理方法とそのプログラム、および、情報処理装置

Country Status (1)

Country Link
JP (1) JP6589317B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114742049B (zh) * 2022-04-11 2023-05-05 平安科技(深圳)有限公司 不完整语句的重写及模型的训练方法、装置和相关设备

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0415841A (ja) * 1990-05-09 1992-01-21 Nec Corp リレーショナルデータベースシステムの表データ展開表示装置
JP3581009B2 (ja) * 1998-03-12 2004-10-27 株式会社日立製作所 データ検索システム及びデータ検索方法
JP4623446B2 (ja) * 2004-06-08 2011-02-02 敬史 田島 データ管理プログラムおよびデータ管理システム
US7895190B2 (en) * 2008-06-25 2011-02-22 International Business Machines Corporation Indexing and querying XML documents stored in a relational database

Also Published As

Publication number Publication date
JP2016177627A (ja) 2016-10-06

Similar Documents

Publication Publication Date Title
JP4256416B2 (ja) データ構造変換システム及びプログラム
JP5121146B2 (ja) 構造化文書管理装置、構造化文書管理プログラムおよび構造化文書管理方法
US7409636B2 (en) Lightweight application program interface (API) for extensible markup language (XML)
US8140596B2 (en) System and method for the derivation and application of sub-iteration contexts in a transformation operation in a data integration system
KR101083563B1 (ko) 데이터베이스 관리 방법 및 시스템
JP2008052662A (ja) 構造化文書管理システム及びプログラム
JP5800441B2 (ja) 文書の圧縮、解凍及び照会のための方法及び装置
JP2008090403A (ja) 文書検索装置、文書検索方法および文書検索プログラム
JP2006053724A (ja) Xmlデータ管理方法
JP2005227851A (ja) 構造化データ記憶方法および装置
JP5844824B2 (ja) Sparqlクエリ最適化方法
CN105589813B (zh) 一种电子文档版本变化跟踪方法
JP6589317B2 (ja) 書換装置、処理方法とそのプログラム、および、情報処理装置
KR20070099689A (ko) 데이터베이스 관리 장치 및 데이터베이스 관리 방법
JP2010165272A (ja) 情報処理方法、情報処理装置、及びプログラム
JP5488792B2 (ja) データベース操作装置、データベース操作方法、及びプログラム
JP2013218627A (ja) 構造化文書からの情報抽出方法、装置、及びプログラム
JP5162215B2 (ja) データ処理装置、データ処理方法、および、プログラム
Koch et al. Representation of CityGML instance models in BaseX
JP2009251845A (ja) 検索結果評価装置及び検索結果評価方法
JP2019125025A (ja) システム、文書データの管理方法、及びプログラム
JP2019168758A (ja) データ処理装置、データ処理方法及びデータ処理プログラム
JP5374456B2 (ja) 文書検索装置の動作方法およびこれをコンピュータに実行させるためのコンピュータプログラム
JP5903372B2 (ja) キーワード関連度スコア算出装置、キーワード関連度スコア算出方法、及びプログラム
JP2008140157A (ja) 構造化文書処理装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180215

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190122

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190118

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190319

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190902

R150 Certificate of patent or registration of utility model

Ref document number: 6589317

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150