JP2014153961A - 情報処理装置、情報処理方法及び情報処理プログラム - Google Patents

情報処理装置、情報処理方法及び情報処理プログラム Download PDF

Info

Publication number
JP2014153961A
JP2014153961A JP2013023834A JP2013023834A JP2014153961A JP 2014153961 A JP2014153961 A JP 2014153961A JP 2013023834 A JP2013023834 A JP 2013023834A JP 2013023834 A JP2013023834 A JP 2013023834A JP 2014153961 A JP2014153961 A JP 2014153961A
Authority
JP
Japan
Prior art keywords
graph structure
data
storage unit
node
information
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.)
Pending
Application number
JP2013023834A
Other languages
English (en)
Inventor
Keisuke Minami
圭祐 南
Daisuke Ajifu
大介 安次富
Masataka Goto
真孝 後藤
Shinya Murai
信哉 村井
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2013023834A priority Critical patent/JP2014153961A/ja
Priority to US14/173,940 priority patent/US20140229496A1/en
Publication of JP2014153961A publication Critical patent/JP2014153961A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9024Graphs; Linked lists

Landscapes

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

Abstract

【課題】処理速度の低下を防止することができる情報処理装置、情報処理方法及び情報処理プログラムを提供する。
【解決手段】実施形態の情報処理装置は、第1記憶部と、第2記憶部と、変換処理部と、を有する。第1記憶部は、ノードに関するエッジの一覧をノードの情報とするグラフ構造を有するデータを記憶する。第2記憶部は、グラフ構造とは異なる非グラフ構造を有してデータ要素間の相互関係を表すデータを記憶する。変換処理部は、第1記憶部が記憶するデータに対して、データ構造をグラフ構造から非グラフ構造へ変換し、第2記憶部に記憶させる。
【選択図】図1

Description

