(57)【特許請求の範囲】
【請求項１】
記号によって形成される識別子と、１以上の前記識別子を含む因子を結合し、順序を有する因子の列を形成する積演算子と、１以上の前記因子を含む項を結合し、当該項の組み合わせである式を形成する和演算子とを用いて記述される対象情報を処理する情報処理装置であって、
前記対象情報を所定の位置で複数の項に分割する分割部と、
分割後の項に含まれる因子の少なくともいずれかに対し、前記対象情報内における項の出現順位と当該項内における当該因子の出現順位とを含む位置情報を付加し、前記分割後の項ごとに複数のサーバ装置のいずれかに保持させる送信部と、
を含む情報処理装置。
【請求項２】
前記対象情報は、順序を維持して前記項の組み合わせを関係付ける順序因子構成演算子、又は順序を維持せず前記項の組み合わせを関係付ける集合因子構成演算子によって区画された前記式を、前記因子として入れ子状に含む階層構造を有し、
前記所定の位置は、前記対象情報を、前記順序因子構成演算子で区画された前記式の外側において前記和演算子で区画された箇所のいずれかである
請求項１に記載の情報処理装置。
【請求項３】
前記複数のサーバ装置からそれぞれ前記分割後の項を受信し、前記位置情報に基づいて、項の出現順位が小さい順且つ因子の出現順位が小さい順に各項を結合して前記対象情報を生成する結合部
をさらに含む請求項１又は２に記載の情報処理装置。
【請求項４】
前記サーバ装置がそれぞれ保持する前記分割後の項は、ユーザによって指定された位置において分割される
請求項１から３のいずれか一項に記載の情報処理装置。
【請求項５】
前記サーバ装置がそれぞれ保持する前記分割後の項は、分割後の部分集合が所定の容量以内となる位置において分割される
請求項１から３のいずれか一項に記載の情報処理装置。
【請求項６】
前記サーバ装置がそれぞれ保持する前記分割後の項は、前記積演算子で接続された所定
の因子を共通に含む項ごとに分割される
請求項１から３のいずれか一項に記載の情報処理装置。
【請求項７】
記号によって形成される識別子と、１以上の前記識別子を含む因子を結合し、順序を有する因子の列を形成する積演算子と、１以上の前記因子を含む項を結合し、当該項の組み合わせである式を形成する和演算子とを用いて記述される対象情報を処理する情報処理装置が実行する情報処理方法であって、
前記対象情報を所定の位置で複数の項に分割するステップと、
分割後の項に含まれる因子の少なくともいずれかに対し、前記対象情報内における項の出現順位と当該項内における当該因子の出現順位とを含む位置情報を付加し、前記分割後の項ごとに複数のサーバ装置のいずれかに保持させるステップと、
を含む情報処理方法。
【請求項８】
記号によって形成される識別子と、１以上の前記識別子を含む因子を結合し、順序を有する因子の列を形成する積演算子と、１以上の前記因子を含む項を結合し、当該項の組み合わせである式を形成する和演算子とを用いて記述される対象情報を処理する情報処理装置によって実行されるプログラムであって、
前記対象情報を所定の位置で複数の項に分割するステップと、
分割後の項に含まれる因子の少なくともいずれかに対し、前記対象情報内における項の出現順位と当該項内における当該因子の出現順位とを含む位置情報を付加し、前記分割後の項ごとに複数のサーバ装置のいずれかに保持させるステップと、
を含むプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法およびプログラムに関する。
【背景技術】
【０００２】
従来、コンピュータが取り扱うデータ構造としては、例えば、リレーショナルデータベースの表形式の構造、オブジェクト指向データベースのオブジェクト、知識データベースのフレームあるいはルール等が知られている。【０００３】
しかし、従来、提案されていたデータベースは、定義済みのデータ構造に、新たな構造を追加することができないという、変更に対する柔軟性の点で問題があった。例えば、リレーショナルデータベースの運用を開始後、１つの表に新たな属性を追加する場合には、既存のデータ構造と、データ構造を処理するアプリケーションプログラムの改造とが伴い、改造の工数は、コンピュータの利用者、管理者、あるいはアプリケーションプログラムの開発者には負担であった。また、従来のリレーショナルデータベースでは、情報を階層的に記述すること、例えば、１つの表の１つの属性中に、さらに表を定義することはできなかった。一方、オブジェクト指向のデータベース、あるいは、フレームでは、オブジェクト間の関係、あるいはフレーム間の関係にいわゆる親子関係を定義できるが、逆に、属性と属性値との関係を単純に処理したいという要請には不向きである場合があった。【０００４】
そこで、本出願人は、利用者が取り扱う事物、組織、人などに関する情報、あるいは利用者が取り扱う概念などを情報処理装置が取り扱うために、情報を記述する新たなデータ構造と、そのデータ構造で記憶された情報を処理する手順とを提案した（特許文献１から４参照）。この提案では、情報を式表現、例えば、識別子と識別子の和、識別子と識別子の積、識別子と識別子の積の和などで表現する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第４３４３９８４号公報
【特許文献２】特許第５１１３７７９号公報
【特許文献３】特許第５３５７２８６号公報
【特許文献４】国際公開第２０１２／０２３１９２号
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところで、提案された上記の技術では処理の対象となる情報をテキスト形式で連続的に記述するため、シーケンシャルアクセスに適している。一方で、保持する情報の増加に伴い処理時間も増えてしまうという問題があった。そこで、本出願に係る技術は、出願人らが提案するデータ構造で記述された情報の処理技術において、処理対象の情報を所定の条件で分割することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の一側面に係る情報処理装置は、記号によって形成される識別子と、１以上の識別子を含む因子を結合し、順序を有する因子の列を形成する積演算子と、１以上の因子を含む項を結合し、当該項の組み合わせである式を形成する和演算子とを用いて記述される対象情報を処理する。そして、情報処理装置は、対象情報を所定の位置で複数の項に分割する分割部と、分割後の項に含まれる因子の少なくともいずれかに対し、対象情報内における項の出現順位と当該項内における当該因子の出現順位とを含む位置情報を付加し、分割後の項ごとに複数のサーバ装置のいずれかに保持させる送信部とを含む。【０００８】
このようにすれば、上述のデータ構造で記述された対象情報を復元可能な形式で分割し、複数のサーバ装置に分散して格納することができる。なお、分割された対象情報の部分集合については各サーバ装置で並列に処理するようにしてもよい。【０００９】
また、対象情報は、順序を維持して項の組み合わせを関係付ける順序因子構成演算子、又は順序を維持せず項の組み合わせを関係付ける集合因子構成演算子によって区画された式を、因子として入れ子状に含む階層構造を有し、所定の位置は、対象情報を、順序因子構成演算子で区画された式の外側において和演算子で区画された箇所のいずれかとしてもよい。具体的にはこのようにすることで、上述のデータ構造において保持すべき順序を復元可能な形式で分割することができる。【００１０】
また、複数のサーバ装置からそれぞれ分割後の項を受信し、位置情報に基づいて、項の出現順位が小さい順且つ因子の出現順位が小さい順に各項を結合して対象情報を生成する結合部をさらに含むようにしてもよい。このような結合部によれば、分割された対象情報を復元することができる。【００１１】
また、サーバ装置がそれぞれ保持する位置表現式は、ユーザによって指定された位置において分割されるようにしてもよいし、サーバ装置がそれぞれ保持する位置表現式は、分割後の部分集合が所定の容量以内となる位置において分割されるようにしてもよいし、サーバ装置がそれぞれ保持する位置表現式は、積演算子で接続された所定の因子を共通に含む項ごとに分割されるようにしてもよい。【００１２】
上記課題を解決するための手段の内容は、本発明の課題や技術的思想を逸脱しない範囲で可能な限り組み合わせることができる。また、上記手段を情報処理装置が実行する方法や、コンピュータに実行させるプログラムを提供するようにしてもよい。また、プログラムは、コンピュータが読み取り可能な記録媒体に記録して提供するようにしてもよい。コンピュータが読み取り可能な記録媒体とは、情報を電気的、磁気的、光学的、機械的、又は化学的作用によって蓄積し、コンピュータによって読み取ることができる記録媒体をいう。このような記録媒体のうち、コンピュータから取り外し可能なものとしては、例えば光ディスク、光磁気ディスク、フレキシブルディスク、磁気テープ、メモリカード等がある。また、コンピュータに固定された記録媒体としてＨＤＤ（Hard Disk Drive）、ＳＳＤ（Solid State Drive）、ＲＯＭ（Read Only Memory）等がある。
【発明の効果】
【００１３】
本発明によれば、出願人らが提案するデータ構造で記述された情報の処理技術において、処理対象の情報を所定の条件で分割することができる。
【図面の簡単な説明】
【００１４】
【図１】式表現を説明するための図である。
【図２】セル空間情報の第一のデータ構造例を示す図である。
【図３】セル空間情報の第二のデータ構造例を示す図である。
【図４】第三のデータ構造例を示す図である。
【図５】模式的な位置表現式をＫＶＳ形式で格納した表を例示する図である。
【図６】実施形態に係る情報処理システムの構成を例示するブロック図である。
【図７】実施形態に係る情報処理装置の構成を例示するブロック図である。
【図８】実施形態に係るサーバ装置の構成を例示するブロック図である。
【図９】分割格納処理の一例を示す処理フロー図である。
【図１０Ａ】対象情報の部分集合をＫＶＳ形式で格納する表の一例を示す図である。
【図１０Ｂ】対象情報の部分集合をＫＶＳ形式で格納する表の一例を示す図である。
【図１１Ａ】対象情報の部分集合をＫＶＳ形式で格納する表の一例を示す図である。
【図１１Ｂ】対象情報の部分集合をＫＶＳ形式で格納する表の一例を示す図である。
【図１１Ｃ】対象情報の部分集合をＫＶＳ形式で格納する表の一例を示す図である。
【図１２Ａ】対象情報の部分集合をＫＶＳ形式で格納する表の一例を示す図である。
【図１２Ｂ】対象情報の部分集合をＫＶＳ形式で格納する表の一例を示す図である。
【図１２Ｃ】対象情報の部分集合をＫＶＳ形式で格納する表の一例を示す図である。
【図１３】結合処理の一例を示す処理フロー図である。
【図１４】複数の対象情報の統合及び復元を説明するための図である。
【発明を実施するための形態】
【００１５】
以下、図面を参照して本発明を実施するための形態（「実施形態」とも呼ぶ）に係る情報処理装置について説明する。以下の実施形態の構成は例示であり、本発明は実施形態の構成には限定されない。
【００１６】
本実施形態では、事物、組織、人などに関する情報を情報処理装置が取り扱う。これらの情報を本実施形態に係る情報処理装置が処理可能な形式で表現したものを、「対象情報」と呼ぶ。以下、対象情報を記述するためのデータ構造、及び当該データ構造で記述された対象情報を処理する手順を示す。
【００１７】
（データ構造）
データ構造とは、対象情報を記述するための構造をいう。なお、対象情報は、プロセッサと記憶装置とを備える情報処理装置によって、生成、記憶、読み出し、更新（「演算」とも呼ぶ）、削除等される。
【００１８】
（１）対象情報の構成要素
情報処理装置は、対象情報を式の形式で保持する。本実施形態に係る式を用いた表現方法を、「式表現」とも呼ぶ。図１は、式の一例を示す図である。式は、構成要素の最小単位である識別子（基本要素とも呼ぶ）を１つ以上含む。本実施形態に係る識別子は、データを一意に特定できる情報とは限らない。さらに、式は、所定の記号を用いて記述される。所定の記号には、演算子と区切記号とが用いられる。具体的には、和演算子“＋”、積演算子“×（図１のように省略してもよい）”、第１の括弧（丸括弧）“（”及び“）”、並びに第２の括弧（波括弧）“｛”及び“｝”が用いられる。第１の括弧が本発明の集合因子構成演算子（組合せ部区切記号とも呼ぶ）に相当する。また、第２の括弧が本発明の順序因子構成演算子（順列部区切記号とも呼ぶ）に相当する。
【００１９】
また、識別子は、対象情報を構成する最小単位であり、記号によって表現される。記号とは、英数字等の文字列及び特殊文字（ただし、和演算子“＋”、積演算子“×”、第１の括弧“（”及び“）”、並びに第２の括弧“｛”及び“｝”を除く）をいうものとする。
【００２０】
本実施形態では、特殊文字として、“Φ”および“ε”を用いる。Φは、値ゼロ、和演算子において演算結果を変化させない値、または空集合を示す識別子である。本実施形態では、Φを「零元」とも呼ぶ。また、εは、値１、または積演算子において演算結果を変化させない値である。本実施形態では、εを「単位元」と呼ぶ。なお、Φを和演算の単位元と呼ぶ場合もあるが、本実施形態では、Φを零元と呼ぶことにする。
【００２１】
また、図１に示すように、識別子及び所定の記号によって記述される部分（全体であってもよい）を「因子」と呼ぶ。そして、因子の積によって記述される部分を「項」と呼ぶ。さらに、項の和によって記述される部分が式である。換言すれば、式は和演算子で接続された１以上の項を含む。また、項は、積演算子で接続された１以上の因子を含む。さらに、因子は、入れ子状に式として記述されることもある。なお、図１の「ａ」、「ｂ1」、「ｃ1」等が識別子であり、対象情報を構成する最小単位にあたる。
【００２２】
本実施形態では、以下の規則（ａ）〜（ｄ）に基づいて、対象情報を表現する式が生成れる。
（ａ）識別子、単位元及び零元はいずれも式表現（式）である。
（ｂ）ｒとｓとが共に式表現である場合、ｒ＋ｓも式表現である。
（ｃ）ｒとｓとが共に式表現である場合、ｒ×ｓも式表現である。このとき、演算の結合強さは、一般的な代数と同様に、ｒ×ｓの方が、ｒ＋ｓよりも強い。
（ｄ）ｒが式表現である場合、（ｒ）、｛ｒ｝も式表現である。
【００２３】
（２）式表現の代数的構造
本実施形態において、式表現ｒ、ｓ、ｔは、次の代数の性質（ａ）〜（ｆ）を有する。
（ａ）結合律
ｒ＋（ｓ＋ｔ）＝（ｒ＋ｓ）＋ｔ；
ｒ×（ｓ×ｔ）＝（ｒ×ｓ）×ｔ；
（ｂ）可換律
ｒ＋ｓ＝ｓ＋ｒ；
なお、本実施形態の式表現では、積演算子の可換律は成立しない。したがって、積演算子で複数の因子が結合されている場合に、個々の因子位置が情報（あるいは意味）を持つ。すなわち、因子は、いわゆる位置を指定してされた位置パラメータとしての機能を有する。「積演算子の可換律は成立しない」ことは、本発明の積演算子が「順序を持つ因子の列として複数の識別子を結合する」ことに相当する。
（ｃ）積演算の単位元
ｒ×ε＝ε×ｒ＝ｒ；
（ｄ）積演算、和演算の零元
ｒ×Φ＝Φ×ｒ＝Φ；
ｒ＋Φ＝ｒ；
（ｅ）分配律
ｒ×（ｓ＋ｔ）＝ｒ×ｓ＋ｒ×ｔ；
（ｒ＋ｓ）×ｔ＝ｒ×ｔ＋ｓ×ｔ；
（ｆ）｛ｒ＋ｓ｝×｛ｔ＋ｕ｝＝｛ｒ×ｔ＋ｓ×ｕ｝；
【００２４】
また、式で表現された対象情報は、抽象度の異なる複数のレベルで表現することができる。例えばプロセッサが本発明に係る所定のプログラムを実行することにより、対象情報の表現のレベルを変更することができる。複数のレベルは、例えば、対象情報の抽象度が最も高く表現される集合レベルと、集合レベルよりも対象情報の抽象度が低く、対象情報が部分集合を要素として表現されるトポロジー空間レベルと、トポロジー空間レベルよりも対象情報の抽象度が低く、トポロジー空間レベルにおける対象情報同士が接着される接着空間レベルと、接着空間レベルよりも対象情報の抽象度が低く、トポロジー空間における対象情報が所定の属性をもって表現されるセル空間レベルとを含む。
【００２５】
（３）集合情報
集合情報は、項の組み合わせ、又は項の和として定義される。ここで、それぞれの項は集合ＩＤ（本発明の第１の識別因子に相当）となる識別子と値となる識別子の積、すなわち、集合ＩＤ×値として定義される。ただし、値は、複数の識別子の積であってもよい。集合の情報の式表現は、典型的には次のようになる。
（例）
集合ＩＤ×値１＋集合ＩＤ×値２＋・・・
【００２６】
上述のように、本実施形態のデータ構造では、和演算子に可換律が成立することから、集合情報は、順序のない項の組み合わせということができる。一方、項を構成する因子間の位置関係は維持されることになる。図１に示した例では、例えば、項１及び項２に含まれる因子１が集合ＩＤに相当する。
【００２７】
このような因子間の位置関係の維持機能は、コンピュータ上で事物、あるいは概念を表現する場合に、極めて大きな効果を発揮する。一般的に、事物、あるいは概念を記述する修飾関係には、可換律が成立しない。例えば、「児玉の机」は、「机の児玉」と意味が異なる。本実施形態の因子と積演算子によれば、このような修飾関係を単純化して、記述することができる。さらに、そのような修飾関係で記述された項を和演算子によって組み合わせることで、事物の集合、あるいは概念の集合を記述し、単純な形式のデータベースを構築できる。さらに、管理対象の事物あるいは概念を項の集合として管理する場合に、項における因子の位置関係に意味を付与することもできる。
【００２８】
また、項を構成する因子は、それぞれ、いわゆる位置パラメータとしての意義を有するということもできる。例えば、下記のような集合情報を考える。
（例）
果物×任意形状×任意色×バナナ＋果物×任意形状×任意色×りんご＋果物×細長×黄色×バナナ＋果物×丸×赤×リンゴ
この場合、項の第１因子は、集合ＩＤである果物であり、第２因子は形状を示し、第３因子は色を示し、第４因子は名称を示す。このように、それぞれの因子の位置に意味上の制限を加えて使用することで、属性と属性値との関係を集合レベルでも処理できる。集合情報は、このような順序が維持された因子によって事物の属性を自在に定義することができる。
【００２９】
また、そのような因子を含む項の組み合わせによって、事物、人の集合など、あらゆる情報がコンピュータ上に表現される。
（例）
Ａ×ａ１＋Ａ×ａ２＋Ａ×ａ３、ｂ１×Ｂ＋ｂ２×Ｂ×Ｂ、果物×リンゴ＋果物×バナナ＋果物×ミカン、野菜×キャベツ＋野菜×キュウリ＋野菜×ゴボウ、社員×Ａ＋社員×Ｂ＋社員×Ｃ
すなわち、集合情報は、集合ＩＤで識別される集合に所属する項の組み合わせを記述する。上述の例において、社員Ｃが退職した場合、「社員×Ｃ」が和演算子とともに削除される。さらに、社員Ｄ及び社員Ｅが入社した場合には、「社員×Ｄ＋社員×Ｅ」がさらに和演算子で接続される。
【００３０】
（４）トポロジー空間情報
トポロジー空間情報は、トポロジーＩＤとなる識別子と部分集合の和との積によって記述される。すなわち、トポロジーＩＤ×（部分集合の和）である。ここで、部分集合は、部分集合を識別する部分集合ＩＤと、その部分集合に含まれる項の和との積で表現される。すなわち、部分集合ＩＤ×（項の和）である。ただし、項には、さらに項の和を第１の括弧“（）”、若しくは第２の括弧”｛｝”で組み合わせたもの、又はこれらの積が含まれてもよい。図１の例では、例えば、項２の因子２がトポロジーＩＤに相当する。また、項２の因子３に含まれる因子「１」、因子「２」が部分集合ＩＤに相当する。
【００３１】
トポロジー空間情報の例を以下に示す（下記の例で、読点“、”は、式の構成要素ではなく、例の区切りである）。
（例）
Ｔ×（ＡＢＣ×（ａｂ１＋ａｃ２＋ｂｃ３）＋Ａ×（ａｂ１＋ａｃ２）＋Ｂ×（ａｂ１＋ｂｃ３）＋Ｃ（ａｃ２＋ｂｃ３））、
果物×（全種×（リンゴ＋バナナ＋ミカン）＋赤×リンゴ＋黄×（バナナ＋ミカン））、果物×（全種×（リンゴ＋バナナ＋ミカン）＋丸×（リンゴ＋ミカン）＋細長×バナナ）、
野菜×（全種×（大根＋キュウリ＋ゴボウ）＋太×大根＋細×（キュウリ＋ゴボウ））、会社×（社員×（社員１＋社員２＋社員３＋社員４）＋営業×（社員１＋社員２）＋経理×（社員３＋社員４））、
この場合に、最後（５番目）の例について、例えば、総務が新設され、社員５が採用され、且つ総務に配属された場合には、次のように更新される。
（例）
会社×（社員×（社員１＋社員２＋社員３＋社員４＋社員５）＋営業×（社員１＋社員２）＋経理×（社員３＋社員４）＋総務×社員５）
【００３２】
（５）接着空間情報
接着空間情報は、トポロジー空間情報に含まれる２つの部分集合Ｘと部分集合Ｙに対して、それぞれの部分に含まれる部分集合を関係付けることで構成される。本実施形態では、この関係付けによって発生する関係を同値関係という。
【００３３】
ここで、トポロジー空間情報Ｔ（トポロジーＩＤは、Ｔｉｄ）およびトポロジー空間情報Ｕ（トポロジーＩＤは、Ｕｉｄ）が、トポロジー空間情報Ｔｉｄ×（Ｔに属する部分集合の和）＋トポロジー空間情報Ｕｉｄ×（Ｕに属する部分集合の和）として記憶されているとする。また、Ｔに属する部分集合の和＝部分集合Ｔ０＋部分集合Ｔ−Ｔ０と２つの部分集合に分離できるとする。
【００３４】
この場合、トポロジー空間情報Ｔとトポロジー空間情報Ｕとを関連づけるトポロジー空間情報Ｔの因子ｐと、トポロジー空間情報Ｕの因子ｑ（本発明の第２の同値因子に相当）が指定される。そして、トポロジー空間情報Ｔが、因子ｐを含む部分集合Ｔ０と、因子ｐを含まない部分集合Ｔ−Ｔ０に分離される。ここで、Ｔ−Ｔ０は、集合Ｔから集合Ｔ０を削除した差集合である。また、トポロジー空間情報Ｕが、因子ｑを含む部分集合Ｕ０（本発明の第２の関連項に相当）と、因子ｑを含まない部分集合Ｕ−Ｕ０に分離される。ここで、Ｕ−Ｕ０は、集合Ｕから集合Ｕ０を削除した差集合である。
【００３５】
上記２つのトポロジー空間情報ＴとＵの和は次のように表現される。
（例）
トポロジー空間情報Ｔｉｄ×（部分集合Ｔ０）＋トポロジー空間情報Ｔｉｄ×（部分集合Ｔ−Ｔ０）＋トポロジー空間情報Ｕｉｄ×（部分集合Ｕ０）＋トポロジー空間情報Ｕｉｄ×（部分集合Ｕ−Ｕ０）
このように、集合から特定の因子ｐを含む部分集合を取り出した場合に、これを商と呼ぶ。また、その商を除く部分集合を剰余と呼ぶ。
【００３６】
さらに、部分集合Ｔ０＝Ｔ０ｉｄ×（Ｔ０の項の和）、部分集合Ｕ０＝Ｕ０ｉｄ×（Ｕ０の項の和）と記述されているとする。この場合に、部分集合Ｔ０と部分集合Ｕ０とを関係付けることによって、以下の接着空間情報を構成できる。すなわち、この場合の接着空間情報は、｛部分集合Ｔ０におけるｐの左因子＋部分集合Ｕ０におけるqの左因子｝｛p+q｝｛部分集合Ｔ０におけるｐの右因子＋部分集合Ｕ０におけるqの右因子｝＋トポロジー空間情報Ｔｉｄ×（部分集合Ｔ−Ｔ０）＋トポロジー空間情報Ｕｉｄ×（部分集合Ｕ−Ｕ０）、である。ここで、部分集合Ｔ０におけるｐの左因子および部分集合Ｔ０におけるｐの右因子が、ともに、本発明の第１の被接着因子に相当する。また、部分集合Ｕ０におけるqの左因子および部分集合Ｕ０におけるqの右因子が、ともに、本発明の第２の被接着因子に相当する。
【００３７】
なお、ここでは、トポロジー空間レベルの情報を接着する場合を説明したが、トポロジー空間レベルの情報に、属性と属性値が定義されて構成されるセル空間レベルの情報、および、項の組み合わせである集合レベルの集合情報に対しても、接着空間情報が定義できる。また、トポロジー空間、セル空間、集合空間のうち、一のレベルの情報と、他のレベルの情報とについて接着空間情報を定義できる。
【００３８】
ここで、以下のような果物のトポロジー空間情報と、野菜のトポロジー空間情報の和が記憶されているものとする。
（例）
果物×（全種×（リンゴ＋バナナ＋ミカン）＋丸×（リンゴ＋ミカン）＋細長×バナナ）＋野菜×（全種×（大根＋キュウリ＋ゴボウ）＋太×大根＋細×（キュウリ＋ゴボウ））
【００３９】
ここで、果物のトポロジー空間情報の因子である細長と、野菜のトポロジー空間情報の部分集合である因子細との関連づけが指定され、同値関係にあるとする。この場合に、２つのトポロジー空間情報は、それぞれ次のように商と剰余とに分離される。すなわち、それぞれの集合情報が商と剰余に分離されたトポロジー空間情報は、果物×細長×バナナ＋果物×（全種×（リンゴ＋バナナ＋ミカン）＋丸×（リンゴ＋ミカン））＋野菜×細×（キュウリ＋ゴボウ）＋野菜×（全種×（大根＋キュウリ＋ゴボウ）＋太×大根）となる。
【００４０】
そして、同値関係が指定された細長と、野菜のトポロジー空間情報の部分集合である細とによって、接着空間情報が｛果物＋野菜｝×｛細長＋細｝｛バナナ＋（キュウリ＋ゴボウ）｝＋果物×（全種×（リンゴ＋バナナ＋ミカン）＋丸×（リンゴ＋ミカン））＋野菜×（全種×（大根＋キュウリ＋ゴボウ）＋太×大根）、のように構成される。
【００４１】
このようにして、接着空間情報は、２つのトポロジー空間情報の構造を維持した状態で、関係付けが指定された同値関係にある因子を基に結合されている。接着空間情報より、”細”と”細長”に同値関係が認められれば、右の因子”バナナ”と”（キュウリ＋ゴボウ）”を｛バナナ＋（キュウリ＋ゴボウ）｝として関連づけて出力できる。
【００４２】
また、 伝票ＩＤ１枚目（Ａ｛ε＋Ｂ＋Ｃ｛Ｃ１＋Ｃ２｝＋Ｄ＋Ｅ｛Ｅ１＋Ｅ２｝｝（ａ｛ε＋ｂ＋ｃ｛ｃ１＋ｃ２｝＋ｄ＋ｅ｛ｅ１＋ｅ２｝｝＋位置（右上＋右下）））＋伝票ＩＤ２枚目（Ａ｛ε＋Ｂ＋Ｃ｛Ｃ１＋Ｃ２｝＋Ｄ＋Ｅ｛Ｅ１＋Ｅ２｝｝（ａ｛ε＋ｂ＋ｃ｛ｃ１＋ｃ２｝＋ｄ＋ｅ｛ｅ１＋ｅ２｝｝））＋MEMO（１（あいう）＋２（ABC））＋
・・・という伝票の束、およびメモＭＥＭＯを記述する情報が記憶されていた場合を考える。ここで、ＭＥＭＯを１枚目の伝票の右上に、位置を指定して張り付ける例を示す。
【００４３】
この例で、MEMOの１を１枚目の伝票の右上に張り付けるには、まず、ＭＥＭＯ情報の因子”１”、伝票１枚目の情報の因子”右上”でそれぞれ商空間が作成される。伝票ＩＤ１枚目（Ａ｛ε＋Ｂ＋Ｃ｛Ｃ１＋Ｃ２｝＋Ｄ＋Ｅ｛Ｅ１＋Ｅ２｝｝（ａ｛ε＋ｂ＋ｃ｛ｃ１＋ｃ２｝＋ｄ＋ｅ｛ｅ１＋ｅ２｝｝＋位置（右下）））＋伝票ＩＤ１枚目×位置（右上）＋伝票ＩＤ２枚目（Ａ｛ε＋Ｂ＋Ｃ｛Ｃ１＋Ｃ２｝＋Ｄ＋Ｅ｛Ｅ１＋Ｅ２｝｝（ａ｛ε＋ｂ＋ｃ｛ｃ１＋ｃ２｝＋ｄ＋ｅ｛ｅ１＋ｅ２｝｝））＋MEMO（２（ABC））＋MEMO（１（あいう））＋・・・
ここで、”１”と”右上”の関係付けを指定し接着すると、接着情報は、｛伝票ＩＤ１枚目×位置＋MEMO｝｛右上＋１｝｛ε＋（あいう）｝＋剰余の部分集合を含む情報、として構成される。このように、接着情報は、相互に構造上の共通性がない２つの対象情報について、それぞれの接着前の構造を維持した状態で、２つの対象情報結合し、記憶することができる。
【００４４】
（６）セル空間情報
セル空間情報は、事物、組織、人などに関する属性、あるいは人が取り扱う概念の属性と、その属性に対応する属性値とを有する情報である。属性は、キー属性とその他の属性とに分かれる。キー属性は属性値によって情報が識別できる属性であり、データベースの検索においてキーとして使用できる値に対応する。セル空間情報では、属性値（または複数の属性値を結合した列）をインスタンスと呼ぶ。インスタンスは、従来のデータベースのテーブルに格納されるレコードに相当する。それぞれのインスタンスは、インスタンスＩＤと呼ぶ識別情報を有する。また、キー属性、あるいは、その他の属性が複数個ある場合には、キー属性、あるいは、その他の属性は、第２の括弧“｛”と“｝”とによって順序が維持された因子の形式で記述される。すなわち、いわゆるベクトル形式にて属性とその対応する属性値が記述される。
【００４５】
セル空間情報は、セル空間ＩＤ（本発明のセル空間識別子に相当）と、キー属性の因子と、単位元およびキー属性以外の属性を有する因子と、インスタンスの集合を有する因子とを含む。セル空間情報は、セル空間ＩＤ×（キー属性×｛ε＋（その他の属性の和）｝×（（インスタンスＩＤ×｛ε＋（値の和）｝）の和））で構成される。
【００４６】
このキー属性の因子と単位元およびキー属性以外の属性を有する因子とが、本発明の属性因子に相当する。また、｛ε＋（その他の属性の和）｝の中のいずれかの属性が複数の識別子の積からなる場合に、そのような識別子の積からなる属性が、本発明の属性の順序列に相当する。また、そのような属性が、第２の括弧“｛｝”で括られた因子である場合に、その第２の括弧で括られた属性が、本発明の属性の順序因子に相当する。
【００４７】
また、そのような属性に対応して、インスタンスの｛ε＋（値の和）｝中の値が、識別子の積からなるときに、その値が、本発明の値列に相当する。また、値が、第２の括弧“｛｝”で括られた因子である場合に、その第２の括弧で括られた値が、本発明の値の順序因子に相当する。
【００４８】
セル空間情報の例は、以下のように示すことができる。
（例）
果物ｉｄ×（名前｛ε＋形＋色｝（リンゴ｛ε＋丸＋赤｝＋ミカン｛ε＋丸＋黄｝＋バナナ｛ε＋細長＋黄｝））＋野菜ｉｄ×（名前｛ε＋形状＋色｝（大根｛ε＋太＋白｝＋キュウリ｛ε＋細＋緑｝＋ゴボウ｛ε＋細＋茶｝））
この例では、従来のリレーショナルモデルで、果物テーブル、野菜テーブルとして記述されていたような情報を、式表現で記述する。なお、この例は、２つのセル空間情報（果物と野菜）を含むことから、統合セル空間情報とも呼ばれる。
【００４９】
この統合セル空間情報の処理例を示す。まず、果物のインスタンスのうち、属性“形”が“細長”の値を持つインスタンスとの部分集合（商という）と、その他のインスタンスの部分集合（剰余という）とを作成する。また、まず、野菜のインスタンスのうち、属性“形状”が“細”の値を持つインスタンス（商という）と、その他のインスタンス（剰余という）とに分離する。この場合、結合セル空間情報は、次のようになる。
果物ｉｄ×バナナ×形×細長＋野菜ｉｄ×形状×（キュウリ＋ゴボウ）細＋果物ｉｄ×（名前｛ε＋形＋色｝（リンゴ｛ε＋丸＋赤｝＋ミカン｛ε＋丸＋黄｝＋バナナ｛ε＋黄｝））＋野菜ｉｄ×（名前｛ε＋形状＋色｝（大根｛ε＋太＋白｝＋キュウリ｛ε＋緑｝＋ゴボウ｛ε＋茶｝））
次に、果物のうちの属性“形”が値“細長”を有する部分集合と、野菜のうちの属性“形状”が値“細”を有する部分集合との関係付けを指定し、同値関係を設定する。そして、この同値関係によって接着空間情報を作成すると、次のようになる。
｛果物ｉｄ×形×バナナ＋野菜ｉｄ×形状×（キュウリ＋ゴボウ）｝｛細長＋細｝｛ε＋ε｝＋果物ｉｄ×（名前｛ε＋形＋色｝（リンゴ｛ε＋丸＋赤｝＋ミカン｛ε＋丸＋黄｝＋バナナ｛ε＋黄｝））＋野菜ｉｄ×（名前｛ε＋形状＋色｝（大根｛ε＋太＋白｝＋キュウリ｛ε＋緑｝＋ゴボウ｛ε＋茶｝））
【００５０】
（記述例）
以下、従来のデータ構造である表およびツリー構造が、本実施形態のデータ構造でどのように記述できるかを示す。
【００５１】
図２は、第１の実施形態に係るセル空間情報の第一のデータ構造例を示す。同図に示すように、第１の実施形態では、従来正規化表構造として表形式で表現される対象情報は、表現形式１の状態で記憶装置に格納することができる。表現形式１で、Ａは、キー属性（例えば社員番号等）、Ｂ、Ｃ、Ｄ、Ｅ等は、その他の属性（例えば、氏名、性別、入社年、所属部署等）である。
【００５２】
図３は、第１の実施形態に係るセル空間情報の第二のデータ構造例を示す。同図に示すように、第１の実施形態では、従来ツリー構造として表現される対象情報は、表現形式２または３で記憶装置に格納することができる。そして、同図に示すように有向グラフの一部としてのツリー構造について対応可能である。表現形式２で、ａは、例えば、動物、ｂはほ乳類、ｃは魚類、ｄは人、ｅは鯨、ｆはマグロ、ｇは鯉等である。この場合、ｂ（ほ乳類）およびｃ（魚類）は、ａ（動物）の属性、例えば、食する、呼吸する等を継承する。ｂ（ほ乳類）およびｃ（魚類）の共通の属性は、ａ（動物）に定義される。
【００５３】
したがって、本実施形態の式表現によって、フレーム等の知識ベース、あるいは、オブジェクト指向データベース等を記述し、記憶装置に格納できる。本実施形態に係る情報処理装置は、これらに対応する事物に関する情報の入力を受け、対応する情報を生成して記憶装置に格納し、さらにその一部又は全部を読み出して出力できる。
【００５４】
また、逆ツリー構造で表現される対象情報についても、表現形式３のように記憶装置に格納することができる。逆ツリー情報は、基本的な情報からより複雑な情報を構成する場合に適用できる。表現形式３では、例えば、ａはＣＰＵであり、ｂはインターフェースであり、ｃは外部記憶装置の駆動部であり、ｄはＣＰＵボードであり、ｅは外部記憶装置であり、ｆはパーソナルコンピュータである。
【００５５】
このように逆ツリー構造は、製品の設計書、事業の工程管理図等、基本情報からより複雑な情報を組み上げて管理することができる。したがって、本実施形態の式表現によって、製品の設計情報、事業の工程等を記述することができる。
【００５６】
図４は、第１の実施形態に係る第三のデータ構造例を示す。同図に示すように、非正規化表構造と属性のない対象情報についても表現形式４の状態で保持することができる。ここで、非正規化表構造と属性のない対象情報とは、図４に示すように伝票を示す対象情報と、その対象情報に追加される付箋メモに相当する対象情報とが例示できる。接着空間を作成することで、コンピュータ上で伝票に付箋メモの内容を添付することと同等の処理が実現される。
【００５７】
なお、形式が同一の伝票ごとにテーブルに格納する場合には、リレーショナルモデルによって従来のデータベースで情報を管理できる。しかしながら、伝票の種類数が変動する場合、既存の伝票の構成が変更された場合には、リレーショナルモデルでは、対応できない。
【００５８】
ここで、式表現について、より詳細に上記表現形式４に基づいて説明する。ＩＤまたはｉｄ（ｉｄｅｎｔｉｆｉｃａｔｉｏｎ）は、格納される対象情報を識別するものである。そしてこの対象情報は、識別子Ａ〜Ｅ２、ａ〜ｅ２と、演算時の結合強さが異なる第一の括弧（）および第二の括弧｛｝と、これらにより表現される因子｛Ｃ１＋Ｃ２｝、｛Ｅ１＋Ｅ２｝等と、これら因子の積によって表現される項Ｅ×｛Ｅ１＋Ｅ２｝等と、前記項の和によって表現される式と、により構成される。なお、本実施形態では、項を要素ともいう。また、すでに述べたように、単位元εは、所定の処理を実行した場合に１として処理される記号である。上記以外の特別な記号として、所定の処理を実行した場合に０として処理される零元Φが存在する。このような前提のもと、格納された対象情報は、所定のプログラムを実行することによって、入力された伝票データにしたがって生成され、記憶装置に格納され、部分集合に分離され、他の部分集合と接着され、あるいは検索されることになる。
【００５９】
図４の例では、インスタンスとして、伝票ＩＤ１で示される１枚目の伝票、伝票ＩＤ２で示される２枚目の伝票、およびＭＥＭＯで示されるメモが例示されている。また、この場合に、１枚目の伝票と２枚目以降の伝票で、項目の構成が異なっても構わない。本情報処理装置１００は、対象情報を構成する識別子、あるいは項に、個々に属性を付与できるので、異なる属性の並びを有する異なる識別子、あるいは項を自在に記憶し、検索し、変更できる。また、｛｝内に、＋識別子の形式で追加するとともに、属性に対応する値を追加すれば、データベースとして運用中においても、自在に属性と属性値とを追加、変更、削除できる。したがって、本実施形態によれば、厳密、詳細なファイル設計を行うことなく、取り扱うデータの構造を柔軟に変更できるようになる。
【００６０】
（位置表現式）
位置表現式は、式表現における識別子の位置を示す位置情報を含む表現形式である。位置情報を、絶対位置情報とも呼ぶ。式表現としては、識別子と、順序を持つ因子の列として複数の識別子を結合する積演算子と、識別子および因子の列として結合された複数の識別子のいずれかまたは両方から項の組み合わせを構成する和演算子と、によって記述される情報を例示できる。したがって、識別子の位置、すなわち、位置表現式は、式表現中でのそれぞれの識別子が含まれる項の位置と、項の中でのそれぞれの識別子が含まれる因子の位置とによって記述できる。なお、本実施形態に係る処理の対象という意味で、位置表現式も対象情報と呼べる。実施例１では、識別子の左側に識別子の位置を示す位置情報を付加した表現形式を例示する。ただし、位置情報は、識別子の右側に付加するようにしてもよい。
【００６１】
位置表現式中の位置情報は、＜項の位置×因子の位置＞で定義される。したがって、本実施形態で位置表現式は、＜項の位置×因子の位置＞識別子という形式を取る。
【００６２】
（例）
例えば、識別子Ａ、Ｂ、Ｃを含む式表現Ａ＋Ｂ＋Ｃは、位置表現式では、＜１×１＞Ａ＋＜２×１＞Ｂ＋＜３×１＞Ｃである。すなわち、＜１×１＞Ａは、第１の項の第１の因子に相当する識別子がＡであることを示す。また、＜２×１＞Ｂは、第２の項の第１の因子に相当する識別子がＢであることを示す。
【００６３】
また、例えば、識別子Ａ、Ｂ、Ｃを含む式表現Ａ＋Ａ×Ｂ＋Ａ×Ｂ×Ｃは、位置表現では、＜１×１＞Ａ＋＜２×１＞Ａ＋＜２×２＞Ｂ＋＜３×１＞Ａ＋＜３×２＞Ｂ＋＜３×３＞Ｃである。以上のように、第１の括弧”（”、および”）”を含まない式表現では、式表現中の第ｉ番目の項中の第ｊ番目の因子となっている識別子Ｚは、＜ｉ×ｊ＞Ｚで記述される。また、複数の項を含む式表現全体の位置表現式は、それぞれの識別子の位置表現式をプラス（＋）などの区切り記号で区切って並べたものとなる。
【００６４】
なお、”＜”、および”＞”は、説明のための区切り記号であり、コンピュータ上では、”＜”、および”＞”で括る必要はない。例えば、位置表現を示す文字＆を導入し、＆項の位置×因子の位置のように記述してもよい。同様に、”位置×因子”の間の記号は、”×”である必要はない。例えば、アンダーバー"＿"を用いていてもよい。さらに、複数の項に対応する位置表現で、＜ｉ×ｊ＞Ｚをプラス（＋）で区切って並べる代わりに、他の区切り記号、例えば、他の点を示す記号、カンマ（，）、コロン（：）、セミコロン（；）、スペース、タブなどで区切って並べてもよい。
【００６５】
第１の括弧”（”、および”）”を含む式表現では、情報が識別子を用いて階層的に記述される。このため、第１の括弧”（”、および”）”を含む式表現に対応する位置表現に対しては、階層の深さと、どの位置で階層が深くなったか（第１の括弧の中に入ったか）を示す情報が導入される。
【００６６】
式表現Ａ×（Ｂ＋Ｃ×（Ｄ＋Ｅ））＋Ｆ×（Ｇ＋Ｈ）を位置表現式に変換すると以下のようになる。
（例）
＜１×１＞Ａ＋（１×２）＜１×１＞Ｂ＋（１×２）＜２×１＞Ｃ＋（１×２）（２×２）＜１×１＞Ｄ＋（１×２）（２×２）＜２×１＞Ｅ＋＜２×１＞Ｆ＋（２×２）＜１×１＞Ｇ＋（２×２）＜２×１＞Ｈ
【００６７】
上記例の式表現で、識別子Ｂは、第１項中の第２因子中にある。また、第２因子は、第１の括弧”（”と”）”とで囲まれている。そこで、識別子Ｂの位置表現は、まず、（１×２）を含む。そして、識別子Ｂは、第２因子中の（）内で、第１の項の第１の因子となっている。そこで、識別子Ｂの位置表現は、（１×２）＜１×１＞Ｂとなる。
【００６８】
同様に、上記例の式表現で、識別子Ｃは、第１項中の第２因子中の第２項の第１因子となっている。そこで、識別子Ｃの位置表現は、（１×２）＜２×１＞Ｃとなる。さらに、上記例の式表現で、識別子Ｄは、第１項中の第２因子中の第２項の第２因子中にある。そこでまず、識別子Ｄの位置情報として、（１×２）（２×２）が明示される。さらに、識別子Ｄは、第１項中の第２因子中の第２項の第２因子中で、（）内の第１の項の第１の因子となっている。そこで、識別子Ｄの位置表現は、最終的には、（１×２）（２×２）＜１×１＞Ｄとなっている。
【００６９】
上記例のように、識別子Ｚが（）で囲まれた因子中にある場合、その識別子Ｚが含まれている項の位置を示す情報と、その項中の因子の位置を示す情報として、（ｉ×ｊ）が用いられる。（ｉ×ｊ）は、第ｉ番目の項中の第ｊ番目の因子中にあって、かつ、第ｊ番目の因子が第１の括弧で囲まれた因子（集合因子）であることを示している。上記例のような式表現の位置表現は、（ｉ×ｊ）という第１の括弧の存在示す情報と、＜ｋ×ｌ＞のような（）型の因子を含まない項の位置と因子の位置とを表す情報の組み合わせで記述される。したがって、因子が複数の（）で２階層以上に深くなる場合には、（ｉ１×ｊ１）（ｉ２×ｊ２）のように第１の括弧の存在を示す情報が列記される。第１の括弧の存在を示す情報が列記された個数によって、第１の括弧による階層の深さが明示される。
【００７０】
図５に、式表現から得られる位置表現式と、識別子との関係をデータベースの表に格納した例を示す。ただし、図５では、位置表現式は、絶対位置情報で示されている。図５は、上記例の式表現から得られる位置表現式と、識別子との関係を表に記述している。この例のように、実施形態１によれば、第１の項の第１の因子はＡ、第１の項の第２の因子中の第１の項はＢ、第１の項の第２の因子中の第２の項の第１の因子はＣ、第１の項の第２の因子中の第２の因子中のさらに第１の項はＤなどのように、位置表現式と、識別子との関係を表形式で格納できる。
【００７１】
さらに、例えば、値としてＣを見出したときに、その位置表現式（１×２）＜２×１＞から、＜２×１＞を除外し、位置表現式（１×２）を検索することによって、識別子Ｃに関連する識別子を取得できる。例えば、位置表現式（１×２）（ｉ×ｊ）を含む属性に対応する値を取得することで、因子Ｃを含む項を取得できる。ここで、ｉとｊは任意の整数である。このような位置表現式（１×２）（ｉ×ｊ）は、実施例１では、（１×２）＊のように記述するものとする。
【００７２】
すなわち、式表現から位置表現式に変換し、それぞれの識別子について、図５のように、位置表現式と識別子との関連付けを生成することで、式表現を既存のデータベースのデータに変換できる。したがって、既存のデータベースの管理システム等の機能を用いて、式表現を処理できるようになる。
【００７３】
式表現が第２の括弧”｛”、および”｝”を含む式表現の場合にも、対応する位置表現を、第１の括弧”（”、および”）”を含む式表現と同様に生成することができる。例えば、式表現Ａ×（Ｂ＋Ｃ×｛Ｄ＋Ｅ｝）＋Ｆ×｛Ｇ＋Ｈ｝を位置表現式に変換すると、以下のようになる。
＜１×１＞Ａ＋（１×２）＜１×１＞Ｂ＋（１×２）＜２×１＞Ｃ＋（１×２）｛２×２｝＜１×１＞Ｄ＋（１×２）｛２×２｝＜２×１＞Ｅ＋＜２×１＞Ｆ＋｛２×２｝＜１×１＞Ｇ＋｛２×２｝＜２×１＞Ｈ
【００７４】
このようにして、第１の括弧と第２の括弧とを組み合わせて位置情報を作成することによって、項の因子が第１の括弧と第２の括弧の組み合わせによる階層的な式表現を含む場合も、一意的に、式表現中の識別子の位置を記述できる。
【００７５】
ここで、絶対位置情報の括弧で区画された各々は、当該識別子を含む項の式内における出現順位と、当該識別子を含む因子の当該識別子を含む項内における出現順位とを中置記法によって積演算子で接続したものといえる。例えば、図５の２行目において、値「Ａ」に対応付けられている絶対位置情報＜１×１＞は、式Ａ×（Ｂ＋Ｃ×｛Ｄ＋Ｅ｝）＋Ｆ×｛Ｇ＋Ｈ｝のうち、１番目の項Ａ×（Ｂ＋Ｃ×｛Ｄ＋Ｅ｝）における１番目の因子Ａを示している。
【００７６】
また、絶対位置情報における複数の括弧の積は、式表現における入れ子状の階層構造を表している。例えば、図５の３行目において、値「Ｂ」に対応付けられている絶対位置情報のうち１つめの括弧（１×２）は、式Ａ×（Ｂ＋Ｃ×｛Ｄ＋Ｅ｝）＋Ｆ×｛Ｇ＋Ｈ｝のうち、１番目の項Ａ×（Ｂ＋Ｃ×｛Ｄ＋Ｅ｝）における２番目の因子（Ｂ＋Ｃ×｛Ｄ＋Ｅ｝）を示している。また、２つ目の括弧＜１×１＞は、式（Ｂ＋Ｃ×｛Ｄ＋Ｅ｝）のうち、１番目の項Ｂにおける１番目の因子Ｂを示している。なお、本実施形態では、より多くの括弧でくくられるほど下位の階層または階層が深いと表現するものとする。
【００７７】
また、絶対位置情報の括弧のうち、第１の括弧“（”及び“）”は、式表現において第１の括弧で区画された階層を示している。一方、第２の括弧“｛”及び“｝”は、式表現において第２の括弧で区画された階層を示している。
【００７８】
以上のように、位置表現式によれば、式表現で記述される情報を、各識別子の位置が一意に特定可能な情報を付加した形式で表すことができる。また、式表現における式と位置表現式とは、相互に変換することができる。
【００７９】
なお、式表現に含まれる式に対して位置情報を付加するようにしてもよい。例えば、式表現に含まれるすべての項（式表現の部分集合）に対し、各項に含まれる少なくともいずれかの因子に位置情報を付加する。式表現Ａ×（Ｂ＋Ｃ×（Ｄ＋Ｅ））＋Ｆ×（Ｇ＋Ｈ）は、２つの項Ａ×（Ｂ＋Ｃ×（Ｄ＋Ｅ））及びＦ×（Ｇ＋Ｈ）を含んでいる。このとき、各項の先頭の因子Ａ及びＦに位置情報を付加すると、当初の式表現は、＜１×１＞Ａ×（Ｂ＋Ｃ×（Ｄ＋Ｅ））＋＜２×１＞Ｆ×（Ｇ＋Ｈ）という位置表現式で表すことができる。そして、当該位置表現式は、２つの部分＜１×１＞Ａ×（Ｂ＋Ｃ×（Ｄ＋Ｅ））及び＜２×１＞Ｆ×（Ｇ＋Ｈ）に分割したり、位置情報に基づいて分割後の部分を結合してもとの位置表現式に戻したりすることができる。
【００８０】
また、上述した結合律が示す通り、和演算子で結合された式表現の一部は、任意の位置で部分集合（丸括弧で区画される式表現の部分）に分けることができる。例えば、Ａ＋Ｂ＋Ｃという式は、Ａ＋（Ｂ＋Ｃ）又は（Ａ＋Ｂ）＋Ｃと表現することができる。このように、式表現を項の部分集合に分割し、各項に位置情報を付加すれば、位置情報に基づいて項を結合し、もとの式表現に戻すことができる。よって、上述の式表現は、＜１×１＞Ａ＋＜２×１＞Ｂ＋＜３×１＞Ｃという位置表現式のほか、＜１×１＞Ａ＋＜２×１＞（Ｂ＋Ｃ）、又は＜１×１＞（Ａ＋Ｂ）＋＜２×１＞Ｃという位置表現式で表すこともできる。
【００８１】
（システム構成）
図６は、本実施形態に係るシステムの一例を示す構成図である。図６のシステム１は、本実施形態に係る処理を制御する情報処理装置１００と、本実施形態に係る処理を分散して実行するサーバ装置２００（図６の例では、２００ａ、２００ｂ、２００ｃ・・・）とを含む。また、情報処理装置１００とサーバ装置２００とは、ネットワーク３００を介して通信可能に接続されている。なお、図６の例では１つの情報処理装置１００が他のサーバ装置２００を集中管理するものとして説明しているが、分散制御を行う装置群を構成してもよい。すなわち、いずれの装置が処理の要求を受け付けた場合も、データを分割して他の装置及び自装置に分散して格納したり、自身の保持するデータと他の装置が保持するデータとを結合（「復元」とも呼ぶ）し、結合結果を出力したりする。
【００８２】
（情報処理装置の装置構成）
図７は、第１の実施形態（実施例１ともいう）に係る情報処理装置１００の構成を例示すブロック図である。同図に示すように、第１の実施形態に係る情報処理装置１００は、対象情報を入力するキーボード、ポインティングデバイス等の入力手段１１と、入力された対象情報を格納するメモリ１２（本発明の記憶部に相当）と、対象情報を所定のプログラムに基づいて処理するＣＰＵ１３と、入力された対象情報や処理後の対象情報を出力するディスプレイ等の出力手段１４と、ＣＰＵ１３と入力手段１１との間を接続するインターフェース１５と、ＣＰＵ１３と出力手段１４との間を接続するインターフェース１６とを備える。
【００８３】
インターフェース１５は、例えば、ＵＳＢ（Universal Serial Bus）等のシリアルインターフェースである。また、インターフェース１６は、例えば、ＲＧＢ（赤、緑、青）の画像信号および同期クロックの出力インターフェースである。
【００８４】
ただし、図７において点線で例示されているように、情報処理装置１００は、インターフェースを介して、外部記憶装置、着脱可能な記憶媒体の駆動装置、通信部等と接続されるようにしてもよい。ここで、外部記憶装置は、例えば、ハードディスク駆動装置、ＳＳＤ（Solid State Drive）等である。また、着脱可能な記憶媒体は、例えば、ＣＤ（Compactdisc）、ＤＶＤ（Digital Versatile Disk）、ブルーレイディスク、フラッシュメモリカード等である。また、通信部は、ネットワークにアクセスし他の情報処理装置と通信する装置であり、例えば、ＮＩＣ（Network Interface Card）等である。
【００８５】
情報処理装置１００は、典型的には、パーソナルコンピュータ、サーバ等のコンピュータである。ただし、情報処理装置１００は、そのようなコンピュータに限定されるものではなく、例えば、携帯情報端末、携帯電話、ＰＨＳ（Personal Handyphone System）、デジタルテレビ、デジタルテレビのチューナあるいはセットトップボックス、ハードディスクを含むテレビジョンの録画装置、車載用の端末等として実現できる。また、メモリ１２は、揮発性のＤＲＡＭ（Dynamic Random Access Memory）、不揮発性のＥＰＲＯＭ（Erasable Programmable Read Only Memory）、ＥＥＰＲＯＭ（Electronically Erasable and Programmable Read Only Memory）、フラッシュメモリ等を含む。
【００８６】
情報処理装置１００の機能は、ＣＰＵ１３がプログラムを実行することで実現される。このプログラムは、メモリ１２あるいは不図示の外部記憶装置にインストールされる。プログラムは、通信インターフェースを通じてネットワークから、あるいは、着脱可能な記憶媒体からインストールされる。したがって、このプログラムは、ネットワークあるいは着脱可能な記憶媒体等を通じて流通される。
【００８７】
また、メモリ１２あるいは不図示の外部記憶装置に格納された対象情報は、ＣＰＵ１３が所定のプログラムを実行することによって各レベルを移行する。なお、各レベルとは、前記対象情報の抽象度が最も高く表現される集合レベル１２２と、前記集合レベル１２２よりも前記対象情報の抽象度が低く表現され、該対象情報が部分集合を要素として表現されるトポロジー空間レベル１２３と、前記トポロジー空間レベルよりも前記対象情報の抽象度が低く表現され、該トポロジー空間レベルにおける前記対象情報同士が接着される接着空間レベル１２４と、前記トポロジー空間における前記対象情報が所定の属性をもって表現されるセル空間レベル１２５とによって例示される。また、各レベルで表現される対象情報は、位置情報を付加した位置表現式として表すこともできる。
【００８８】
（サーバ装置の装置構成）
図８は、第１の実施形態に係るサーバ装置２００の構成を例示すブロック図である。サーバ装置２００も、情報処理装置１００と同様に一般的なコンピュータ装置である。同図に示すように、第１の実施形態に係るサーバ装置２００は、対象情報を入力するキーボード、ポインティングデバイス等の入力手段２１と、入力された対象情報を格納するメモリ２２（本発明の記憶部に相当）と、対象情報を所定のプログラムに基づいて処理するＣＰＵ２３と、入力された対象情報や処理後の対象情報を出力するディスプレイ等の出力手段２４と、ＣＰＵ２３と入力手段２１との間を接続するインターフェース２５と、ＣＰＵ２３と出力手段２４との間を接続するインターフェース２６とを備える。
【００８９】
インターフェース２５は、例えば、ＵＳＢ等のシリアルインターフェースである。また、インターフェース２６は、例えば、ＲＧＢの画像信号および同期クロックの出力インターフェースである。
【００９０】
ただし、図８において点線で例示されているように、サーバ装置２００は、インターフェースを介して、外部記憶装置、着脱可能な記憶媒体の駆動装置、通信部等と接続されるようにしてもよい。ここで、外部記憶装置は、例えば、ハードディスク駆動装置、ＳＳＤ等である。また、着脱可能な記憶媒体は、例えば、ＣＤ、ＤＶＤ、ブルーレイディスク、フラッシュメモリカード等である。また、通信部は、ネットワークにアクセスし他の情報処理装置と通信する装置であり、例えば、ＮＩＣ等である。
【００９１】
なお、サーバ装置２００もコンピュータに限定されるものではなく、例えば、携帯情報端末、携帯電話、ＰＨＳ、デジタルテレビ、デジタルテレビのチューナあるいはセットトップボックス、ハードディスクを含むテレビジョンの録画装置、車載用の端末等として実現できる。また、メモリ２２は、揮発性のＤＲＡＭ、不揮発性のＥＰＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリ等を含む。
【００９２】
サーバ装置２００の機能は、ＣＰＵ２３がプログラムを実行することで実現される。このプログラムは、メモリ２２あるいは不図示の外部記憶装置にインストールされる。プログラムは、通信インターフェースを通じてネットワークから、あるいは、着脱可能な記憶媒体からインストールされる。したがって、このプログラムは、ネットワークあるいは着脱可能な記憶媒体等を通じて流通される。
【００９３】
また、メモリ２２あるいは不図示の外部記憶装置に格納される対象情報（式）２２１は、位置情報が付加され、関連付けられたキー（Ｋｅｙ）２２２とバリュー（Ｖａｌｕｅ）２２３とを含むＫＶＳ（Key Value Store）形式で保持される。なお、ＫＶＳは具体的な実現手段の一例であり、他の形式を用いるようにしてもよい。例えば、キーに位置情報を保持し、バリューに因子を保持するようにしてもよいし、キーに共通する因子を保持し、バリューに当該共通の因子と積演算子で結合される他の因子を和演算子で接続して保持するようにしてもよい。
【００９４】
（分割格納処理）
図９は、情報処理装置１００によって実行される対象情報の分割格納処理の一例を示す処理フロー図である。情報処理装置１００は、メモリ１２に実行可能に展開されたコンピュータプログラムを実行し、図９の処理を実行する。なお、図９の処理では、対象情報は式表現形で保持されているものとする。
【００９５】
まず、情報処理装置１００は、対象情報である式をメモリ１２に読み出す（図９：Ｄ１）。ここでは、例えば各国ごとにデータ構造（式の構造）が異なる何らかの対象情報を扱うものとする。例えば、次のような式が読み出される。
（例）
ドイツ（式１）+フランス（式２）+日本（式３）+ドイツ（式４）+フランス（式５）+日本（式６）+ドイツ（式７）+フランス（式８）+日本（式９）+・・・
なお、式１、式２、・・・はそれぞれ本実施形態に係る式表現である。すなわち、和演算子、積演算子、順序因子構成演算子、集合因子構成演算子等を含み得る。また、各式の構造は積演算子で接続される国名ごとに異なっているものとする。
【００９６】
次に、情報処理装置１００は、対象情報を所定の位置で分割するとともに位置情報を付加する（Ｄ２）。対象情報は文字列であるため任意の位置で分割することができるが、本実施形態では式表現における項の間で分割する。項の間とは、式表現において和演算子で接続された箇所である。また、式表現は入れ子状に複数の式を含むが、本実施形態における第２の括弧（順序因子構成演算子）で区画された階層よりも上位の箇所（括弧で区画された式の外部）で分割するものとする。換言すれば、第２の括弧内では分割を行わない。第２の括弧で区画された階層に含まれる項は、順序を維持して扱わなければ整合性がとれなくなるおそれがあるところ、順序を維持して分割すれば分割後の式を用いて並列処理も可能となる。例えば次のような式を分割する場合について説明する。
（例）
Ａ（Ｂ＋Ｃ）＋｛Ｄ＋Ｅ｝｛Ｆ＋Ｇ｝
この例では、Ａ（Ｂ＋Ｃ）と｛Ｄ＋Ｅ｝｛Ｆ＋Ｇ｝との間で分割することができる。なお、上述した分配律に基づき、Ａ×ＢとＡ×Ｃ＋｛Ｄ＋Ｅ｝｛Ｆ＋Ｇ｝とに分割するようにしてもよい。ただし、第２の括弧内であるＤとＥとの間、又はＦとＧとの間では分割を行わないものとする。そして、分割後の式の各々に対して並列に検索処理や集計処理を実行し、結果をさらに結合したり集計したりすることができる。すなわち、式表現で記述された対象情報を分散して保持し、並列処理が可能な形式に分割することができる。
【００９７】
具体的な分割位置は、ユーザによる指定を受け付けるようにしてもよい。この場合、例えば上記の条件に基づき、式表現において「＋」で接続された箇所のいずれかをユーザが指定する。そして、指定された箇所で複数の式（すなわち、対象情報の部分集合）に分割する。例えばユーザが項「フランス（式２）」と項「日本（式３）」との間を指定した場合、対象情報は次のような位置表現式で表される２つの部分集合に分割される。
（分割例１）
<1×1>（ドイツ（式１）+フランス（式２））、
<2×1>（日本（式３）+ドイツ（式４）+フランス（式５）+日本（式６）+ドイツ（式７）+フランス（式８）+日本（式９）+・・・）
【００９８】
また、データサイズに基づいて分割後の部分集合が所定の容量以内となるように分割位置を決定してもよい。この場合、例えば先頭からのデータ量を計算し、所定の閾値を越える直前に存在する項の間で分割する。このようにすれば、分割後の式の容量が一定以下になるように対象情報を分割することができる。例えば先頭から式５の途中までで所定の容量を超え、さらに式４の後から式９の途中までで所定の容量を超える場合、対象情報は次のような３つ以上の部分集合に分割される。
（分割例２）
<1×1>（ドイツ（式１）+フランス（式２）+日本（式３）+ドイツ（式４））、
<2×1>（フランス（式５）+日本（式６）+ドイツ（式７）+フランス（式８））、
<3×1>（日本（式９）+・・・
【００９９】
また、各項内において積演算子で接続された所定の因子を共通に含む項ごとに分割するようにしてもよい。このようにすれば、情報の意味や特徴に基づいて対象情報を分割することができる。上述の式表現の例を参照すると、各項内において国名である「ドイツ」、「フランス」、「日本」といった因子が積演算子で結合されている。よって、例えば各項において左側に積演算子で結合されている因子が共通する項ごとに分割すると、対象情報は次のような３つの部分集合に分割される。
（分割例３）
ドイツ（<1×2>（式１）+<4×2>（式４）+<7×2>（式７）+・・・）、
フランス（<2×2>（式２）+<5×2>（式５）+<8×2>（式８）+・・・）、
日本（<3×2>（式３）+<6×2>（式６）+<9×2>（式９）+・・・）
【０１００】
その後、情報処理装置１００は、分割後の対象情報の部分集合をサーバ装置２００に分散して格納させる（Ｄ３）。本ステップでは、所定の規則に基づいて複数のサーバ装置２００にデータを振り分け、ネットワークを介して送信する。一方、データを取得したサーバ装置２００は、それぞれ記憶装置にデータを格納する。上述の分割例１の場合、２つのサーバ装置２００は、それぞれ図１０Ａ及び図１０Ｂに示すようにＫＶＳ形式でデータを保持する。図１０Ａ及び図１０Ｂの例では、分割後の項ごとに、キーに位置情報が、バリューに式が対応付けられて格納されている。また、分割例２の場合、３つのサーバ装置２００は、それぞれ図１１Ａ〜図１１Ｃに示すようにＫＶＳ形式でデータを保持する。図１１Ａ〜図１１Ｃの例でも、分割後の項ごとに、キーに位置情報が、バリューに式が対応付けられて格納されている。また、分割例３の場合、３つのサーバ装置２００は、それぞれ図１２Ａ〜図１２Ｃに示すようにＫＶＳ形式でデータを保持する。図１２Ａ〜図１２Ｃの例では、分割後の項ごとに、キーには共通因子が、バリューには共通因子と積演算子で結合された位置表現式が対応付けられて格納されている。
【０１０１】
以上のような分割処理により、式で記述された対象情報を複数のサーバ装置２００に分散配置することができる。また、上述の分割例１〜３のように分割後の各項につきそれぞれに含まれる少なくとも１つの因子に位置情報を付加すれば、位置情報に基づいて各項を結合することで元の式に戻すことができる。このとき、各項に構造の異なる式が含まれていても処理が可能である。図１０Ａ〜図１２Ｃに示すように、分割は、順序因子構成演算子で包囲された式の外側であって、和演算子で接続された位置のいずれかで行われる。すなわち、式１、式２、式３、・・・といった対象情報の内容は、維持すべき構成要素（識別子等）の順序を保持しつつ分割される。よって、分割後のデータに対し並列処理を行うことができる。なお、同一の情報を複数のサーバ装置２００で重複して保持することにより、可用性を向上させてもよい。
【０１０２】
（結合処理）
次に、分散配置した対象情報を結合（復元）してユーザに提示する処理を説明する。上述の分割処理によって生成された対象情報の部分集合は、位置情報に基づいて元の対象情報に戻すことができる。具体的には、各項のいずれかの因子に付加されている位置情報に基づいて、項の出現順位を示す値の小さい順、且つ因子の出現順位の小さい順に結合する。
【０１０３】
図１３に、結合処理を実行するアプリケーションプログラムの処理例を示す。なお、分割処理によって生成された位置表現式が、複数のサーバ装置２００において図１０Ａ及び図１０Ｂ、図１１Ａ〜図１１Ｃ、又は図１２Ａ〜図１２ＣのＫＶＳ形式で保持されているものとする。
【０１０４】
まず、情報処理装置１００は、ユーザから結合処理の実行指示を受け付ける（図１３：Ｃ１）。また、情報処理装置１００は、複数のサーバ装置２００に分散して格納されている対象情報の部分集合を各サーバ装置２００から取得する（Ｃ２）。
【０１０５】
その後、情報処理装置１００は、取得した結果を結合する（Ｃ３）。サーバ装置２００から取得した情報には位置情報が付加されているため、位置情報に基づいて項の出現順位を示す値の小さい順、且つ因子の出現順位の小さい順に結合することにより、もとの対象情報を生成することができる。本実施形態によれば各サーバ装置２００が処理した結果を情報処理装置１００は単純に結合することができるため、サーバ装置の数を増やすことで全体の処理速度を向上させることができる。
【０１０６】
その後、情報処理装置１００は、結合した結果を出力する（Ｃ４）。ここでは、例えば位置情報を含む位置表現式として記述された対象情報を出力してもよいし、位置情報を削除して式表現で記述された対象情報を出力してもよい。以上で、結合処理を終了する。
【０１０７】
（具体的なデータへの適用例）
本実施形態に係る分割処理は、様々なデータを対象情報として扱うことができる。例えば、ビルディングのような建築物に設けられた設備、工業製品等のＢＯＭ（Bills of Materials：構成表）を式表現に変換して扱うことができる。一般的にＢＯＭはメーカーごとに異なる形式で記述されている。そして、完成品である建築物や工業製品には複数の構成要素が含まれる。スキーマの統一されていないデータをそのまま結合したり、例えば建物や建設会社、設備機器メーカーを示す因子に基づいて、建物、建設会社又は設備機器メーカーごとに分割したりすることができる。また、分割後のデータを用いて並列に処理を行ってもよい。分散処理によって処理性能を向上させることができる。
【０１０８】
同様に、加工食品の原材料を対象情報としてもよい。食品は、生産から小売りまでの各段階において取引データの項目が異なる。また、卸業者の変更や品質検査ステップの追加等、流通フローが変化することもある。上記実施形態に係る処理によれば、スキーマの統一されていないデータを統合して扱うことができる。また、上記の分散処理によれば処理性能を向上させることができる。
【０１０９】
また、不動産の地番を対象情報としてもよい。土地は区画整理等による分割（分筆）や、統合（合筆）により地番が変更されたり、地名が変更されたりすることがある。このようなデータは、例えばポインタを用いることで閉路のない有向グラフ（ＤＡＧ：Directed Acyclic Graph）として扱うことができる。式表現や位置表現式によれば、ポインタ属性を設けることで、地番が変わった場合であってもある土地の地目を容易に過去にさかのぼって参照可能なシステムを構築することができる。
【０１１０】
その他、人脈の接続関係（人材の交友関係）や、ソフトウェア開発における顧客要件と要件定義との関連付け、化学分野における化学式の原子の接続関係など、システムで関連付けが困難であった情報を処理可能とすることができ、さらに処理性能を向上させることができる。なお、各データを式表現や位置表現式に変換する処理は、具体的なデータ毎に定義することができる。
【０１１１】
（その他の変形例）
上記の例では１つの対象情報を分割する処理、及び復元（結合）する処理を説明したが、複数の対象情報を統合する処理、及び復元（分割）する処理を行うこともできる。図１４は、複数の対象情報の統合及び復元（分割）を説明するための図である。上段に示すように、ドイツのＤＢ（Database）、フランスのＤＢ及び日本のＤＢに、それぞれ式１〜式３、式４〜式６及び式７〜式９が登録されている。ここでは、例えば図２〜図４に示したようなデータ構造の対象情報が式で記述され、各ＤＢに登録されている。また、各ＤＢは、例えば図示していない３つのサーバ装置にそれぞれ格納されている。なお、各ＤＢは例えば国ごとにそれぞれスキーマが異なっていてもよい。
【０１１２】
次に、図１４の中段では、３つの対象情報が統合されている。ここでは、国名を表す因子と当該国のＤＢに登録されていた式を記述した因子とが積演算子で接続された項を形成し、３つのＤＢぶんの項が和演算子で接続された式が、統合ＤＢに登録されている。統合された式は、国名を表す因子をキーとし、当該国名と積演算子で接続された式をバリューとするＫＶＳ形式で保持するようにしてもよいし、例えばさらに各式にもとのＤＢにおける位置情報を付加しておいてもよい。このように、国名を表す因子は、統合前のＤＢを特定するための情報ともいえる。
【０１１３】
その後、図１４の下段では、３つの対象情報が復元（分割）されている。分割は、例えば、各項の中において積演算子で接続された最も左の因子、又は各項の中において積演算子で接続された１つの識別子からなる因子に基づいて行う。そして、当該因子が示すＤＢ（各国のＤＢ）に分割して登録する。なお、式は１行のテキストで記述されるため、分割後はもとの対象情報が復元されるが、位置情報が付加されている場合には位置情報に基づいて分割するようにしてもよい。以上のような処理によれば、複数のサーバ装置で管理されている対象情報を統合して統合後のデータに様々な処理を行うことができるとともに、元の対象情報を復元することができる。なお、複数の対象情報はスキーマが統一されていなくてもよい。
【０１１４】
また、実施形態で述べた式表現を示す記号、位置表現式を示す記号は、一例である。したがって、例えば、和演算子、積演算子、集合因子構成演算子、順序因子構成演算子に代えて、他の記号を用いてもよい。また、位置表現＜ｉ×ｊ＞（ｉ×ｊ）｛ｉ×ｊ｝に代えて、他の記号を用いてもよい。
【０１１５】
また、実施形態で述べた式表現、および位置表現式の適用対象は、ＫＶＳに限定される訳ではない。ただし、位置情報と識別子とをＫＶＳ形式で保持することにより、分散処理に好適なシステムを構築することができる。
【０１１６】
また、アプリケーションは、式表現で含まれる識別子に関連する関連情報法を取得する処理に限定される訳ではない。実施形態に示した情報処理装置１００、サーバ装置２００の機能は、これまで提案されていなかった新たなデータベースのデータ構造と、データ処理の手順を例示している。したがって、実施形態の技術は、利用者が取り扱う事物、組織、人などに関する情報、あるいは利用者が取り扱う概念などのコンピュータ上での処理に適用できる。そのようなコンピュータ上の処理としては、例えば、事物、組織、人などに関する情報、あるいは概念をコンピュータ上の情報として記述し、メモリ等の主記憶装置、ハードディスク等の外部記憶装置に格納し、データベースを構築し、格納した情報を抽出し、更新し、管理する技術一般に適用できる。すなわち、実施形態に係る情報処理装置１００、サーバ装置２００は、コンピュータ上の新たな情報の表現技術を例示する。
【符号の説明】
【０１１７】
１１、２１    入力部
１２、２２    メモリ
１３、２３    ＣＰＵ
１４、２４    出力部
１５、１６、２５、２６  インターフェース
１００    情報処理装置
２００    サーバ装置
【図１】
0006542204.tif 000002
【図２】
0006542204.tif 000003
【図３】
0006542204.tif 000004
【図４】
0006542204.tif 000005
【図５】
0006542204.tif 000006
【図６】
0006542204.tif 000007
【図７】
0006542204.tif 000008
【図８】
0006542204.tif 000009
【図９】
0006542204.tif 000010
【図１０Ａ】
0006542204.tif 000011
【図１０Ｂ】
0006542204.tif 000012
【図１１Ａ】
0006542204.tif 000013
【図１１Ｂ】
0006542204.tif 000014
【図１１Ｃ】
0006542204.tif 000015
【図１２Ａ】
0006542204.tif 000016
【図１２Ｂ】
0006542204.tif 000017
【図１２Ｃ】
0006542204.tif 000018
【図１３】
0006542204.tif 000019
【図１４】
0006542204.tif 000020