JP2016085580A - 文書情報管理システム、文書情報管理方法、及びプログラム - Google Patents
文書情報管理システム、文書情報管理方法、及びプログラム Download PDFInfo
- Publication number
- JP2016085580A JP2016085580A JP2014217567A JP2014217567A JP2016085580A JP 2016085580 A JP2016085580 A JP 2016085580A JP 2014217567 A JP2014217567 A JP 2014217567A JP 2014217567 A JP2014217567 A JP 2014217567A JP 2016085580 A JP2016085580 A JP 2016085580A
- Authority
- JP
- Japan
- Prior art keywords
- document
- node
- schema
- document information
- xml
- 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
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【課題】グラフデータベースに文書情報を格納し、文書情報内の記述内容から自動的に関連情報の抽出を行うことを可能とする。【解決手段】文書情報管理システムにおいて、ノードとエッジからなるグラフデータを格納するデータベースと、文書情報からなるマークアップ文書群の型情報を記述しているスキーマを読み込み、当該スキーマを解析するスキーマ解析手段と、前記マークアップ文書群を読み込み、当該マークアップ文書群を解析し、当該マークアップ文書群の各要素をノードに変換し、要素間の親子関係をエッジに変換することによりグラフデータを生成し、当該グラフデータを前記データベースに格納する変換手段と、を備え、前記変換手段は、前記スキーマ解析手段により得られた型情報に基づいて、前記マークアップ文書群に含まれる文書情報の要素間の同一性を判定することによって、異なるマークアップ文書にまたがる関連情報をエッジとして生成する。【選択図】図7
Description
本発明は、文書情報を管理する技術に関連し、特に、ソフトウェア開発における設計書等の設計情報の管理において利用する技術に関連するものである。
ソフトウェアの設計情報は、従来はオフィス文書作成ソフトで多く作成されていた。しかし、オフィス文書作成ソフトで作成された設計情報は、複数のファイルにまたがった検索が不便であったり、プログラムの階層構造やプログラムとデータの関係性等の、ソフトウェアの設計情報の持つ構造や関係性を表現できない問題がある。そこで、この問題を解決するために、設計情報を何らかの方法でデータベース化して、検索性を向上させたり、構造を表現したりする技術が開発されている。設計情報のデータベース化の方法としては、モデルベースのソフトウェア設計支援ツールの利用と文書管理システムの利用という大きく2つのアプローチがある。
モデルベースのソフトウェア設計支援ツールは、UML等のソフトウェア設計のためのモデルに従って、ソフトウェア設計情報をコンピュータ上に記録できるツールである。UMLは、ソフトウェア内の階層関係等の構造と関係性を表現することができるから、上記の問題を解決することができる。しかし、UML自体の普及が十分でなかったこと、特定のベンダのツールに縛られることが好まれなかったこと、オフィス文書作成ソフトに比較して使い勝手が悪かったこと、複数社による開発に馴染まなかったこと等の原因によって十分に普及していないのが現実である。
文書管理システムとは、コンピュータ上で作成された電子文書を効率的に管理するためのシステムであり、検索性を向上することができる。文書管理システムにおける電子文書の表記形式は様々あるが、よく使われている形式の1つにXML形式がある。文書管理システムの内部のデータベースには、一般的には関係データベース(RDB)が利用されることが多い。
しかし、近年では新しいデータモデルによる各種データベースが開発・提供されており、グラフデータベースがその一つとして注目されている。そこで、以下にXML技術とグラフデータベース技術について説明する。
(XML及びXMLスキーマについて)
XMLとはマークアップ言語の一つであり、XMLで記述された文書は構造化され、構造に意味を持ったデータである。図1にXML文書とその構造の例を示す。
XMLとはマークアップ言語の一つであり、XMLで記述された文書は構造化され、構造に意味を持ったデータである。図1にXML文書とその構造の例を示す。
図1に示すように、XML文書は木構造モデルであり、根のノードをルート要素、値(記述内容)をテキストノード、タグ中に記述されたものを属性(データモデルの属性と区別するため、以降「XML属性」と呼ぶ)、テキストノードとXML属性以外のノードを要素と呼ぶ。また、データ全体をXMLドキュメントと呼ぶ。
また、XMLドキュメントの形式を規定するためのXMLスキーマがあり、XML Schema(非特許文献4)を代表とする標準技術として制定されている。例えば、図2のリスト1に示すように定義し、book要素の下には、title、date、chapter要素を保持でき、title要素のテキストノードは文字列型、date要素のテキストノードは日付型、といったことが規定されている。
(グラフデータ及びグラフデータベース)
グラフデータとは、ノード群とノード間の関係を表すエッジ群で構成されるデータ構造である。図3にグラフデータの例を示す。
グラフデータとは、ノード群とノード間の関係を表すエッジ群で構成されるデータ構造である。図3にグラフデータの例を示す。
図3に示す例は、エッジが向きを有するが、エッジが向きを有しない構造もある。また、ノード及びエッジにプロパティ(属性及び属性値)を複数保持させる場合もある(これはプロパティグラフと呼ばれる)。グラフデータは、非常に汎用的なデータ構造であり、表現力が高い。例えば木構造もグラフ構造の一部と見ることもできる。
このようなデータ群を効率的に扱うデータベースとして、グラフデータベースがある(例えば、非特許文献1〜3等)。従来の関係データベース(RDB)でも、機能的にはグラフデータを管理することは可能であるが、ノードからノードへエッジを辿っていく処理を多段に行うような操作の実行には性能的に問題がある。逆に言えば、グラフデータベースはそのような操作の実行を高速に行えるように設計されている。
Neo4j the Graph Database、http://www.neo4j.org/、平成26年10月17日検索
AllegroGraph RDFStore、http://www.franz.com/agraph/allegrograph/、平成26年10月17日検索
infoGrid WebGraph Database、http://infogrid.org/、平成26年10月17日検索
XML Scheama、http://www.w3.org/XML/Schema、平成26年10月17日検索
従来の文書管理システムでは、多数の電子文書を格納し、特定の項目(管理IDや日付等)による検索や、全文検索といった機能により、個別の求める文書を探し出すことが、高速に行える。
しかし、文書間の関連を管理し、その関連を活用した機能は十分とは言えない。例えば、ある文書群とそれぞれに関連する文書群を探したいといった場合、例えば以下の3つの手法を用いることが考えられるが、それぞれ問題点を持っている。
第1の手法として、全文検索機能を用いることが考えられる。しかし、この手法では、ユーザが適切な検索キーワードを指定する必要があり、適切な検索キーワードを発見するために試行錯誤することになる。
第2の手法として、データベースのジョイン操作を用いることが考えられる。しかし、この手法を用いて高速に実行するためには、ジョイン条件とする項目に対しインデクスを作成しておく、といった事前準備・設計が必要となる。
第3の手法として、各文書に関連を表すメタ情報を付与し、それを利用した検索を行うことが考えられるが、この手法では、メタ情報の付与及びその管理コストが大きくなる。
このような問題点を解決するために、関連を容易に管理できるグラフデータベースを利用することが考えられるが、グラフデータベースは前述したような辿る処理(トラバース)に特化して設計されており、文書管理システムに必要とされる、条件を指定して必要な部分を切り出すような検索処理的な機能は不十分であった。
本発明は上記の点に鑑みてなされたものであり、グラフデータベースに文書情報を格納し、文書情報内の記述内容から自動的に関連情報の抽出を行うことを可能とする技術を提供することを目的とする。
本発明の実施の形態によれば、ノードとエッジからなるグラフデータを格納するグラフデータベースと、
管理対象となる文書情報からなるマークアップ文書群の型情報を記述しているスキーマを読み込み、当該スキーマを解析するスキーマ解析手段と、
前記マークアップ文書群を読み込み、当該マークアップ文書群を解析し、当該マークアップ文書群の各要素をノードに変換し、要素間の親子関係をエッジに変換することによりグラフデータを生成し、当該グラフデータを前記グラフデータベースに格納する変換手段と、を備え、
前記変換手段は、前記スキーマ解析手段により得られた型情報に基づいて、前記マークアップ文書群に含まれる文書情報の要素間の同一性を判定することによって、異なるマークアップ文書にまたがる関連情報をエッジとして生成する
ことを特徴とする文書情報管理システムが提供される。
管理対象となる文書情報からなるマークアップ文書群の型情報を記述しているスキーマを読み込み、当該スキーマを解析するスキーマ解析手段と、
前記マークアップ文書群を読み込み、当該マークアップ文書群を解析し、当該マークアップ文書群の各要素をノードに変換し、要素間の親子関係をエッジに変換することによりグラフデータを生成し、当該グラフデータを前記グラフデータベースに格納する変換手段と、を備え、
前記変換手段は、前記スキーマ解析手段により得られた型情報に基づいて、前記マークアップ文書群に含まれる文書情報の要素間の同一性を判定することによって、異なるマークアップ文書にまたがる関連情報をエッジとして生成する
ことを特徴とする文書情報管理システムが提供される。
また、本発明の実施の形態によれば、ノードとエッジからなるグラフデータを格納するグラフデータベースを備える文書情報管理システムにおいて実行される文書情報管理方法であって、
管理対象となる文書情報からなるマークアップ文書群の型情報を記述しているスキーマを読み込み、当該スキーマを解析するスキーマ解析ステップと、
前記マークアップ文書群を読み込み、当該マークアップ文書群を解析し、当該マークアップ文書群の各要素をノードに変換し、要素間の親子関係をエッジに変換することによりグラフデータを生成し、当該グラフデータを前記グラフデータベースに格納する変換ステップと、を備え、
前記変換ステップにおいて、前記スキーマ解析ステップにより得られた型情報に基づいて、前記マークアップ文書群に含まれる文書情報の要素間の同一性を判定することによって、異なるマークアップ文書にまたがる関連情報をエッジとして生成する
ことを特徴とする文書情報管理方法が提供される。
管理対象となる文書情報からなるマークアップ文書群の型情報を記述しているスキーマを読み込み、当該スキーマを解析するスキーマ解析ステップと、
前記マークアップ文書群を読み込み、当該マークアップ文書群を解析し、当該マークアップ文書群の各要素をノードに変換し、要素間の親子関係をエッジに変換することによりグラフデータを生成し、当該グラフデータを前記グラフデータベースに格納する変換ステップと、を備え、
前記変換ステップにおいて、前記スキーマ解析ステップにより得られた型情報に基づいて、前記マークアップ文書群に含まれる文書情報の要素間の同一性を判定することによって、異なるマークアップ文書にまたがる関連情報をエッジとして生成する
ことを特徴とする文書情報管理方法が提供される。
本発明の実施の形態によれば、グラフデータベースに文書情報を格納し、文書情報内の記述内容から自動的に関連情報の抽出を行うことを可能とする技術が提供される。
以下、図面を参照して本発明の実施の形態を説明する。なお、以下で説明する実施の形態は一例に過ぎず、本発明が適用される実施の形態は、以下の実施の形態に限られるわけではない。例えば、本実施の形態では、管理の対象を設計書情報としているが、これは例であり、本発明は設計書情報に限らず構造及び関係性を有する文書情報全般に適用可能である。また、以下では、マークアップ言語としてXMLを使用しているが、XML以外でも本発明を適用できる。なお、マークアップ言語で記述した文書をマークアップ文書と呼ぶことができる。マークアップ文書には、XML文書の他、XML以外のマークアップ言語で記述された文書も含まれる。
本実施の形態では、グラフデータベースを使ってXML形式で記述された設計書情報を格納し、設計書情報内の記述内容から自動的に関連の抽出・管理を実現する技術が提供される。以下、まず、基本的な技術内容を説明し、その後に、実施例としてより具体的な例を説明する。
(基本的な技術内容)
文書間の関連には様々な種類があるが、文書内の表記パターンとして典型的なものは、関連を持つ双方の文書内に、同じ意味を示す項目と内容が記述されているものである。一例として、ソフトウェア開発の設計書を例にとって説明する。
文書間の関連には様々な種類があるが、文書内の表記パターンとして典型的なものは、関連を持つ双方の文書内に、同じ意味を示す項目と内容が記述されているものである。一例として、ソフトウェア開発の設計書を例にとって説明する。
図4(a)に画面設計書の例(リスト2)を示し、図4(b)に処理設計書の例(リスト3)を示す。これら2つの文書間には、例えば以下の関連がある。
すなわち、リスト2が示す画面からリスト3が示す処理が呼び出される、という意味的な関連があり、これはリスト2の12行目「呼出し処理」と、リスト3の3行目「処理名」が、同一の記述であることで表されている。
また、リスト2が示す画面とリスト3が示す処理は、同じ設計者によって設計されている、という意味的な関連があり、これはリスト2の13〜16行目「設計者」と、リスト3の10〜13行目「設計者」が、同一の記述であることで表されている。
なお、リスト2の5行目「要素名」と、リスト3の2行目の「サブシステム名」は、「ITEM1」という記述は同一であるが、項目として意味が異なるため、関連はない。つまり、同じ意味を持つ項目と同じ意味を持つ内容を見つけ出すことで、関連を抽出できる。本実施の形態では、XMLスキーマを利用してこれを自動的に抽出することとしている。XMLスキーマでは、各要素に対しデータ型(型情報)を規定できるため、これを利用し、同じデータ型のものを同じ意味を示す項目であると判定する。また、内容の同一性はその記述同士で判定できる。
<項目の同一性について>
例えば、図4に示したリスト2、3のXML文書に対し、図5に示すようなXMLスキーマを記述することで、項目の同一性を判定できる。
例えば、図4に示したリスト2、3のXML文書に対し、図5に示すようなXMLスキーマを記述することで、項目の同一性を判定できる。
すなわち、リスト4の16行目で画面設計書の「呼出し処理」を、24行目で処理設計書の「処理名」を、同じデータ型(単純型)として42行目の「処理名type」で定義しており、17行目で画面設計書の「設計者」を、34行目で処理設計書の「設計者」を、同じデータ型(複合型)として44〜48行目の「設計者type」で定義している。
<内容の同一性について>
内容の同一性に関しては、必要に応じて様々な判定基準を定義できるが、まずは最も単純な例として完全一致を判定基準とした場合について説明する。
内容の同一性に関しては、必要に応じて様々な判定基準を定義できるが、まずは最も単純な例として完全一致を判定基準とした場合について説明する。
この場合、例えば図6に示すようなグラフデータとして文書を構造化し管理(保持)する。従来は文書単位でデータベースへ格納・管理しているのに対し、本実施の形態では、文書群全体での構造化を行う。図6に示すように、「PROC1」、「設計者」が項目・内容が同一として判定され、同一ノードで双方の文書から共有されている。
記述の完全一致を内容の同一性の判定基準とした場合はこのように同一のノードとするが、そうでない場合は個別のノードとし、2つのノード間に関連を示す特別なエッジを作成することで表現できる。
<システム構成例、動作例>
上述したような処理を実行する本実施の形態における設計書情報管理システム(文書情報管理システムの例)の構成例を図7に示す。
上述したような処理を実行する本実施の形態における設計書情報管理システム(文書情報管理システムの例)の構成例を図7に示す。
図7に示すように、本実施の形態の設計書情報管理システムは、XMLスキーマ解析部10、XML・グラフ変換部20、関連検索部30、グラフデータベース40を含む。
XMLスキーマ解析部10は、XMLスキーマを解析し管理する機能部である。XML・グラフ変換部20は、XML文書からグラフデータへの変換をXMLスキーマの解析結果から同一ノードの判定を行いながら実行する機能部である。グラフデータベース40は、グラフデータを格納する格納部(データベース)である。関連検索部30は、グラフデータベース40に格納したグラフデータに対し文書間の関連を利用した検索を行う機能部である。
以下、図7に示す設計書情報管理システムにおいて実行される処理の概要を説明する。まず、データ格納時の処理(ステップ101〜102)を説明する。
ステップ101)
事前に、XMLスキーマ解析部10がXMLスキーマ11を読み込み、解析する。解析結果には、同一のデータ型が定義された要素宣言を保持する。
事前に、XMLスキーマ解析部10がXMLスキーマ11を読み込み、解析する。解析結果には、同一のデータ型が定義された要素宣言を保持する。
ステップ102)
XML・グラフ変換部20が、XML文書群21を読み込み、構文解析する。また、XML・グラフ変換部20は、XMLスキーマ解析部10を呼出し、構文解析結果とスキーマ解析結果を照合し、構文解析結果にスキーマ情報を付与する。
XML・グラフ変換部20が、XML文書群21を読み込み、構文解析する。また、XML・グラフ変換部20は、XMLスキーマ解析部10を呼出し、構文解析結果とスキーマ解析結果を照合し、構文解析結果にスキーマ情報を付与する。
更に、XML・グラフ変換部20は、構文解析結果から、グラフデータへの変換を実行する。ここで、同一のデータ型で内容が同一なものを、記述の完全一致の場合は1つのノードとし、複数のエッジを作成する。そして、グラフデータをグラフデータベース40に格納する。
次に、関連検索部30により実行されるデータ検索時の処理を説明する。データ検索として、様々な検索パターンが考えられるが、一例として、特定の文書を検索し、その文書に関連を持つ文書の一覧を探す場合の処理を以下のステップ201〜203において説明する。
ステップ201)
利用者は、文書を特定するための検索条件31として、例えば文書種別、記述箇所の位置(ノードへのパス)、キーワード、各文書種別ごとの返却項目(ノードへのパス)を指定し、関連検索部30に検索要求する。
利用者は、文書を特定するための検索条件31として、例えば文書種別、記述箇所の位置(ノードへのパス)、キーワード、各文書種別ごとの返却項目(ノードへのパス)を指定し、関連検索部30に検索要求する。
ステップ202)
関連検索部30は、グラフデータベース40に対し、以下の操作を行うような問合せを発行する。
関連検索部30は、グラフデータベース40に対し、以下の操作を行うような問合せを発行する。
(i)文書種別と記述箇所の位置に該当するノード群のうち、キーワードに合致する記述を持つものを取得する。
(ii)ヒットしたノードからエッジを(逆向きに)辿って、文書のルートノードを取得する。
(iii)文書のルートノードからエッジを辿って、自身以外からのエッジを持つノード(複数)を取得する。
(iv)該当する各ノードに対し、自身の文書以外のエッジを(逆向きに)辿って、関連する文書のルートノードを取得する。
(v)関連する文書のルートノードから、それぞれの返却項目のノードを取得する。
ステップ203)
関連検索部30は、返却項目の一覧を、結果として返す。
関連検索部30は、返却項目の一覧を、結果として返す。
なお、ここではNeo4jに採用されているCypherを例に説明しているが、SPARQL等でも同様である。
本実施の形態に係る設計書情報管理システム(文書情報管理システムの例)は、1つ又は複数のコンピュータに、本実施の形態で説明する処理内容を記述したプログラムを実行させることにより実現可能である。すなわち、設計書情報管理システムが有する機能は、当該コンピュータに内蔵されるCPUやメモリ、ハードディスクなどのハードウェア資源を用いて、設計書情報管理システムで実施される処理に対応するプログラムを実行することによって実現することが可能である。また、上記プログラムは、コンピュータが読み取り可能な記録媒体(可搬メモリ等)に記録して、保存したり、配布したりすることが可能である。また、上記プログラムをインターネットや電子メールなど、ネットワークを通して提供することも可能である。
また、例えば、設計書情報管理システムにおけるグラフデータベース40を1つのコンピュータに備え、XMLスキーマ解析部10、XML・グラフ変換部20、及び関連検索部30を別の1つ又は複数のコンピュータ(プログラム)で実現することも可能である。
(実施例)
以下、ソフトウェア開発の設計書の管理を例にとって、設計書情報管理システムの処理内容をより具体的に説明する。
以下、ソフトウェア開発の設計書の管理を例にとって、設計書情報管理システムの処理内容をより具体的に説明する。
本実施例における画面設計書と処理設計書の構造を規定するXMLスキーマ定義を、図8(リスト5)に示す。リスト5に示すように、画面設計書の画面名と、処理設計書の処理名のデータ型が、複数の要素宣言で共通的に定義されている。
本実施例のXML文書群を図9に示す。図9に示すように、XML文書群として、5つの画面設計書(リスト6〜10)と2つの処理設計書(リスト11〜12)が用意される。
上記のXMLスキーマ(図8)、XML文書群(図9)に対し、内容の同一性判定を記述の完全一致とした場合における、データ格納処理のフローを図10〜図12に示す。これらのフローを参照して、データ格納処理を説明する。
<事前処理>
まず、図10に示す事前処理を説明する。事前処理では、XMLスキーマ解析部10がXMLスキーマ(図8)を読み込み、解析する(ステップP01)。
まず、図10に示す事前処理を説明する。事前処理では、XMLスキーマ解析部10がXMLスキーマ(図8)を読み込み、解析する(ステップP01)。
XMLスキーマ解析部10は、解析結果をグラフデータベース40に格納する(ステップP02)。解析結果は、同一のデータ型が定義された要素宣言を判別しやすい形で保持しておく。リスト5(図8)では、画面設計書の「画面名」と処理設計書の「出力画面」が同一のデータ型「画面名type」、画面設計書の「呼出し処理」と処理設計書の「処理名」が同一のデータ型「処理名type」となっているので、例えばこれらを判別しやすい形で保持する。
<格納処理>
次に、図11に示す格納処理を説明する。格納処理では、XML・グラフ変換部20が、リスト6〜12(図9)のXML文書を順次読み込み(ステップL01)、以下の処理を行う。
次に、図11に示す格納処理を説明する。格納処理では、XML・グラフ変換部20が、リスト6〜12(図9)のXML文書を順次読み込み(ステップL01)、以下の処理を行う。
XML・グラフ変換部20は、XML文書を構文解析する(ステップL02)。次に、XML・グラフ変換部20は、XMLスキーマ解析部10を呼出し、構文解析結果とスキーマ解析結果を照合し、構文解析結果にスキーマ情報を付与する(ステップL03)。
XML・グラフ変換部20は、構文解析結果を、XMLの各要素と値(テキストノード、属性値)をノードに、親子関係をエッジとしたグラフデータに変換する(ステップL04)。各ノードには、対応するスキーマ情報(要素宣言、データ型)をプロパティとして保持させる。
そして、XML・グラフ変換部20は、各ノード及びエッジをグラフデータベース40に格納する(ステップL05)。
上記の処理を全てのXML文書に対して行った後、処理を終了する(ステップL06)。
<ステップL05の詳細>
ステップL05において、値ノードに対しては、同一のノードが既にデータベース40内に存在しているかどうかチェックし、存在しない場合のみ新しいノードとして格納することとしている。このチェック処理により、同一ノードに複数のエッジが作成され、共有がなされる。このようなステップL05における処理の詳細を図12のフローを参照して説明する。
ステップL05において、値ノードに対しては、同一のノードが既にデータベース40内に存在しているかどうかチェックし、存在しない場合のみ新しいノードとして格納することとしている。このチェック処理により、同一ノードに複数のエッジが作成され、共有がなされる。このようなステップL05における処理の詳細を図12のフローを参照して説明する。
XML・グラフ変換部20は、ステップL04で得られたノード集合から1つのノードを取り出し(ステップG01)、同一のノードがグラフデータベース40内に存在するかどうかをチェックする(ステップG02)。
同一ノードが存在しなければ(ステップG02のNo)、取り出したノードを新しいノードとしてグラフデータベース40に追加する(ステップG03)。同一ノードが存在する場合(ステップG02のNo)、新しいノードの追加を行わずにステップG04に進む。
ステップG04において、全ノードを処理していなければステップG01に戻って別のノードについての処理を行い、全ノードを処理していればステップG05に進む。
ステップG05では、XML・グラフ変換部20は、ステップL04で得られたエッジ集合から1つのエッジを取り出しグラフデータベース40に追加する。全てのエッジの処理を終了したら(ステップG06のYes)、処理を終了する。
図10〜図12の処理の結果、グラフデータベース40には図13に示すグラフデータが格納される。なお、図13では、プロパティとして保持しているスキーマ情報は省略している。
<検索処理例1>
次に、関連検索部30により実行される検索処理例1について、図14のフローを参照して説明する。検索処理例1は、画面とそこから呼び出す処理の関連情報を取得する例である。
次に、関連検索部30により実行される検索処理例1について、図14のフローを参照して説明する。検索処理例1は、画面とそこから呼び出す処理の関連情報を取得する例である。
関連検索部30は、検索条件とともに検索要求を受け付ける(ステップS01)。検索条件は下記のとおりである。
始点となるノード:「画面設計書」全て
関連を持つノード:「呼出し処理」の値
関連先の基点ノード:「処理設計書」
返却値ノード:「画面設計書」の「画面名」の値と「概要」の値、「処理設計書」の「処理名」の値と「概要」の値
関連検索部30は、グラフデータベース40に対し、以下の操作を行うような問合せを発行することで検索を行う。
関連を持つノード:「呼出し処理」の値
関連先の基点ノード:「処理設計書」
返却値ノード:「画面設計書」の「画面名」の値と「概要」の値、「処理設計書」の「処理名」の値と「概要」の値
関連検索部30は、グラフデータベース40に対し、以下の操作を行うような問合せを発行することで検索を行う。
まず、始点ノードの条件を満たすノードを探し(ステップS02)、条件を満たしたノードから始点ノードを探す(ステップS03)。本実施例では、5つの「画面設計書」ノードが該当する。
ステップS04、S05は、関連を持つノード全てについて行う(ステップS06)。ステップS04では、始点ノードから、関連を持つノードへ辿る。本実施例では、エッジを辿って行き、「SEARCH1」、「DETAIL1」が重複して該当する。
また、ステップS05では、関連を持つノードから、関連先の基点ノードまで辿る。本実施例では、エッジを(逆向きに)辿って行き、それぞれ、2つの「処理設計書」ノードが該当する。
そして、ステップS07において、始点ノードとそれに対応する関連先の基点ノードから、それぞれの返却値ノードへ辿り、返却値を取得する。ステップS08において、取得した結果を返却する。例えば、本実施例での取得結果を表で表すと図15のようになる。
<検索処理例2>
次に、関連検索部30により実行される検索処理例2について説明する。処理の流れ自体は検索処理例1と基本的に同じであり、図14のフローに示すとおりである。検索処理例2では、検索実行画面から呼び出す処理とさらに出力される画面の関連情報を取得する。
次に、関連検索部30により実行される検索処理例2について説明する。処理の流れ自体は検索処理例1と基本的に同じであり、図14のフローに示すとおりである。検索処理例2では、検索実行画面から呼び出す処理とさらに出力される画面の関連情報を取得する。
関連検索部30は、検索条件とともに検索要求を受け付ける(ステップS01)。検索条件は下記のとおりである。
始点となるノード:「画面設計書」のうち「概要」に"検索実行"を含むもの
関連を持つノード(1):「呼出し処理」の値
関連先の基点ノード(1):「処理設計書」
関連を持つノード(2):「出力画面」の値
関連先の基点ノード(2):「画面設計書」
返却値ノード:「画面設計書」の「画面名」の値と「概要」の値、「処理設計書」の「処理名」の値と「概要」の値
関連検索部30は、グラフデータベース40に対し、以下の操作を行うような問合せを発行することで検索を行う。
関連を持つノード(1):「呼出し処理」の値
関連先の基点ノード(1):「処理設計書」
関連を持つノード(2):「出力画面」の値
関連先の基点ノード(2):「画面設計書」
返却値ノード:「画面設計書」の「画面名」の値と「概要」の値、「処理設計書」の「処理名」の値と「概要」の値
関連検索部30は、グラフデータベース40に対し、以下の操作を行うような問合せを発行することで検索を行う。
まず、始点ノードの条件を満たすノードを探す(ステップS02)。本実施例では、「画面設計書」の「概要」の値ノードに"検索実行"を含むものを探すと、「条件Aを入力、検索実行する」、「条件Bを入力、検索実行する」の2つのノードが該当する。これは、従来技術のテキストの部分一致検索で実現できる。
次に、始点ノードを辿る(ステップS03)。本実施例では、エッジを(逆向きに)辿り、それぞれの「画面設計書」ノードが該当する。
ステップS04、S05は、関連を持つノード全てについて行う(ステップS06)。ステップS04では、始点ノードから、関連を持つノード(1)へ辿る。本実施例では、エッジを辿って行き、「SEARCH1」が重複して該当する。
ステップS05では、関連を持つノード(1)から、関連先の基点ノード(1)まで辿る。本実施例では、エッジを(逆向きに)辿って行き、「処理設計書」ノードが該当する。
また、関連先の基点ノード(1)から、関連を持つノード(2)へ辿る。本実施例では、エッジを辿って行き、「エラー画面」、「検索結果画面」ノードが該当する。
更に、関連を持つノード(2)から、関連先の基点ノード(2)まで辿る。本実施例では、エッジを(逆向きに)辿って行き、それぞれの「画面設計書」ノードが該当する。
そして、ステップS07において、始点ノードとそれに対応する関連先の基点ノード(1)、(2)から、それぞれの返却値ノードへ辿り、返却値を取得する。ステップS08において、取得した結果を返却する。例えば、本実施例での取得結果を表で表すと図16のようになる。
(実施の形態のまとめ、効果)
以上、説明したように、本実施の形態により、設計書情報管理システムが提供される。当該設計書情報管理システムは、XMLによって記述された設計書情報からなるXML文書群と、そのXML文書群の型情報を記述しているXMLスキーマが存在するときに、XML文書群の型情報とXML文書群に含まれる設計書情報を、ノードとエッジからなるグラフデータモデルに従って蓄積・管理するグラフデータベースを有する。
以上、説明したように、本実施の形態により、設計書情報管理システムが提供される。当該設計書情報管理システムは、XMLによって記述された設計書情報からなるXML文書群と、そのXML文書群の型情報を記述しているXMLスキーマが存在するときに、XML文書群の型情報とXML文書群に含まれる設計書情報を、ノードとエッジからなるグラフデータモデルに従って蓄積・管理するグラフデータベースを有する。
また、当該設計書情報管理システムは、XMLスキーマを読み込み、解析し、グラフデータベースに格納するXMLスキーマ解析部と、XML文書群をロードし、グラフデータモデルに変換し、XMLスキーマ解析部によって読み込まれたXMLスキーマの型情報を利用して、各XML文書に含まれる設計情報の各要素の同一性を判定することによって、異なるXML文書にまたがる関連情報をエッジとして生成するXML・グラフ変換部を有する。
上記の異なるXML文書にまたがる関連情報をエッジとして生成することは、例えば、図13において、「画面設計書」‐「呼出し処理」‐「SEARCH1」の各エッジと、「処理設計書」‐「処理名」‐「SEARCH1」の各エッジを生成することに相当する。
また、設計書情報管理システムは、始点となるノード・関連を持つノード・関連先の基点ノード・返却値ノードからなる検索条件を受け付け、その条件に合致する設計情報をグラフデータベースから検索することを可能とする関連検索部を有することとしてもよい。
本実施の形態の技術によれば、XML文書間の関連の抽出を自動的に行うことで情報付与・管理のコストがかからず、関連を直接的に管理することで、文書間の関連を高速に検索でき、かつ、グラフデータベースに対する検索要求も容易に指定できる設計書情報管理システムを実現できる。
本発明は、上記の実施の形態に限定されることなく、特許請求の範囲内において、種々変更・応用が可能である。
10 XMLスキーマ解析部
20 XML・グラフ変換部
30 関連検索部
40 グラフデータベース
20 XML・グラフ変換部
30 関連検索部
40 グラフデータベース
Claims (7)
- ノードとエッジからなるグラフデータを格納するグラフデータベースと、
管理対象となる文書情報からなるマークアップ文書群の型情報を記述しているスキーマを読み込み、当該スキーマを解析するスキーマ解析手段と、
前記マークアップ文書群を読み込み、当該マークアップ文書群を解析し、当該マークアップ文書群の各要素をノードに変換し、要素間の親子関係をエッジに変換することによりグラフデータを生成し、当該グラフデータを前記グラフデータベースに格納する変換手段と、を備え、
前記変換手段は、前記スキーマ解析手段により得られた型情報に基づいて、前記マークアップ文書群に含まれる文書情報の要素間の同一性を判定することによって、異なるマークアップ文書にまたがる関連情報をエッジとして生成する
ことを特徴とする文書情報管理システム。 - 始点となるノード、関連を持つノード、関連先の基点ノード、及び返却値ノードからなる検索条件を受け付け、当該検索条件に合致する文書情報を前記グラフデータベースから検索する関連検索手段
を更に備えることを特徴とする請求項1に記載の文書情報管理システム。 - 前記マークアップ文書はXML文書であり、前記スキーマはXMLスキーマであることを特徴とする請求項1又は2に記載の文書情報管理システム。
- ノードとエッジからなるグラフデータを格納するグラフデータベースを備える文書情報管理システムにおいて実行される文書情報管理方法であって、
管理対象となる文書情報からなるマークアップ文書群の型情報を記述しているスキーマを読み込み、当該スキーマを解析するスキーマ解析ステップと、
前記マークアップ文書群を読み込み、当該マークアップ文書群を解析し、当該マークアップ文書群の各要素をノードに変換し、要素間の親子関係をエッジに変換することによりグラフデータを生成し、当該グラフデータを前記グラフデータベースに格納する変換ステップと、を備え、
前記変換ステップにおいて、前記スキーマ解析ステップにより得られた型情報に基づいて、前記マークアップ文書群に含まれる文書情報の要素間の同一性を判定することによって、異なるマークアップ文書にまたがる関連情報をエッジとして生成する
ことを特徴とする文書情報管理方法。 - 始点となるノード、関連を持つノード、関連先の基点ノード、及び返却値ノードからなる検索条件を受け付け、当該検索条件に合致する文書情報を前記グラフデータベースから検索する関連検索ステップ
を更に備えることを特徴とする請求項4に記載の文書情報管理方法。 - 前記マークアップ文書はXML文書であり、前記スキーマはXMLスキーマであることを特徴とする請求項4又は5に記載の文書情報管理方法。
- コンピュータを、請求項1ないし3のうちいずれか1項に記載の文書情報管理システムにおける各手段として機能させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014217567A JP2016085580A (ja) | 2014-10-24 | 2014-10-24 | 文書情報管理システム、文書情報管理方法、及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014217567A JP2016085580A (ja) | 2014-10-24 | 2014-10-24 | 文書情報管理システム、文書情報管理方法、及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2016085580A true JP2016085580A (ja) | 2016-05-19 |
Family
ID=55973757
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014217567A Pending JP2016085580A (ja) | 2014-10-24 | 2014-10-24 | 文書情報管理システム、文書情報管理方法、及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2016085580A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020514917A (ja) * | 2017-03-16 | 2020-05-21 | レイセオン カンパニー | プロパティグラフデータモデルを解析することによるロバスト性の定量化 |
-
2014
- 2014-10-24 JP JP2014217567A patent/JP2016085580A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020514917A (ja) * | 2017-03-16 | 2020-05-21 | レイセオン カンパニー | プロパティグラフデータモデルを解析することによるロバスト性の定量化 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8868620B2 (en) | Techniques for composing data queries | |
US9852133B2 (en) | Scalable, schemaless document query model | |
US8103705B2 (en) | System and method for storing text annotations with associated type information in a structured data store | |
Bikakis et al. | The XML and semantic web worlds: technologies, interoperability and integration: a survey of the state of the art | |
JP5435568B2 (ja) | データアクセス及びプレゼンテーション要素を再利用する方法及び装置 | |
CN101187938B (zh) | 一种多媒体元数据统一描述及检索方法 | |
US10296657B2 (en) | Accessing objects in a service registry and repository | |
US8266170B2 (en) | Peer to peer (P2P) missing fields and field valuation feedback | |
CN103927360A (zh) | 基于图模型的软件项目语义信息表示及检索方法 | |
Eck et al. | A semantic file system for integrated product data management | |
US9064004B2 (en) | Extensible surface for consuming information extraction services | |
CN102810114A (zh) | 基于本体的个人计算机资源管理系统 | |
CN116450908B (zh) | 基于数据湖的自助式数据分析方法、装置和电子设备 | |
CN111475534B (zh) | 一种数据查询方法及相关设备 | |
González López de Murillas et al. | Everything you always wanted to know about your process, but did not know how to ask | |
JP2024504556A (ja) | データ処理システムによって管理されるデータエンティティにアクセスするためのシステム及び方法 | |
Angelis et al. | Generating and exploiting semantically enriched, integrated, linked and open museum data | |
JP2005316699A (ja) | コンテンツ公開システム、コンテンツ公開方法、及びコンテンツ公開プログラム | |
JP2014089646A (ja) | 電子データ処理装置、及び電子データ処理方法 | |
JP2016085580A (ja) | 文書情報管理システム、文書情報管理方法、及びプログラム | |
Pokorný et al. | Graph pattern index for Neo4j graph databases | |
Unbehauen et al. | SPARQL Update queries over R2RML mapped data sources | |
Schuchardt et al. | Applying content management to automated provenance capture | |
JP2002297601A (ja) | 構造化文書管理方法および構造化文書管理装置およびプログラム | |
US20210141773A1 (en) | Configurable Hyper-Referenced Associative Object Schema |