本発明の実施形態は、情報処理装置、情報処理方法及び情報処理プログラムに関する。
従来、リレーショナルデータベースでは効率的に表現しにくいデータを表現するグラフデータベースが知られている。また、高速な探索を可能にするさまざまなグラフデータベース技術が検討されている。
特開2010−79871号公報
しかしながら、グラフデータベースには、ノードのエッジ数が多すぎる場合などのように、記憶されるデータによっては処理負荷が非常に大きくなり、処理速度が低下してしまうという問題があった。本発明が解決しようとする課題は、処理速度の低下を防止することができる情報処理装置、情報処理方法及び情報処理プログラムを提供することである。
実施形態の情報処理装置は、第1記憶部と、第2記憶部と、変換処理部と、を有する。第1記憶部は、ノードに関するエッジの一覧をノードの情報とするグラフ構造を有するデータを記憶する。第2記憶部は、グラフ構造とは異なる非グラフ構造を有してデータ要素間の相互関係を表すデータを記憶する。変換処理部は、第1記憶部が記憶するデータに対して、データ構造をグラフ構造から非グラフ構造へ変換し、第2記憶部に記憶させる。
実施形態にかかる情報処理装置の構成を例示するブロック図。 実施形態にかかる情報処理装置の動作例を示すフローチャート。 実施形態の第1記憶部が記憶するグラフ構造のデータと、第2記憶部がデータを記憶する非グラフ構造とを例示する図。 図3に示したグラフ構造のデータを構造変換部が最適化した第1例を示す図。 図3に示したグラフ構造のデータを構造変換部が最適化した第2例を示す図。 図3に示したグラフ構造のデータを構造変換部が最適化した第3例を示す図。 実施形態にかかる情報処理装置がクエリを処理する場合の動作例を示すフローチャート。 実施形態の第1記憶部が記憶するグラフ構造のデータ(対向ノードが葉ノードでない場合)を例示する図。 対向ノードが葉ノードでない場合に、実施形態にかかる情報処理装置が実行する第3の処理例を示す図。
以下に添付図面を参照して、実施形態にかかる情報処理装置について説明する。
(実施形態)
図1は、実施形態にかかる情報処理装置100の構成を例示するブロック図である。なお、情報処理装置100は、例えば、汎用のコンピュータなどによって実現される。即ち、情報処理装置100は、CPU、記憶装置及び通信インターフェイスなどを備えたコンピュータとしての機能を有する。
図1に示すように、情報処理装置100は、第1記憶部10、第2記憶部12、第3記憶部14、構造変換部16及び判定部18を有する。第1記憶部10、第2記憶部12及び第3記憶部14は、例えば単一又は複数のHDD(Hard Disk Drive)などによって構成される。構造変換部16及び判定部18は、ハードウェア回路、又はCPUで実行するソフトウェアのいずれであってもよい。
第1記憶部10は、ノードに関するエッジの一覧をノードの情報とするグラフ構造を有するデータを記憶する。例えば、第1記憶部10は、グラフ構造のデータを記憶してグラフデータベースを構成する。
第2記憶部12は、グラフ構造とは異なる非グラフ構造を有してデータ要素間の相互関係を表すデータを記憶する。例えば、第2記憶部12は、主としてキーとバリューからなるプロパティ構造を有するデータを記憶する。具体的には、第2記憶部12は、グラフデータベースのノードのプロパティを記憶したり、KVS(キーバリューストア)、列指向データベース、RDBMS(リレーショナルデータベース管理システム)などを構成する。
構造変換部16は、変換処理部160及び逆変換処理部162を有し、第1記憶部10及び第2記憶部12にアクセスを行って後述する変換処理情報を第3記憶部14に記憶させる。変換処理部160は、判定部18の判定結果(後述)に基づいて、第1記憶部10が記憶するデータに対して、データ構造をグラフ構造から非グラフ構造へ変換し、第2記憶部12に記憶させる。逆変換処理部162は、判定部18の判定結果(後述)に基づいて、第2記憶部12が記憶するデータに対して、データ構造を非グラフ構造からグラフ構造へ変換し、第1記憶部10に記憶させる。
判定部18は、第1記憶部10又は第2記憶部12が記憶するデータを例えば構造変換部16を介して取得し、データをグラフ構造又は非グラフ構造のいずれのデータ構造にして記憶させるべきであるかを予め定められた判定条件に基づいて判定する。ここで、判定部18は、ノードに関するエッジの数、ノードのエッジに対するアクセス頻度、ノードのエッジを探索する計算量、ノードのエッジに対する最後のアクセスからの時間、及びノードのエッジに接合している他のノードが葉ノードであるか否かの少なくともいずれかが予め定められた判定条件を用いて判定する。つまり、判定部18は、第1記憶部10又は第2記憶部12に記憶させるデータの最適なデータ構造を判定している。
また、判定部18は、以下の少なくとも1つの場合に判定を行うように構成されてもよい。例えば、判定部18は、第1記憶部10が記憶するデータが更新される毎に、予め定められた判定条件に基づいて判定する。また、判定部18は、判定開始を指示する指示情報を取得した場合、又は予め定められた周期で判定を行う。また、判定部18は、第1記憶部10が記憶するデータに対して読出しクエリが実行された後に判定を行う。
そして、判定部18が判定した最適なデータ構造の判定結果に基づいて、構造変換部16は、データ構造の変換を行う。第3記憶部14は、構造変換部16がデータ構造を変換して記憶させた結果を示す情報(履歴)を変換処理情報として記憶する。例えば、構造変換部16は、第1記憶部10が記憶するデータに対して、変換処理部160がデータ構造をグラフ構造から非グラフ構造へ変換して第2記憶部12に記憶させた場合、その旨を少なくとも示す変換処理情報を第3記憶部14に記憶させる。
上述したように、第1記憶部10が記憶するデータは、あるノードにエッジを介して繋がれたノードを高速に探し出せるグラフ構造になっている。具体的には、あるノードに関するエッジの一覧がそのノードの情報として保持されており、エッジには対向ノード(エッジに接合している他のノード)の情報へのポインタが含まれている。よって、ノードからノードへエッジを辿って移動するためには、エッジに含まれるポインタに従うだけでよい。つまり、ノード全体(総数N)からあるノードに関する情報を探し出す処理O(logN)〜O(N)は、不要である。
一方、あるノードに関するエッジの数Mが非常に大きくなってしまうと、ノードからエッジや隣接ノードを探し出す処理がO(M)であるため、Mが小さい場合に比べて情報を探し出す処理時間(計算量)が大幅に増加してしまう。従って、あるノードに関するエッジの数Mを小さくすることが、情報処理装置100全体の処理性能の向上に繋がると考えられる。以下、ノードに関するエッジの数を予め定められた数よりも少なくすること等によって、グラフ構造のデータに対する処理(計算量)が過大になることを防止することを最適化と記すことがある。
次に、情報処理装置100の動作について詳述する。図2は、情報処理装置100の動作例を示すフローチャートである。まず、判定部18は、第1記憶部10が記憶するグラフ構造のデータの中から、データ構造を変換して記憶させるべきデータの候補(以下、最適化対象ノード)となるノードを探し出す処理を開始する(S100)。
具体例として、判定部18は、ノード毎にエッジ数が閾値を超えているか否かを判定する(S102)。ここで、判定部18は、エッジ数Mが多すぎる(例えばノード数Nと同数以上のエッジを有している)ノードを最適化対象ノードとする(第1判定条件)。判定部18は、エッジ数が閾値を超えているノード(S102:Yes)に対してはS104の処理を開始する。また、判定部18は、ノードのエッジ数が閾値以下である場合には残っている別のノードに対する判定を行う(S102:No)。
次に、判定部18は、エッジ数Mが多すぎるノードの中から、データ構造を変換して記憶させるべきデータ(変換対象データ)を探し出す処理を開始する(S104)。
例えば、判定部18は、予め定められた条件を満たすエッジであるか否かをエッジ毎に判定する(S106)。ここで、判定部18は、例えばアクセス頻度が閾値未満(例えばアクセス頻度が1%未満)のエッジを変換対象データとする(第2判定条件)。判定部18は、アクセス頻度が閾値未満のエッジ(S106:Yes)に対してはS108の処理を開始する。また、判定部18は、エッジのアクセス頻度が閾値以上である場合には残っている別のエッジに対する判定を行う(S106:No)。
S108の処理において、変換処理部160は、変換対象データと判定されたエッジのデータ構造を変換してプロパティ化(図4等参照)することにより、最適化対象ノードのエッジ数を削減する。
S110の処理において、変換処理部160は、データ構造を変換してプロパティ化したデータ(グラフ構造から非グラフ構造へ変換したデータ)を第2記憶部12に記憶させる。
情報処理装置100の動作例では、最適化対象ノードの変換対象データに対してデータ構造を変換する場合を例に説明したが、情報処理装置100の動作はこれに限定されない。また、変換処理部160がデータ構造を変換して第2記憶部12に記憶させたデータ(エッジ)は、第1記憶部10から削除されてもよいし、探索されない(エッジでない)ように削除マークを付されて区別されるだけでもよい。即ち、情報処理装置100は、最適化対象ノードの処理対象となるエッジ数を削減することにより、最適化対象ノードに関する処理速度を向上させることができる。例えば、最適化対象ノードが有するエッジ数が100から10に減少した場合、最適化対象ノードに関する処理(計算量)は1/10となる。
次に、データ構造の変換について詳述する。図3は、第1記憶部10が記憶するグラフ構造のデータと、第2記憶部12がデータを記憶する非グラフ構造とを例示する図である。ここで、図3(a)は、第1記憶部10が記憶する最適化前のグラフ構造のデータを例示している。図3(b)は、第2記憶部12がデータを記憶する非グラフ構造を例示している。なお、情報処理装置100が最適化を実行する前には、第2記憶部12にはデータが記憶されていないものとする。
図3(a)に示すように、第1記憶部10は、例えば3つのノード1〜3(id=1,2,3)と2つのエッジ(type=hate、type=like)からなるグラフ構造のデータを記憶している。ノードのidは、最適化対象ノードを一意に識別可能な情報(ID)であり、情報1とする。エッジの種類(type)や名前(name)を表す情報は、情報2とする。最適化対象ノードとエッジを介して接合されている他方のノード(対向ノード)を一意に識別可能な情報(ID)、又は対向ノードを表す(人間が)可読な名前情報は、情報3とする。ここで、例えば「人」とは、type=humanの全てのノードを指す。
グラフ構造のデータに対するクエリは、例えば「Aさんが好きな映画のタイトルは?」といったものである。このクエリを図3(a)に示したデータにあてはめて厳密に表現すると、「nameがAであるtype=humanのノード(id=1)に対し、type=likeのエッジを介して接合されているtype=movieのノード(id=3)のnameを表示」となる。
また、図3(b)に示すように、第2記憶部12は、情報1〜3からなるデータをプロパティ構造(非グラフ構造)データとして記憶する。
(最適化の第1例)
図4は、図3に示したグラフ構造のデータを構造変換部16が最適化(変換)した第1例を示す図である。図4(a)に示すように、例えばtype=likeのエッジは最適化によって第1記憶部10から削除される。なお、破線で示したエッジ(又はノード)は、削除された(又は削除と同等に処理対象とされない)ものであることを示している。
一方、図4(b)に示すように、第2記憶部12は、第1記憶部10から削除されたエッジの情報(変換処理部160が変換した情報)を記憶している。ここでは、第2記憶部12は、対向ノードを一意に表す識別可能な情報(ID=id3)を情報3としている。
図4に示した状態では、「ノード(id=1)に対してtype=likeのエッジを介して接合されているノード」が第1記憶部10に存在しない。よって、上述したクエリと同じクエリでは、最適化前と同じ処理結果を得ることはできない。例えば、第3記憶部14は、type=likeのエッジが第2記憶部12に存在することを示す変換処理情報を記憶する。これにより、クエリに対し、第2記憶部12が記憶しているデータを利用して、ノード1(id=1)が好き(like)なノードはノード3(id=3)であり、最終的にノード3のnameを表示することが可能となる。
このように、最適化において、情報処理装置100は、単に最適化対象ノードが有するエッジを削除するのではなく、削除したエッジの情報(データ)をグラフ構造とは異なるデータ構造で第2記憶部12に記憶しておく。よって、情報処理装置100は、最適化後であっても、第1記憶部10から削除したエッジの情報(データ)を第2記憶部12から読み出して利用することが可能である。
(最適化の第2例)
図5は、図3に示したグラフ構造のデータを構造変換部16が最適化(変換)した第2例を示す図である。図5(a)に示すように、例えばtype=likeのエッジ、及びノード3(id=3)は第1記憶部10から削除される。一方、図5(b)に示すように、第2記憶部12は、第1記憶部10から削除された情報(変換処理部160が変換した情報)を記憶している。ここでは、第2記憶部12は、対向ノードを表す(人間)可読な名前情報を情報3としている。
図5に示した状態でも、図4に示した状態とほぼ同じ処理結果を得ることが可能である。ただし、ノード3の情報が人間可読な名前情報として表現されているため、クエリがノード3に接合されたノードをさらに辿っていくようなものである場合には対応できない。例えば「Aさんが好きな映画、に出演している人が好きな食べ物」のようなクエリには対応できない。そこで、情報処理装置100は、削除したノード3が葉ノードでない場合には、図5に示した最適化にともなって支障が出る場合があるので、図8,9を用いて後述するような処理をさらに行う。
(最適化の第3例)
図6は、図3に示したグラフ構造のデータを構造変換部16が最適化(変換)した第3例を示す図である。図6に示すように、例えばtype=likeのエッジ、及びノード3(id=3)は第1記憶部10から削除される。さらに、最適化の第3例では、情報処理装置100は、対向ノードを表す(人間)可読な名前情報を情報3とし、削除したエッジとノードの情報をノード1(id=1)のプロパティ(一点鎖線で囲んだ範囲)として記憶する。つまり、最適化の第3例では、ノード1のプロパティが第2記憶部12の代わりとなっている。図6に示した状態でも、図5に示した状態とほぼ同じ処理結果を得ることが可能である。また、情報処理装置100は、削除したノード3が葉ノードでない場合には、図6に示した最適化にともなって支障が出る場合があるので、図8,9を用いて後述するような処理をさらに行う。
図7は、情報処理装置100が上述したクエリを処理する場合の動作例を示すフローチャートである。図7に示すように、ステップ200(S200)において、CPU(図示せず)は、ノード(name=A、type=human)を取得する。
ステップ202(S202)において、CPUは、エッジ(type=like)の記憶場所が第1記憶部10又は第2記憶部12のいずれであるかを判定する。CPUは、エッジ(type=like)の記憶場所が第1記憶部10である場合にはS204の処理に進む。また、CPUは、エッジ(type=like)の記憶場所が第2記憶部12である場合にはS210の処理に進む。
ステップ204(S204)において、CPUは、エッジ(type=like)を取得する。
ステップ206(S206)において、CPUは、S204の処理で取得したエッジに接合されるノードを取得する。
ステップ208(S208)において、CPUは、S206の処理で取得したノードのnameを出力する。
ステップ210(S210)において、CPUは、第2記憶部12から情報2がlikeであるデータを取得する。
ステップ212(S212)において、CPUは、S210の処理で取得したデータの情報3がIDであるか否かを判定する。CPUは、取得したデータの情報3がIDである場合(S212:Yes)には、S214の処理に進む。また、CPUは、取得したデータの情報3がIDでない場合(S212:No)には、S218の処理に進む。
ステップ214(S214)において、CPUは、ノード(id=情報3)を取得する。
ステップ216(S216)において、CPUは、S214の処理で取得したノードのnameを出力する。
ステップ218(S218)において、CPUは、情報3を出力する。
次に、対向ノードが葉ノードでない場合に、情報処理装置100が行う処理について説明する。図8は、第1記憶部10が記憶するグラフ構造のデータ(対向ノードが葉ノードでない場合)を例示する図である。図8に示すように、対向ノード(=ノード3)が葉ノードでない場合、情報処理装置100は、例えば以下の処理(第1〜第3の処理例)のいずれかを行う。
第1の処理例として、情報処理装置100は、対向ノードが葉ノードでない場合には、最適化(データ構造の変換)を実行しない。また、第2の処理例として、情報処理装置100は、対向ノードが葉ノードでない場合には、最適化の第1例(図4)を実行し、最適化の第2例(図5)又は最適化の第3例(図6)を実行しない。また、第3の処理例として、情報処理装置100は、対向ノードが葉ノードでない場合には、対向ノードに接合された他のノード(対向ノードの対向ノード)をすべて最適化対象ノードとみなし、最適化を実行する。
図9は、対向ノードが葉ノードでない場合に情報処理装置100が実行する第3の処理例を示す図である。図9に示すように、第3の処理例において、情報処理装置100は、対向ノード(削除されるノード:図8におけるid=3のノード)と接続されたノード(id=4)も最適化対象ノードとみなして最適化を実行する。ここで、ノード3(id=3)と2つのエッジ(type=like、type=performer)の情報は、ノード1又はノード4のプロパティ(一点鎖線で囲んだ範囲)として記憶されている。
ただし、第3の処理例では、上述した「Aさんが好きな映画、に出演している人が好きな食べ物」というようなクエリには対応できない。しかし、「食べ物Eを好きな人が出演している作品」というように、ノード3から先を辿らないクエリであれば対応することができる。
このように、情報処理装置100は、第1記憶部10が記憶するデータに対して、データ構造をグラフ構造から非グラフ構造へ変換処理部160などによって変換し、第2記憶部12に記憶させることにより、処理速度の低下を防止することができる。
また、情報処理装置100は、データ構造を非グラフ構造からグラフ構造へ逆変換処理部162などによって逆変換することも可能である。例えば、更新処理などの影響により、最適化対象ノードのエッジ数が十分小さくなった場合、又は第2記憶部12が記憶するデータへのアクセス頻度が上昇した場合などに、逆変換処理部162は、逆変換を行う。つまり、逆変換処理部162は、これらの場合に第2記憶部12が記憶するデータのデータ構造を非グラフ構造からグラフ構造へ変換(逆変換)し、第1記憶部10に記憶させる。
例えば、図4に示した状態においてデータ構造を非グラフ構造からグラフ構造へ変換する場合、逆変換処理部162は、第2記憶部12が記憶している情報1が示すノードから情報3が示すノードに向かってエッジを作成する。ここで、逆変換処理部162は、エッジの種類や名前として、情報2を使う。
また、図5又は図6に示した状態においてデータ構造を非グラフ構造からグラフ構造へ変換する場合、逆変換処理部162は、まず情報3からノードを作成する(このノードの種類や名前として情報3を使う)。ここで、逆変換処理部162は、もし同じ情報を有するノードが既に存在していれば、存在しているノードを用いる。次に、逆変換処理部162は、情報1が示すノードから、作成した(又は既存の用いた)ノードに向かってエッジを作成し、そのエッジの種類や名前として情報2を使う。
さらに、情報処理装置100は、最適化対象ノードのエッジをリスト構造などで管理せず、エッジや対向ノードのIDなどに基づくツリー構造(B−Treeなど)によって管理するようにデータの構造を変更されてもよい。具体的には、例えば、第1記憶部10は、ノードに関するエッジ、又はノードのエッジに接合している他のノードを一意に識別する識別情報に基づくツリー構造により、ノードに関するエッジの一覧をノードの情報とするグラフ構造を有するデータを記憶する。これにより、情報処理装置100は、特定のIDを持つエッジや対向ノードをO(logM)の計算量で検索することが可能になる。
本実施形態の情報処理装置で実行される情報処理プログラムは、インストール可能な形式又は実行可能な形式のファイルでCD−ROM、フレキシブルディスク(FD)、CD−R、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録されて提供される。
また、本実施形態の情報処理装置で実行される情報処理プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。
また、本発明のいくつかの実施形態を複数の組み合わせによって説明したが、これらの実施形態は例として提示したものであり、発明の範囲を限定することは意図していない。これら新規の実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
10 第1記憶部
12 第2記憶部
14 第3記憶部
16 構造変換部
18 判定部
100 情報処理装置
160 変換処理部
162 逆変換処理部

Claims (11)

  1. ノードに関するエッジの一覧を前記ノードの情報とするグラフ構造を有するデータを記憶する第1記憶部と、
    前記グラフ構造とは異なる非グラフ構造を有してデータ要素間の相互関係を表すデータを記憶する第2記憶部と、
    前記第1記憶部が記憶するデータに対して、データ構造を前記グラフ構造から前記非グラフ構造へ変換し、前記第2記憶部に記憶させる変換処理部と、
    を有する情報処理装置。
  2. データを前記グラフ構造又は前記非グラフ構造のいずれのデータ構造にして記憶させるべきであるかを予め定められた判定条件に基づいて判定する判定部をさらに有し、
    前記変換処理部は、
    前記第1記憶部が記憶するデータに対して、前記非グラフ構造にして記憶させるべきであると前記判定部が判定した場合、データ構造を前記グラフ構造から前記非グラフ構造へ変換し、前記第2記憶部に記憶させる
    請求項1に記載の情報処理装置。
  3. 前記判定部は、
    前記ノードに関するエッジの数、前記ノードのエッジに対するアクセス頻度、前記ノードのエッジを探索する計算量、前記ノードのエッジに対する最後のアクセスからの時間、及び前記ノードのエッジに接合している他のノードが葉ノードであるか否かの少なくともいずれかが予め定められた判定条件に基づいて判定する
    請求項2に記載の情報処理装置。
  4. 前記第2記憶部が記憶するデータに対して、前記グラフ構造にして記憶させるべきであると前記判定部が判定した場合に、データ構造を前記非グラフ構造から前記グラフ構造へ変換し、前記第1記憶部に記憶させる逆変換処理部をさらに有する
    請求項2に記載の情報処理装置。
  5. 前記第1記憶部が記憶するデータに対して、前記変換処理部がデータ構造を前記グラフ構造から前記非グラフ構造へ変換し、前記第2記憶部に記憶させたことを少なくとも示す変換処理情報を記憶する第3記憶部をさらに有する
    請求項1に記載の情報処理装置。
  6. 前記判定部は、
    前記第1記憶部が記憶するデータが更新される毎に、予め定められた判定条件に基づいて判定する
    請求項2に記載の情報処理装置。
  7. 前記判定部は、
    判定開始を指示する指示情報を取得した場合、又は予め定められた周期で判定を行う
    請求項2に記載の情報処理装置。
  8. 前記判定部は、
    前記第1記憶部が記憶するデータに対して読出しクエリが実行された後に判定を行う
    請求項2に記載の情報処理装置。
  9. 前記第1記憶部は、
    前記ノードに関するエッジ、又は前記ノードのエッジに接合している他のノードを一意に識別する識別情報に基づくツリー構造によって前記ノードに関するエッジの一覧を前記ノードの情報とするグラフ構造を有するデータを記憶する
    請求項1に記載の情報処理装置。
  10. ノードに関するエッジの一覧を前記ノードの情報とするグラフ構造を有するデータを記憶する第1記憶部と、前記グラフ構造とは異なる非グラフ構造を有してデータ要素間の相互関係を表すデータを記憶する第2記憶部と、を有する情報処理装置にデータを記憶させる情報処理方法であって、
    前記第1記憶部が記憶するデータに対して、データ構造を前記グラフ構造から前記非グラフ構造へ変換する工程と、
    データ構造を前記グラフ構造から前記非グラフ構造へ変換したデータを前記第2記憶部に記憶させる工程と、
    を含む情報処理方法。
  11. ノードに関するエッジの一覧を前記ノードの情報とするグラフ構造を有するデータを記憶する第1記憶部と、前記グラフ構造とは異なる非グラフ構造を有してデータ要素間の相互関係を表すデータを記憶する第2記憶部と、を有する情報処理装置にデータを記憶させる情報処理プログラムであって、
    前記第1記憶部が記憶するデータに対して、データ構造を前記グラフ構造から前記非グラフ構造へ変換するステップと、
    データ構造を前記グラフ構造から前記非グラフ構造へ変換したデータを前記第2記憶部に記憶させるステップと、
    をコンピュータに実行させるための情報処理プログラム。
JP2013023834A 2013-02-08 2013-02-08 情報処理装置、情報処理方法及び情報処理プログラム Pending JP2014153961A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2013023834A JP2014153961A (ja) 2013-02-08 2013-02-08 情報処理装置、情報処理方法及び情報処理プログラム
US14/173,940 US20140229496A1 (en) 2013-02-08 2014-02-06 Information processing device, information processing method, and computer program product

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013023834A JP2014153961A (ja) 2013-02-08 2013-02-08 情報処理装置、情報処理方法及び情報処理プログラム

Publications (1)

Publication Number Publication Date
JP2014153961A true JP2014153961A (ja) 2014-08-25

Family

ID=51298225

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013023834A Pending JP2014153961A (ja) 2013-02-08 2013-02-08 情報処理装置、情報処理方法及び情報処理プログラム

Country Status (2)

Country Link
US (1) US20140229496A1 (ja)
JP (1) JP2014153961A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020187644A (ja) * 2019-05-16 2020-11-19 ヤフー株式会社 情報処理装置、情報処理方法、及び情報処理プログラム
JP2021099545A (ja) * 2019-12-19 2021-07-01 エヌ・ティ・ティ・コムウェア株式会社 情報検索装置、情報検索方法、およびプログラム
JP2021099546A (ja) * 2019-12-19 2021-07-01 エヌ・ティ・ティ・コムウェア株式会社 情報検索装置、情報検索方法、およびプログラム
JP7495269B2 (ja) 2020-04-21 2024-06-04 株式会社日立製作所 データ管理システムおよびデータ管理方法

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180246987A1 (en) * 2015-09-04 2018-08-30 Entit Software Llc Graph database management
WO2017044119A1 (en) * 2015-09-11 2017-03-16 Hewlett Packard Enterprise Development Lp Graph database and relational database mapping
US10956504B2 (en) * 2015-09-23 2021-03-23 Micro Focus Llc Graph database query classification based on previous queries stored in repository
US10417134B2 (en) * 2016-11-10 2019-09-17 Oracle International Corporation Cache memory architecture and policies for accelerating graph algorithms

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06250896A (ja) * 1993-02-25 1994-09-09 Nec Corp 関連情報変換装置
WO2014109009A1 (ja) * 2013-01-09 2014-07-17 株式会社日立製作所 データベースの管理方法、管理計算機及び記憶媒体

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7219102B2 (en) * 2003-12-22 2007-05-15 International Business Machines Corporation Method, computer program product, and system converting relational data into hierarchical data structure based upon tagging trees
US8290977B2 (en) * 2004-10-21 2012-10-16 Sybase Inc. Database system providing methodology for execution of functions in XML queries
US7747610B2 (en) * 2006-11-10 2010-06-29 Sybase, Inc. Database system and methodology for processing path based queries
US20110131200A1 (en) * 2009-12-01 2011-06-02 Sybase, Inc. Complex path-based query execution
US10909733B2 (en) * 2010-03-18 2021-02-02 Micro Focus Llc Graph transformation
JP5100820B2 (ja) * 2010-11-25 2012-12-19 株式会社東芝 問合せ式変換装置、方法およびプログラム
US8825711B2 (en) * 2012-08-13 2014-09-02 Magnet Systems, Inc. Managing cross-correlated data

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06250896A (ja) * 1993-02-25 1994-09-09 Nec Corp 関連情報変換装置
WO2014109009A1 (ja) * 2013-01-09 2014-07-17 株式会社日立製作所 データベースの管理方法、管理計算機及び記憶媒体

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020187644A (ja) * 2019-05-16 2020-11-19 ヤフー株式会社 情報処理装置、情報処理方法、及び情報処理プログラム
JP7330756B2 (ja) 2019-05-16 2023-08-22 ヤフー株式会社 情報処理装置、情報処理方法、及び情報処理プログラム
JP2021099545A (ja) * 2019-12-19 2021-07-01 エヌ・ティ・ティ・コムウェア株式会社 情報検索装置、情報検索方法、およびプログラム
JP2021099546A (ja) * 2019-12-19 2021-07-01 エヌ・ティ・ティ・コムウェア株式会社 情報検索装置、情報検索方法、およびプログラム
JP7460363B2 (ja) 2019-12-19 2024-04-02 エヌ・ティ・ティ・コムウェア株式会社 情報検索装置、情報検索方法、およびプログラム
JP7495269B2 (ja) 2020-04-21 2024-06-04 株式会社日立製作所 データ管理システムおよびデータ管理方法

Also Published As

Publication number Publication date
US20140229496A1 (en) 2014-08-14

Similar Documents

Publication Publication Date Title
JP2014153961A (ja) 情報処理装置、情報処理方法及び情報処理プログラム
CN110168523B (zh) 改变监测跨图查询
JP5626733B2 (ja) 個人情報匿名化装置及び方法
KR101496179B1 (ko) 데이터 부재 태깅 기반의 정보 검색 시스템 및 방법
US20180081937A1 (en) Virtual edge of a graph database
US9940459B1 (en) Methods and devices for detection of malware
JP6281225B2 (ja) 情報処理装置
US20150356129A1 (en) Index generating device and method, and search device and search method
CN107958023A (zh) 数据同步方法、数据同步装置和计算机可读存储介质
JPWO2017072890A1 (ja) データ管理システム、データ管理方法およびプログラム
JP2013218636A (ja) クラスタリング処理装置、クラスタリング処理方法、及びプログラム
CN109213972B (zh) 确定文档相似度的方法、装置、设备和计算机存储介质
JP6282714B1 (ja) 算出装置、算出方法、及び算出プログラム
JP2010072823A (ja) データベース管理システムおよびプログラム
JP5958539B2 (ja) 情報処理装置、ファイル管理方法、及びファイル管理プログラム
JP5494817B2 (ja) ストレージシステム、データ管理装置、方法及びプログラム
US9928274B2 (en) Dynamically adjust duplicate skipping method for increased performance
JP6110354B2 (ja) 異種記憶サーバおよびそのファイル記憶方法
JP5867208B2 (ja) データモデル変換プログラム、データモデル変換方法およびデータモデル変換装置
JPWO2013172309A1 (ja) ルール発見システムと方法と装置並びにプログラム
JP2015045995A (ja) 仮想データベースシステム管理装置、管理方法及び管理プログラム
WO2022219804A1 (ja) 情報処理装置、作成方法、及び作成プログラム
JP6194980B2 (ja) 検索プログラム、検索方法、及び情報処理装置
JP5953277B2 (ja) データ索引装置、データ索引方法及びプログラム
JP2022522214A (ja) 移動中のデータの処理技術

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150915

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20151102

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160719

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160715

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20170207