(57)【要約】  階層構造を有するデータベースを仲介に用いることにより、粒度の異なるデータを管理するデータベース間であっても、透過的なデータ交換を実現することができるデータ交換システム、データ交換方法、及びデータ交換プログラムを提供する。データ交換システム１は、基盤データベース１２０と、変換データベース１０５と、基盤コード変換部１１０と、標準データが他のデータベース識別子に対応づけて変換データベース１０５に格納されているか否かを判断するコード存在判断部１１５と、他のデータベース識別子に対応づけて変換データベース１０５に標準データに対応する基盤コードが格納されている場合、標準データを外部識別コードに変換し、格納されていない場合、標準データを基盤データベース１２０が格納している階層構造の基盤コードと他のデータベース識別子とに対応づけて変換データベース１０５に格納されている外部識別コードに変換するデータ変換部１２５とを備える。
2017208922.tif 000002
【特許請求の範囲】
【請求項１】
階層構造を有するデータベースを仲介に用いることにより、外部データベース間の透過的なデータ交換を実現するデータ交換システムであって、
データを識別する基盤コードの階層構造により表される階層構造情報を格納する基盤データベースと、
外部データベースに格納されている外部データを識別する外部識別コードを、前記外部データベースを識別するデータベース識別子と前記基盤データベースに格納されている前記基盤コードとに対応づけて格納する変換データベースと、
一の外部データベースからの一の外部データを識別する一の外部識別コードを、前記一の外部データベースのデータベース識別子に対応づけて前記変換データベースに格納されている前記基盤コードを対応づけた標準データに変換する基盤コード変換部と、
前記標準データに対応する前記基盤コードが、他の外部データベースを識別する他のデータベース識別子に対応づけて前記変換データベースに格納されているか否かを判断するコード存在判断部と、
前記他のデータベース識別子に対応づけて前記変換データベースに前記標準データに対応する前記基盤コードが格納されている場合、前記標準データを、前記標準データに対応する前記基盤コードと前記他のデータベース識別子とに対応づけて前記変換データベースに格納されている前記外部識別コードに変換し、
前記他のデータベース識別子に対応づけて前記変換データベースに前記標準データに対応する前記基盤コードが格納されていない場合、前記標準データを、前記基盤データベースが格納している前記階層構造を前記標準データに対応する前記基盤コードの分類位置から上位に遡った分類位置、下位に下った分類位置、若しくは当該分類位置と同列の分類位置の基盤コードと前記他のデータベース識別子とに対応づけて前記変換データベースに格納されている前記外部識別コードに変換するデータ変換部と
を備えるデータ交換システム。
【請求項２】
前記階層構造情報が、所定のデータの上位概念のデータを識別する基盤コード、前記所定のデータの下位概念のデータを識別する基盤コード、若しくは前記所定のデータを識別する基盤コードの少なくともいずれかを含んで構築される前記基盤コードの前記階層構造により表される情報である請求項１に記載のデータ交換システム。
【請求項３】
前記データ変換部が変換した前記外部識別コードに、前記一の外部データに関連する付加情報を付帯させる情報付帯部
を更に備える請求項１又は２に記載のデータ交換システム。
【請求項４】
前記データ変換部が変換した前記外部識別コードに、前記一の外部データベースから受け取った前記一の外部データの前記一の外部識別コードを付帯させるコード付帯部
を更に備える請求項１〜３のいずれか１項に記載のデータ交換システム。
【請求項５】
前記基盤コード変換部が、前記一の外部データベースから、前記他のデータベース識別子と前記他のデータベースの他の外部データを識別する他の外部識別コードと共に前記一の外部データを受け取った場合、前記他のデータベース識別子と前記他の外部識別コードとのセットを前記標準データに付加するか、若しくは前記標準データを生成せず、
前記コード存在判断部が、前記他のデータベース識別子に対応づけて前記変換データベースに格納されているか否かを判断せず、
前記データ変換部が、前記他の外部識別コードを変換された外部識別コードとして扱う請求項１〜４のいずれか１項に記載のデータ交換システム。
【請求項６】
前記変換データベースが、前記一の外部識別コードに対応する、前記他のデータベース識別子と前記他のデータベースの他の外部データを識別する他の外部識別コードとのセットを格納し、
前記基盤コード変換部が、前記変換データベースを参照し、前記セットを前記標準データに付加するか、若しくは前記標準データを生成せず、
前記コード存在判断部が、前記他のデータベース識別子に対応づけて前記変換データベースに格納されているか否かを判断せず、
前記データ変換部が、前記他の外部識別コードを変換された外部識別コードとして扱う請求項１〜４のいずれか１項に記載のデータ交換システム。
【請求項７】
前記変換データベースが、前記他のデータベースの他の外部データを識別する他の外部識別コードに対応する、前記一のデータベース識別子と前記一の外部識別コードとのセットを格納し、
前記データ変換部が、前記コード存在判断部による判断の前に、前記標準データに保持されたデータベース識別子及び外部識別コードに基づいて前記変換データベースを検索し、前記変換データベースに前記標準データに保持された前記データベース識別子及び前記外部識別コードに対応するデータベース識別子及び外部識別コードが格納されている場合、当該外部識別コードを変換された外部識別コードとして扱う請求項１〜４のいずれか１項に記載のデータ交換システム。
【請求項８】
前記一の外部データベースから前記一の外部データに対応する前記基盤コードを直接、受け付けた場合において、
前記基盤コード変換部が、前記変換データベースを参照せず、
前記コード存在判断部が、直接、受け付けた前記基盤コードを用いて判断する請求項１〜７のいずれか１項に記載のデータ交換システム。
【請求項９】
階層構造を有するデータベースを仲介に用いることにより、外部データベース間の透過的なデータ交換を実現するデータ交換システムであって、
前記データ交換システムが、外部データベースに格納されている外部データを処理する入力データ処理ユニットと、前記入力データ処理ユニットにおける処理に基づいて他の外部データベースに提供するデータを処理する出力データ処理ユニットと
を備え、
前記入力データ処理ユニットが、
データを識別する基盤コードの階層構造により表される階層構造情報を格納する基盤データベースと、
前記外部データを識別する外部識別コードを、前記外部データベースを識別するデータベース識別子と前記基盤データベースに格納されている前記基盤コードとに対応づけて格納する変換データベースと、
一の外部データベースからの一の外部データを識別する一の外部識別コードを、前記一の外部データベースのデータベース識別子に対応づけて前記変換データベースに格納されている前記基盤コードを対応づけた標準データに変換する基盤コード変換部と、
を有し、
前記出力データ処理ユニットが、
前記他の外部データベースを識別する他のデータベース識別子に対応づけて前記変換データベースに前記標準データに対応する前記基盤コードが格納されている場合、前記標準データを、前記標準データに対応する前記基盤コードと前記他のデータベース識別子とに対応づけて前記変換データベースに格納されている前記外部識別コードに変換し、
前記他のデータベース識別子に対応づけて前記変換データベースに前記標準データに対応する前記基盤コードが格納されていない場合、前記標準データを、前記基盤データベースが格納している前記階層構造を前記標準データに対応する前記基盤コードの分類位置から上位に遡った分類位置、下位に下った分類位置、若しくは当該分類位置と同列の分類位置の基盤コードと前記他のデータベース識別子とに対応づけて前記変換データベースに格納されている前記外部識別コードに変換するデータ変換部
を有するデータ交換システム。
【請求項１０】
階層構造を有するデータベースを仲介に用いることにより、外部データベース間の透過的なデータ交換を実現するデータ交換システムにおけるデータ交換方法であって、
前記データ交換システムが、データを識別する基盤コードの階層構造により表される階層構造情報を格納する基盤データベースと、外部データベースに格納されている外部データを識別する外部識別コードを、前記外部データベースを識別するデータベース識別子と前記基盤データベースに格納されている前記基盤コードとに対応づけて格納する変換データベースとを有し、
一の外部データベースからの一の外部データを識別する一の外部識別コードを、前記一の外部データベースのデータベース識別子に対応づけて前記変換データベースに格納されている前記基盤コードを対応づけた標準データに変換する基盤コード変換段階と、
前記標準データに対応する前記基盤コードが、他の外部データベースを識別する他のデータベース識別子に対応づけて前記変換データベースに格納されているか否かを判断するコード存在判断段階と、
前記他のデータベース識別子に対応づけて前記変換データベースに前記標準データに対応する前記基盤コードが格納されている場合、前記標準データを、前記標準データに対応する前記基盤コードと前記他のデータベース識別子とに対応づけて前記変換データベースに格納されている前記外部識別コードに変換し、
前記他のデータベース識別子に対応づけて前記変換データベースに前記標準データに対応する前記基盤コードが格納されていない場合、前記標準データを、前記基盤データベースが格納している前記階層構造を前記標準データに対応する前記基盤コードの分類位置から上位に遡った分類位置、下位に下った分類位置、若しくは当該分類位置と同列の分類位置の基盤コードと前記他のデータベース識別子とに対応づけて前記変換データベースに格納されている前記外部識別コードに変換するデータ変換段階と
を備えるデータ交換方法。
【請求項１１】
階層構造を有するデータベースを仲介に用いることにより、外部データベース間の透過的なデータ交換を実現するデータ交換システム用のデータ交換プログラムであって、
前記データ交換システムが、データを識別する基盤コードの階層構造により表される階層構造情報を格納する基盤データベースと、外部データベースに格納されている外部データを識別する外部識別コードを、前記外部データベースを識別するデータベース識別子と前記基盤データベースに格納されている前記基盤コードとに対応づけて格納する変換データベースとを有し、
コンピューターに、
一の外部データベースからの一の外部データを識別する一の外部識別コードを、前記一の外部データベースのデータベース識別子に対応づけて前記変換データベースに格納されている前記基盤コードを対応づけた標準データに変換する基盤コード変換機能と、
前記標準データに対応する前記基盤コードが、他の外部データベースを識別する他のデータベース識別子に対応づけて前記変換データベースに格納されているか否かを判断するコード存在判断機能と、
前記他のデータベース識別子に対応づけて前記変換データベースに前記標準データに対応する前記基盤コードが格納されている場合、前記標準データを、前記標準データに対応する前記基盤コードと前記他のデータベース識別子とに対応づけて前記変換データベースに格納されている前記外部識別コードに変換し、
前記他のデータベース識別子に対応づけて前記変換データベースに前記標準データに対応する前記基盤コードが格納されていない場合、前記標準データを、前記基盤データベースが格納している前記階層構造を前記標準データに対応する前記基盤コードの分類位置から上位に遡った分類位置、下位に下った分類位置、若しくは当該分類位置と同列の分類位置の基盤コードと前記他のデータベース識別子とに対応づけて前記変換データベースに格納されている前記外部識別コードに変換するデータ変換機能と
を実現させるデータ交換プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ交換システム、データ交換方法、及びデータ交換プログラムに関する。特に、本発明は、階層構造を有するデータベースを用い、任意のシステム間でデータ交換を実行するデータ交換システム、データ交換方法、及びデータ交換プログラムに関する。
【背景技術】
【０００２】
多数の要素を有する集合をデータベース化し管理しようとする場合、一般に、これらの要素に一意で識別される識別子を付与する。例えば、ある会社の取り扱う商品には「商品コード」が付与され、この「商品コード」をベースに商取引される。ここで、取引の相手側が同一の商品に対して別の「商品コード」を付与していると、データ交換ができない。このような問題を解決するため、標準コード又は統一コード等が開発されている。【０００３】
しかし、これら標準コード又は統一コードでは解決できないケースがある。多数の要素が複雑な階層構造に分類され、各階層の分類要素（以下、「ノード」と称する場合がある）そのものが、有効な識別子として意味を有する場合である。例えば、食品流通構造改善促進機構が開発している「青果標準商品コード」には、「だいこん」の種類が複数（例えば「守口だいこん」等）登録されているが、本来これらをまとめる「分類概念」であるはずの「だいこん」もアイテムとして登録されている。「だいこん」も、ひとつの独立した要素概念として一般的に利用されるからである。「青果標準商品コード」では、これらのコードの間に階層関係が定義されていない。このため、「青果標準商品コード」を利用しようとしても、ある「だいこん」を「だいこん」として取り扱う事業者と、「守口だいこん」として取り扱う事業者の間ではデータ交換ができない。すなわち、階層構造で表現されるべき要素を取り扱う複数のデータベース間で、それぞれのデータベースが、異なる階層に位置すべき要素を管理している場合（以下、これをデータの「粒度が異なる」と称する場合がある）には、従来の標準コード又は統一コードといった概念によって、適切なデータ交換を実現することはできない。【０００４】
すなわち、本来は階層構造で表現されるべき要素を取り扱う複数のデータベース間で、それぞれのデータベースが階層構造中の異なる階層に位置すべき要素を管理しているような場合（以下、データの「粒度が異なる」と称する場合がある）には、従来の標準コード又は統一コードといった概念によって、適切なデータ交換を実現することはできない。【０００５】
従来、デジタルデータ通信網を介して製品又はサービスの複数の供給者と購入者との間の商取引を仲介する電子商取引仲介方法であって、（ａ）供給者の製品又はサービスを示す供給者側分類コード体系と購入者側分類コード体系との対応を示すための標準コード体系と、複数の供給者が供給する同一の製品又はサービスに関する属性情報を標準化しこれらの属性情報を対比して閲覧可能にした閲覧用データと、供給者と購入者との組合せごとに設定された取引条件を含む非閲覧用データとを仲介者のデータベースとして予め記憶しておき、（ｂ）仲介者は、購入者に提示する供給者の製品又はサービスの取引内容をこの購入者の分類コード体系にコード変換して購入者に提示し、（ｃ）購入者は、購入を希望する製品又はサービスを選定し、この選定した製品又はサービスに対する取引申込みを仲介者に対して行い、（ｄ）仲介者は、この購入者が選定した製品又はサービスの購入者ごとに異なる取引条件を前記非閲覧データから読出し、見積りを行って購入者に提示し、（ｅ）購入者は、工程（ｄ）で提示された見積りに基づいて供給者を決定し、（ｆ）仲介者はこの工程（ｅ）で決定した取引条件に基づいて、購入者及び供給者のそれぞれの分類コード体系にコード変換して、受発注手続を購入者及び供給者に代わって行う電子商取引仲介方法が知られている（例えば、特許文献１参照。）。特許文献１に記載の電子商取引仲介方法によれば、購入者と供給者との間にある分類コード体系の相違による障害をなくし、取引当事者ごとの特別な取引条件での取引を可能にできる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００２−２３０３４２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
特許文献１に記載されている電子商取引仲介方法は、サービス供給者側のコード体系と購入者側のコード体系とを１対１に対応させる標準コード体系を用いることで、コード体系の違いを吸収している。しかし、この方法では前述のような粒度の異なるデータを管理するデータベース間で、データ交換することはできない。【０００８】
したがって、本発明の目的は、階層構造を有するデータベースを仲介に用いることにより、透過的なデータ交換を実現することができるデータ交換システム、データ交換方法、及びデータ交換プログラムを提供することにある。
【課題を解決するための手段】
【０００９】
本発明は、上記目的を達成するため、階層構造を有するデータベースを仲介に用いることにより、外部データベース間の透過的なデータ交換を実現するデータ交換システムであって、データを識別する基盤コードの階層構造により表される階層構造情報を格納する基盤データベースと、外部データベースに格納されている外部データを識別する外部識別コードを、外部データベースを識別するデータベース識別子と基盤データベースに格納されている基盤コードとに対応づけて格納する変換データベースと、一の外部データベースからの一の外部データを識別する一の外部識別コードを、一の外部データベースのデータベース識別子に対応づけて変換データベースに格納されている基盤コードを対応づけた標準データに変換する基盤コード変換部と、標準データに対応する基盤コードが、他の外部データベースを識別する他のデータベース識別子に対応づけて変換データベースに格納されているか否かを判断するコード存在判断部と、他のデータベース識別子に対応づけて変換データベースに標準データに対応する基盤コードが格納されている場合、標準データを、標準データに対応する基盤コードと他のデータベース識別子とに対応づけて変換データベースに格納されている外部識別コードに変換し、他のデータベース識別子に対応づけて変換データベースに標準データに対応する基盤コードが格納されていない場合、標準データを、基盤データベースが格納している階層構造を標準データに対応する基盤コードの分類位置から上位に遡った分類位置、下位に下った分類位置、若しくは当該分類位置と同列の分類位置の基盤コードと他のデータベース識別子とに対応づけて変換データベースに格納されている外部識別コードに変換するデータ変換部とを備えるデータ交換システムが提供される。【００１０】
また、上記データ交換システムにおいて、階層構造情報が、所定のデータの上位概念のデータを識別する基盤コード、所定のデータの下位概念のデータを識別する基盤コード、若しくは所定のデータを識別する基盤コードの少なくともいずれかを含んで構築される基盤コードの階層構造により表される情報であってもよい。【００１１】
また、上記データ交換システムにおいて、データ変換部が変換した外部識別コードに、一の外部データに関連する付加情報を付帯させる情報付帯部を更に備えることもできる。【００１２】
また、上記データ交換システムにおいて、データ変換部が変換した外部識別コードに、一の外部データベースから受け取った一の外部データの一の外部識別コードを付帯させるコード付帯部を更に備えることもできる。【００１３】
また、上記データ交換システムにおいて、基盤コード変換部が、一の外部データベースから、他のデータベース識別子と他のデータベースの他の外部データを識別する他の外部識別コードと共に一の外部データを受け取った場合、他のデータベース識別子と他の外部識別コードとのセットを標準データに付加するか、若しくは標準データを生成せず、コード存在判断部が、他のデータベース識別子に対応づけて変換データベースに格納されているか否かを判断せず、データ変換部が、他の外部識別コードを変換された外部識別コードとして扱うこともできる。【００１４】
また、上記データ交換システムにおいて、変換データベースが、一の外部識別コードに対応する、他のデータベース識別子と他のデータベースの他の外部データを識別する他の外部識別コードとのセットを格納し、基盤コード変換部が、変換データベースを参照し、当該セットを標準データに付加するか、若しくは標準データを生成せず、コード存在判断部が、他のデータベース識別子に対応づけて変換データベースに格納されているか否かを判断せず、データ変換部が、他の外部識別コードを変換された外部識別コードとして扱うこともできる。【００１５】
また、上記データ交換システムにおいて、変換データベースが、他のデータベースの他の外部データを識別する他の外部識別コードに対応する、一のデータベース識別子と一の外部識別コードとのセットを格納し、データ変換部が、コード存在判断部による判断の前に、標準データに保持されたデータベース識別子及び外部識別コードに基づいて変換データベースを検索し、変換データベースに標準データに保持されたデータベース識別子及び外部識別コードに対応するデータベース識別子及び外部識別コードが格納されている場合、当該外部識別コードを変換された外部識別コードとして扱うこともできる。【００１６】
また、上記データ交換システムにおいて、一の外部データベースから一の外部データに対応する基盤コードを直接、受け付けた場合において、基盤コード変換部が、変換データベースを参照せず、コード存在判断部が、直接、受け付けた基盤コードを用いて判断することもできる。【００１７】
また、本発明は上記目的を達成するため、階層構造を有するデータベースを仲介に用いることにより、外部データベース間の透過的なデータ交換を実現するデータ交換システムであって、データ交換システムが、外部データベースに格納されている外部データを処理する入力データ処理ユニットと、入力データ処理ユニットにおける処理に基づいて他の外部データベースに提供するデータを処理する出力データ処理ユニットとを備え、入力データ処理ユニットが、データを識別する基盤コードの階層構造により表される階層構造情報を格納する基盤データベースと、外部データを識別する外部識別コードを、外部データベースを識別するデータベース識別子と基盤データベースに格納されている基盤コードとに対応づけて格納する変換データベースと、一の外部データベースからの一の外部データを識別する一の外部識別コードを、一の外部データベースのデータベース識別子に対応づけて変換データベースに格納されている基盤コードを対応づけた標準データに変換する基盤コード変換部とを有し、出力データ処理ユニットが、他の外部データベースを識別する他のデータベース識別子に対応づけて変換データベースに標準データに対応する基盤コードが格納されている場合、標準データを、標準データに対応する基盤コードと他のデータベース識別子とに対応づけて変換データベースに格納されている外部識別コードに変換し、他のデータベース識別子に対応づけて変換データベースに標準データに対応する基盤コードが格納されていない場合、標準データを、基盤データベースが格納している階層構造を標準データに対応する基盤コードの分類位置から上位に遡った分類位置、下位に下った分類位置、若しくは当該分類位置と同列の分類位置の基盤コードと他のデータベース識別子とに対応づけて変換データベースに格納されている外部識別コードに変換するデータ変換部を有するデータ交換システムが提供される。【００１８】
また、本発明は上記目的を達成するため、階層構造を有するデータベースを仲介に用いることにより、外部データベース間の透過的なデータ交換を実現するデータ交換システムにおけるデータ交換方法であって、データ交換システムが、データを識別する基盤コードの階層構造により表される階層構造情報を格納する基盤データベースと、外部データベースに格納されている外部データを識別する外部識別コードを、外部データベースを識別するデータベース識別子と基盤データベースに格納されている基盤コードとに対応づけて格納する変換データベースとを有し、一の外部データベースからの一の外部データを識別する一の外部識別コードを、一の外部データベースのデータベース識別子に対応づけて変換データベースに格納されている基盤コードを対応づけた標準データに変換する基盤コード変換段階と、標準データに対応する基盤コードが、他の外部データベースを識別する他のデータベース識別子に対応づけて変換データベースに格納されているか否かを判断するコード存在判断段階と、他のデータベース識別子に対応づけて変換データベースに標準データに対応する基盤コードが格納されている場合、標準データを、標準データに対応する基盤コードと他のデータベース識別子とに対応づけて変換データベースに格納されている外部識別コードに変換し、他のデータベース識別子に対応づけて変換データベースに標準データに対応する基盤コードが格納されていない場合、標準データを、基盤データベースが格納している階層構造を標準データに対応する基盤コードの分類位置から上位に遡った分類位置、下位に下った分類位置、若しくは当該分類位置と同列の分類位置の基盤コードと他のデータベース識別子とに対応づけて変換データベースに格納されている外部識別コードに変換するデータ変換段階とを備えるデータ交換方法が提供される。【００１９】
また、本発明は上記目的を達成するため、階層構造を有するデータベースを仲介に用いることにより、外部データベース間の透過的なデータ交換を実現するデータ交換システム用のデータ交換プログラムであって、データ交換システムが、データを識別する基盤コードの階層構造により表される階層構造情報を格納する基盤データベースと、外部データベースに格納されている外部データを識別する外部識別コードを、外部データベースを識別するデータベース識別子と基盤データベースに格納されている基盤コードとに対応づけて格納する変換データベースとを有し、コンピューターに、一の外部データベースからの一の外部データを識別する一の外部識別コードを、一の外部データベースのデータベース識別子に対応づけて変換データベースに格納されている基盤コードを対応づけた標準データに変換する基盤コード変換機能と、標準データに対応する基盤コードが、他の外部データベースを識別する他のデータベース識別子に対応づけて変換データベースに格納されているか否かを判断するコード存在判断機能と、他のデータベース識別子に対応づけて変換データベースに標準データに対応する基盤コードが格納されている場合、標準データを、標準データに対応する基盤コードと他のデータベース識別子とに対応づけて変換データベースに格納されている外部識別コードに変換し、他のデータベース識別子に対応づけて変換データベースに標準データに対応する基盤コードが格納されていない場合、標準データを、基盤データベースが格納している階層構造を標準データに対応する基盤コードの分類位置から上位に遡った分類位置、下位に下った分類位置、若しくは当該分類位置と同列の分類位置の基盤コードと他のデータベース識別子とに対応づけて変換データベースに格納されている外部識別コードに変換するデータ変換機能とを実現させるデータ交換プログラムが提供される。
【発明の効果】
【００２０】
本発明に係るデータ交換システム、データ交換方法、及びデータ交換プログラムによれば、階層構造を有するデータベースを仲介に用いることにより、透過的なデータ交換を実現することができるデータ交換システム、データ交換方法、及びデータ交換プログラムを提供できる。
【図面の簡単な説明】
【００２１】
【図１】本実施の形態に係るデータ交換システムの概要図である。
【図２】本実施の形態に係るデータ交換システムの機能構成ブロック図である。
【図３】本実施の形態に係る変換データベースのデータ構成図である。
【図４】本実施の形態に係る基盤データベースのデータ構成図である。
【図５】本実施の形態に係るデータ交換システムの他の形態の機能構成ブロック図である。
【図６】本実施の形態に係る変換データベースの一例を示す図である。
【図７】本実施の形態に係る基盤データベースの一例を示す図である。
【図８】本実施の形態に係るデータ交換システムにおける処理のフロー図である。
【図９】他の実施の形態に係る基盤データベースの図である。
【図１０】他の実施の形態に係る変換データベースのデータの図である。
【図１１】他の実施の形態に係るデータ交換システムにおけるデータ交換の流れの概念図である。
【図１２】本実施の形態に係るデータ交換システムのハードウェア構成図である。
【発明を実施するための形態】
【００２２】
［実施の形態］
図１は、本発明の実施の形態に係るデータ交換システムの概要を示す。
【００２３】
［データ交換システム１の概要］
工業製品等のように、一つ一つの製品が完全に規格化されている場合、単一品目に対して単一の識別子を対応づけることは容易である。一方、例えば、動物や植物の分類のように、曖昧で多彩な属性を有する要素を整理する場合、木構造を有する階層的な分類が要求される。このような要素に対して、一般的な一次元の構造で識別子を割り当てると問題が生じる。例えば、あるデータベースが「犬」という項目を要素として有するとしても、他のデータベースにおいては「犬」は分類であり、要素は「ポメラニアン」や「秋田犬」である場合がある。これらのデータベース間でデータ交換する場合には、本質的な困難を伴う。
【００２４】
これら異なるデータベース間でのデータ交換に関し、従来は統一的な「標準コード」又は「統一コード」を定め、その使用を推進することで解決するアプローチが進められてきた。しかしながら、標準コードや統一コードを利用する場合、様々な問題がある。まず、各事業者が独自のコード体系で既にデータベースを運用している場合、コード体系の変更には大きな困難が伴う。また、仮に変更が可能であったとしても、これら標準コードや統一コードをそのまま利用することは、自社の運用に適さない場合がある。例えば、「ポメラニアン」や「秋田犬」の分類まで必要とする事業者が存在する一方、「犬」の分類で十分である事業者も存在する。更には、双方を必要とする事業者も存在し得る。事業者によって必要とされる情報の「粒度」はそれぞれ異なることが通常である。
【００２５】
また、コード体系を標準コードや統一コードに変更しなくても、外部とデータを交換する場合に、これら標準コードや統一コードを利用すればよいという運用も模索されてきた。しかし、この場合も、前記と同様、各事業者の運用に適さない場合が存在することは変わらず、木構造を有する曖昧な属性を有するデータを管理する場合の本質的な困難を解決することはできない。
【００２６】
すなわち、このような階層的な属性を必要とする要素を管理する場合、標準コードや統一コードによるアプローチでは、各事業者が必要とする情報の「粒度」が異なるという問題を解決できない。これは、データ交換の場面で本質的な問題を引き起こす。例えば、製品を一意に識別するとされているＪＡＮコードにおいてさえも、ある製品においてはその製品の「色」が識別されず、一つのコードが割り当てられているため、色を指定して発注できない。また、ある製品では、色まで含めてコード化されているために、「色はどれでもいいからその製品が欲しい」という発注ができない等の問題が発生する。
【００２７】
本実施の形態に係るデータ交換システム１は、このような問題を解決すべく本発明者が創出したシステムであり、データ交換の基盤となる階層構造を有するデータベースの利用に際し、各事業者が採用している独自のコード体系を変更することなく、粒度の問題を吸収しながら自由なデータ交換を実現するシステムである。すなわち、データ交換システム１は、本来は階層構造で表現されるべき要素を取り扱う複数のデータベース間で、それぞれのデータベースが階層構造の異なる階層に位置すべき要素を管理しているような場合にも、透過的なデータ交換を実現するデータ交換システムである。
【００２８】
具体的に、本発明の実施の形態に係るデータ交換システム１は、互いに異なるコード体系のデータを格納する複数のデータベース（例えば、外部データベース２０、外部データベース２２、及び外部データベース２４等）それぞれの間におけるデータ交換を実行するデータ交換システムである。特に、本来は階層構造で表現されるべき要素を取り扱う複数のデータベース間で、それぞれのデータベースが階層構造の異なる階層に位置すべき要素を管理しているような場合にも、透過的なデータ交換を実現するデータ交換システムである。本実施の形態において、本来は階層構造で表現されるべき要素を取り扱う複数のデータベース間で、それぞれのデータベースが階層構造の異なる階層に位置すべき要素を管理している状態を、「粒度が異なる」という場合がある。すなわち、データ交換システム１は、一のコード体系の一のデータ（若しくはデータ群）を格納する一のデータベースと、一のコード体系とは異なる他のコード体系の他のデータ（若しくは他のデータ群）を格納する他のデータベースとの間において、データの粒度が異なっていても適切なデータ交換を実行するシステムである。
【００２９】
データ交換システム１は、基準になる属性が多様であり、属性の定義に曖昧さを含むデータのデータ交換を実行する。例えば、データ交換システム１は、動物・植物の分類に関するデータ、農産物に関するデータ（例えば、農産物の品種等）、生鮮食品（青果、水産物等を含む）に関するデータ、衣料品に関するデータ、又は食品（加工食品を含む）に関するデータ等のデータ交換用のシステムである。
【００３０】
例えば、一の外部データベース（以下、単に外部データベース２０と称する）が、他の外部データベース（以下、単に外部データベース２２と称する）に対し、所定の外部データ（すなわち、外部データベース２０に格納されているデータ）を供給する場合を説明する。ここでは一例として、外部データベース２０が、外部データベース２２に対して所定の商品を発注する情報を供給する例を説明する。
【００３１】
なお、各外部データベースとデータ交換システム１とは、インターネット等の通信網５を介して相互に通信可能に接続される。また、各外部データベースは、例えば、所定の製品若しくは商品の卸業者、仲卸業者、仲介業者、又は所定の製品若しくは商品の販売、又はサービスの提供を担う企業、商店、飲食店等、又は大学等の教育機関、官公庁等の公的機関等が備えるサーバーが有する。そして、当該サーバーは、データ交換システム１の機能及び構成の一部を有することもできる。
【００３２】
まず、外部データベース２０は、外部データを、この外部データを識別する外部識別コードに対応づけて格納する。具体的に外部データベース２０は、外部データの内容、及び／又は属性を識別する外部識別コードに対応づけて、この外部データを格納する。例えば、外部データベース２０は、「だいこん」に分類され、「だいこん」の下位概念である複数のだいこんの品種を外部データとし、外部データを一意に識別する外部識別コードに対応づけて、各外部データを格納する。一例として、外部データベース２０は、外部データ「守口大根」を外部識別コード「ａ１１’」に対応づけ、外部データ「土付大根」を外部識別コード「ａ１２’」に対応づけて格納する。
【００３３】
一方、外部データベース２２は、外部データベース２０とは異なるコード体系に基づいて外部データベース２０と同様に外部データを格納する。一例として、外部データベース２２は、「根菜類」に分類され、「根菜類」の下位概念である複数の根菜類の種類を外部データとし、外部データを一意に識別する外部識別コードに対応づけて、各外部データを格納する。一例として、外部データベース２２は、外部データ「だいこん」を外部識別コード「ａ１’」に対応づけ、外部データ「かぶ」を外部識別コード「ａ２’」に対応づけて格納する。
【００３４】
そして、データ交換システム１は、データ及び／又はデータの属性を識別する基盤コードの階層構造により表される階層構造情報を格納する基盤データベース１２０を備える。例えば、「青果物」は、「野菜」及び「果実」等の上位概念である。また、「野菜」の下位概念には「根菜類」及び「葉茎菜類」等が存在する。そして、「根菜類」の下位概念には、「だいこん」及び「かぶ」等が存在する。更に、「だいこん」の下位概念には「土付大根」及び「守口大根」等が存在する。基盤データベース１２０は、このような商品若しくは製品の属性を示す情報を、下位概念の属性を上位概念の属性で包括した階層を複数段階で保持する階層構造にした階層構造情報として格納する。
【００３５】
一例として、基盤データベース１２０は、データ「野菜」を識別する基盤コードに対応づけて、データ「根菜類」を識別する基盤コード「Ａ」、及びデータ「葉茎菜類」を識別する基盤コード「Ｂ」等を格納する。そして、基盤データベース１２０は、基盤コード「Ａ」に対応づけて、データ「だいこん」を識別する基盤コード「ａ１」、及びデータ「かぶ」を識別する基盤コード「ａ２」等を格納する。更に、基盤データベース１２０は、基盤コード「ａ１」に対応づけて、データ「守口大根」を識別する基盤コード「ａ１１」、及びデータ「土付大根」を識別する基盤コード「ａ１２」等を下位の階層に格納する。
【００３６】
すなわち、基盤データベース１２０は、データ「野菜」を識別する基盤コード、データ「野菜」の下位概念に含まれる複数のデータ（例えば、根菜類、葉茎菜類等）を識別する基盤コード、「根菜類」の下位概念に含まれる複数のデータ（例えば、土付大根、守口大根等の個別品）、及び「葉茎菜類」等の下位概念に含まれる複数のデータのそれぞれを識別する基盤コード、並びに個別品（例えば、土付大根、守口大根等）の更に下位概念に含まれる複数のデータのそれぞれを識別する基盤コードを、上位概念に対応する基盤コードから下位概念に対応する基盤コードまでを用いて構成される階層構造を有する階層構造情報として格納する。したがって、データ交換システム１は、所定の基盤コードが存在する場合、この所定の基盤コードの上位概念の基盤コード、若しくは下位概念の基盤コードを階層構造情報により示される階層構造をたどることで検索できる。特に、データ交換システム１においては、下位概念の基盤コードの分類位置から上位に遡ることにより、当該基盤コードの上位概念に対応する基盤コードを取得できる。
【００３７】
更に、データ交換システム１は、複数の外部データベースそれぞれの外部識別コードを、複数の外部データベースそれぞれを一意に識別するデータベース識別子と基盤データベース１２０に格納されている基盤コードとに対応づけて予め格納する変換データベース１０５を備える。一例として、変換データベース１０５は、外部データベース２０を識別するデータベース識別子に、データ「守口大根」を識別する外部識別コード「ａ１１’」と、基盤データベース１２０に格納されている基盤コード「ａ１１」とを対応づけて格納する。同様にして変換データベース１０５は、外部データベース２０を識別するデータベース識別子に、データ「土付大根」を識別する外部識別コード「ａ１２’」と、基盤データベース１２０に格納されている基盤コード「ａ１２」とを対応づけて格納する。また、変換データベース１０５は、外部データベース２２を識別するデータベース識別子に、データ「だいこん」を識別する外部識別コード「ａ１’」と、基盤データベース１２０に格納されている基盤コード「ａ１」とを対応づけて格納する。
【００３８】
ここで、外部データベース２０が、「土付大根」を発注する例を説明する。例えば、他の外部データベースである外部データベース２２は、「土付大根」に関するデータを格納していないものとする。まず、外部データベース２０は、「土付大根」の外部識別コード（例えば、外部識別コード「ａ１２’」）をデータ交換システム１に供給する。なお、外部データベース２０は、外部データベース２２を指定する情報（すなわち、外部データベース２２のデータベース識別子）と共に外部識別コード及び／又は外部データをデータ交換システム１に供給してもよい。
【００３９】
データ交換システム１は、外部データベース２０から受け取った外部識別コードを用いて変換データベース１０５を検索する。すなわち、データ交換システム１は、外部データベース２０を識別するデータベース識別子と外部識別コード（例えば、「ａ１２’」）とに対応づけて変換データベース１０５に格納されている基盤コードを検索し、外部識別コードを、検索により抽出される基盤コードを用いて標準データ（例えば、標準データ「ａ１２」）に変換する。具体的に、データ交換システム１は、基盤コードで表現されたデータを標準データとして用いる。標準データは、外部識別コードに基盤コード、外部データベース識別子、及び／又は外部データ等が対応づけられたデータである。また、標準データは、データ交換システム１にアクセスするデータベースが自在に参照できるデータである。
【００４０】
続いて、データ交換システム１は、他のいずれかの外部データベースのデータベース識別子に対応づけて変換データベース１０５に格納されている情報の中に、この標準データに対応する基盤コードが格納されているか否か判断する。例えば、データ交換システム１は、外部データベース２２のデータベース識別子に対応づけて変換データベース１０５がこの標準データに対応する基盤コードを格納しているか否かを判断する。
【００４１】
この場合、この標準データに対応する基盤コードは、外部データベース２２のデータベース識別子に対応づけて変換データベース１０５に格納されていない。したがって、データ交換システム１は、基盤データベース１２０を検索し、この標準データに対応する基盤コードを含む階層構造内のいずれかの基盤コードと外部データベース２２のデータベース識別子とに対応づけて変換データベース１０５に格納されている外部識別コードに、この標準データを変換する。
【００４２】
例えば、上記例において基盤データベース１２０は、階層構造内に基盤コード「ａ１２」の上位概念である基盤コード「ａ１」を含む。そして、変換データベース１０５は、外部データベース２２のデータベース識別子と基盤コード「ａ１」とに対応づけて、外部識別コード「ａ１’」を格納している。したがって、データ交換システム１は、標準データ「ａ１２」と一致する基盤コード「ａ１２」の分類位置から階層構造をたどって（例えば、階層の上位に遡って）基盤コード「ａ１」を抽出する。そして、データ交換システム１は、抽出した基盤コード「ａ１」と外部データベース２２のデータベース識別子とに対応づけて変換データベース１０５に格納されている外部識別コード「ａ１’」に、標準データ「ａ１２」を変換する。
【００４３】
すなわち、データ交換システム１は、外部データベース２２のデータベース識別子に対応づけて変換データベース１０５に標準データに対応する基盤コードが格納されていない場合、基盤データベース１２０の階層構造を上位概念の方向に遡って検索する（つまり、分類位置の上位の方向に検索する。）。そして、データ交換システム１は、検索により得られた基盤コードを、外部データベース２２のデータベース識別子と検索して得られた基盤コードとに対応づけて変換データベース１０５に格納されている外部識別コードに変換する。そして、データ交換システム１は、変換して得られた外部識別コード及び／又はこの外部識別コードに対応づけられている外部データを外部データベース２２に供給する。
【００４４】
なお、データ交換システム１は、変換データベース１０５にこの標準データに対応する基盤コードが格納されていると判断した場合には、外部データベース２２のデータベース識別子とこの標準データに対応する基盤コード（すなわち、変換データベース１０５に格納されている基盤コード）とに対応づけて変換データベース１０５に格納されている外部識別コード及び／又はこの外部識別コードに対応付けられている外部データを外部データベース２２に供給する。
【００４５】
これにより、本実施の形態に係るデータ交換システム１によれば、複数の外部データベースが互いに異なるコード体系でデータを格納している場合において、一の外部データベースのコード体系と他の外部データベースのコード体系とを１対１に対応させるデータベースを構築しなくても、一の外部データベースから他の外部データベースに所定のデータをスムーズに供給できる。また、データ交換システム１によれば、複数の外部データベースがそれぞれ格納するデータの粒度が互いに異なっていても、一の外部データベースから他の外部データベースへ適切なデータ交換ができる。すなわち、データ交換システム１によれば、一の外部データベースから、複数の外部データベースに対して柔軟にデータ交換ができる。
【００４６】
なお、データ交換システム１は、基盤コードに対応づけて、基盤コードに対応するデータに関する情報（例えば、所定の商品の属性に関する情報）をテキストデータ、数値データ、図形データ、及び／又は符号データとして格納する属性格納部を備えることもできる。
【００４７】
また、通信網５は、携帯電話網、及び／又はインターネット等の通信網である。通信網５は、有線ＬＡＮ及び無線ＬＡＮ等の通信ネットワークを含むこともできる。そして、複数の外部データベースはそれぞれ、所定のデータベース装置だけではなく、携帯電話、スマートフォン等の携帯通信端末、又はパーソナルコンピュータ、ノートパソコン、タブレットＰＣ等の情報処理端末が備えることができる。また、データ交換システム１は、通信網５がない場合、磁気記録媒体、光学記録媒体、及び／又は半導体記録媒体等の記録媒体を介して、外部から各種データを取得することもできる。
【００４８】
更に、データ交換システム１が扱うデータは、所定のコードが対応づけられ得るデータであって、様々なデータを含むデータベースにおいて用いられるデータである。特に、データは、一つ一つの品が完全に規格化されているとは限らない品目（すなわち、属性に曖昧性を有する品目）に関するデータであり、階層構造（すなわち、木構造）で分類可能なデータである。そして、データは、所定の市場において流通する製品、及び／又は商品に関するデータ、又は所定の情報を交換する組織（営利、非営利を問わない）間で用いられるデータであってよい。このデータは、例えば、動物・植物の分類に関するデータ、農産物に関するデータ、生鮮食品に関するデータ、衣料品に関するデータ、又は食品等に関するデータである。一例として、当該データは、生産者、品種・品目、産地、栽培地、栽培方法、季節、サイズ、及び／又はランク等が日によって変化する生鮮食品等に関するデータである。なお、生鮮食品は、青果、水産物等を含む。
【００４９】
［データ交換システム１の構成の詳細］
図２は、本発明の実施の形態に係るデータ交換システムの機能構成の一例を示す。なお、本実施の形態に係るデータ交換システム１は、複数の外部データベースと通信可能に接続することができるが、説明を簡略化するため、以下においては原則としてデータ交換システム１と１つの外部データベースとが通信網５を介して通信可能に接続されている例を説明する。
【００５０】
データ交換システム１は、外部からのデータの入力を受け付けるデータ入力部１００と、外部データベースを識別するデータベース識別子と基盤コードとに対応づけて外部識別コードを格納する変換データベース１０５と、外部データベースから受け取った外部識別コードを標準データに変換する基盤コード変換部１１０と、標準データに対応する基盤コードが他のデータベース識別子に対応づけて変換データベース１０５に格納されているか否かを判断するコード存在判断部１１５と、基盤コードの階層構造により表される階層構造情報を格納する基盤データベース１２０と、標準データを外部識別コードに変換するデータ変換部１２５と、外部識別コードに所定のデータを付帯させる付帯ユニット１３０と、外部にデータを出力するデータ出力部１４０と、変換データベース１０５が格納しているデータを更新する対応関係更新部１５０と、基盤データベース１２０が格納している情報を更新する情報更新部１５５とを備える。なお、データ交換システム１が備える各構成要素が、他の構成要素の一部の機能、若しくはすべての機能を兼ね備えてもよい。
【００５１】
（データ入力部１００）
データ入力部１００は、一の外部データベースから、一の外部データ、及び／又は一の外部データの供給先である他のデータベースを識別する他のデータベース識別子の入力を受け付ける。また、データ入力部１００は、変換データベース１０５が格納しているデータを更新する旨の情報若しくは指示、又は基盤データベース１２０が格納している情報を更新する旨の情報若しくは指示を受け取る。また、データ入力部１００は、一の外部データに関連する付加情報、及び／又は一の外部データを識別する一の外部識別コードの入力を受け付ける。なお、外部データは、複数の情報を保持することもできる。
【００５２】
更に、データ入力部１００は、一の外部データの入力を受け付ける場合に、一の外部データに対応する基盤コードの入力を直接、受け付けることもできる。この場合、基盤コード変換部１１０は、変換データベース１０５を参照せずに、直接、基盤コードをコード存在判断部１１５に供給する。なお、この場合において基盤コード変換部１１０は、基盤コードの存在の有無や適切性を判断し、所定のエラー処理を実行することもできる。この場合、データ交換システム１に所定のデータを供給する外部データベースは、変換データベース１０５に自身の外部識別コードを格納させることを要さない。この場合、外部データベースを備える外部のシステムが、所定のデータ変換機能を有することになる。
【００５３】
データ入力部１００は、一の外部データベースから受け取った一の外部データ、他のデータベース識別子、及び／又は一の外部識別コードを基盤コード変換部１１０に供給する。なお、この一の外部データには、一の外部データベースのデータベース識別子が含まれているか、若しくは対応づけられている。そして、一の外部データは、複数の異なる情報を含むこともできる。また、データ入力部１００は、変換データベース１０５が格納しているデータを更新する旨の情報若しくは指示を対応関係更新部１５０に供給する。更に、データ入力部１００は、基盤データベース１２０が格納している情報を更新する旨の情報若しくは指示を情報更新部１５５に供給する。また、データ入力部１００は、付加情報、及び／又は一の外部識別コードを付帯ユニット１３０に供給する。
【００５４】
（変換データベース１０５）
図３は、本発明の実施の形態に係る変換データベースのデータ構成の一例を示す。
【００５５】
変換データベース１０５は、予め定められたコード体系の外部データを格納する外部データベースの外部データを識別する外部識別コードを、外部データベースを識別するデータベース識別子と基盤データベース１２０に格納されているいずれかの基盤コードとに対応づけて格納する。図３に示すように、変換データベース１０５は、外部データベースを一意に識別するデータベース識別子に対応づけて、当該外部データベースが格納している外部データの属性、及び／又は概念等を識別する外部識別コードと、外部識別コードに対応する基盤コードとを格納する。ここで、変換データベース１０５に格納される基盤コードは、基盤データベース１２０に格納されている基盤コードと同一である。この場合、変換データベース１０５は、外部識別コードを、データベース識別子、及び所定の基盤コードに静的に対応づけることになる。
【００５６】
例えば、変換データベース１０５は、外部識別コードに対応づける基盤コードとして、外部識別コードに対応する外部データの上位概念若しくは下位概念、又は同一概念に対応するデータに対応づけられる基盤コードを格納する。変換データベース１０５は、外部識別コードに対応する外部データに対応づけられる基盤コードとして、少なくとも外部データと同一若しくは同種の基盤コード、又は外部データの上位概念に対応するデータの基盤コードを格納することが好ましい。変換データベース１０５は、基盤コード変換部１１０、コード存在判断部１１５、及び／又はデータ変換部１２５の働きかけに応じ、格納しているデータを基盤コード変換部１１０、コード存在判断部１１５、及び／又はデータ変換部１２５のそれぞれに供給する。
【００５７】
また、変換データベース１０５は、外部識別コードと基盤コードとをｎ対ｍの関係で格納できる（ただし、ｎ及びｍはそれぞれ１以上の整数である。）。例えば、変換データベース１０５は、１つの外部識別コードに対し、複数の基盤コードを対応づけて格納できる（以下、外部識別コードの「複数登録」という場合がある。）。一例として、一の外部データベースが「青首だいこん」という情報と「守口だいこん」という情報とを外部データとして格納している一方で、「だいこん」という情報を格納していない場合を考える。更に、他の外部データベースから一の外部データベースが「青首だいこん」という情報及び「守口だいこん」という情報を除く他のだいこんの情報、例えば「土付だいこん」という情報を受け取る場合は当該情報を「青首だいこん」という情報へ変換することが要求されているとする。この場合、変換データベース１０５は、「青首だいこん」という情報に対応する外部識別コードに、「青首だいこん」に対応する基盤コードだけでなく、「土付だいこん」に対応する基盤コードも対応づけることができる。また、「青首だいこん」に対応する基盤コードに、基盤データベース１２０が格納している階層構造の一つ上位の基盤コード（例えば、「だいこん」に対応する基盤コード）を対応づけることで、その他の種類の「だいこん」すべてについて、「青首だいこん」に対応する基盤コードを用いることができる。
【００５８】
ここで、１つの外部識別コードに対し、複数の基盤コードが対応づけられている場合、変換データベース１０５が格納している外部識別コードと一の基盤コードとの対応関係に、他の対応関係に優先することを示す「主登録」を示す情報を対応づけることもできる。基盤コード変換部１１０は、「主登録」を示す情報が対応づけられている外部識別コードと基盤コードとを優先的に用いて変換処理を実行するので、安定的な変換処理結果を得ることができる。
【００５９】
更に、変換データベース１０５は、１つの基盤コードに対し、複数の外部識別コードを対応づけて格納することもできる（以下、基盤コードの「複数登録」という場合がある。）。例えば、一の外部データベースが「青首だいこん」という情報と「守口だいこん」という情報を外部データとして格納している一方、これらの情報の全てを「だいこん」に対応する基盤コードに対応づける場合である。ただし、この場合、本来の情報（例えば、「青首だいこん」の「青首」部分の情報）が損失し得る。なお、このような機能は階層を遡る検索で実現することもできるので、データ交換システム１は、変換データベース１０５への基盤コードの複数登録を禁止してもよい。
【００６０】
ここで、変換データベース１０５が基盤コードを複数登録している場合、変換データベース１０５が格納している基盤コードと一の外部識別コードとの対応関係に他の対応関係に優先することを示す「主登録」を示す情報を対応づけることができる。基盤コード変換部１１０は、「主登録」を示す情報が対応づけられている基盤コードと外部識別コードとを優先的に用いて変換処理を実行するので、安定的な変換処理結果を得ることができる。
【００６１】
なお、変換データベース１０５は、人工知能により制御され、外部識別コードを、データベース識別子と基盤データベース１２０に格納されているいずれかの基盤コードとに動的に対応づけて格納してもよい。この場合、変換データベース１０５は、外部識別コードとデータベース識別子及び／又は基盤コードとを動的に対応付ける機能を有することができる。変換データベース１０５は、この対応付けを人工知能による学習により随時更新できる。人工知能は、外部のサーバ等から通信網５を介して提供される情報に基づいて学習してもよい。変換データベース１０５は人工知能による学習結果を格納し、随時更新できる。
【００６２】
（基盤コード変換部１１０）
基盤コード変換部１１０は、データ入力部１００から受け取った外部データ、外部識別コード、及び／又はデータベース識別子に基づいて、外部識別コードを標準データに変換する。すなわち、基盤コード変換部１１０は、一の外部データベースからの一の外部データを識別する一の外部識別コードに対応づけて変換データベース１０５に格納されている基盤コードと一の外部識別コードとに基づいて、一の外部識別コードを基盤コードが対応づけられた標準データに変換する。具体的に、基盤コード変換部１１０は、一の外部データベースから一の外部データ及び一の外部データを識別する外部識別コードを受け取る。なお、基盤コード変換部１１０は、外部データ、及び外部識別コードを一の外部データの供給先である他の外部データベースを識別する他のデータベース識別子と共に受け取ることもできる。そして、基盤コード変換部１１０は、変換データベース１０５を参照し、一の外部識別コードを、一の外部識別コードと一の外部データベースのデータベース識別子とに対応づけて変換データベース１０５が格納している基盤コード及び／又は一の外部データが対応づけられた標準データに変換する。例えば、基盤コード変換部１１０は、変換データベース１０５が格納している基盤コードを抽出し、抽出した基盤コードと一の外部データとを一の外部識別コードに対応づけたデータを標準データとすることで、外部識別コードを標準データに変換する。基盤コード変換部１１０は、標準データをコード存在判断部１１５に供給する。
【００６３】
また、基盤コード変換部１１０は、一の外部データベースから、他のデータベースの他の外部データを識別する他の外部識別コードと共に一の外部データを受け取った場合、外部識別コードを標準データに変換しないこともできる。基盤コード変換部１１０は、外部識別コードを標準データに変換しない場合、変換しなかったことを示す情報、及び当該外部識別コードをコード存在判断部１１５に供給する。なお、基盤コード変換部１１０は、外部識別コードを標準データに変換しない場合、他のデータベースとは異なるデータベースには、一の外部データベースから受け取った外部識別コードを参照させない。
【００６４】
（コード存在判断部１１５）
コード存在判断部１１５は、基盤コード変換部１１０から受け取った標準データに対応する基盤コードが、他のデータベース識別子に対応づけて変換データベース１０５の基盤コードの欄に格納されているか否かについて、変換データベース１０５を参照して判断する。コード存在判断部１１５は、判断結果を示す情報をデータ変換部１２５に供給する。なお、コード存在判断部１１５は、基盤コード変換部１１０から外部識別コードを標準データに変換しなかったことを示す情報を受け取った場合、標準データに対応する基盤コードが他のデータベース識別子に対応づけて変換データベース１０５に格納されているか否かの判断処理を実行しない。コード存在判断部１１５は、判断処理を実行しなかったことを示す情報、及び基盤コード変換部１１０から受け取った外部識別コードをデータ変換部１２５に供給する。
【００６５】
（基盤データベース１２０）
図４は、本発明の実施の形態に係る基盤データベースのデータ構成の一例を示す。
【００６６】
基盤データベース１２０は、データを識別する基盤コードの階層構造により表される階層構造情報を格納する。具体的に、基盤データベース１２０は、所定のデータの内容若しくは上位概念の属性等のデータを識別する基盤コード、所定のデータの下位概念の属性等のデータを識別する基盤コード、若しくは所定のデータそれ自身を識別する基盤コードの少なくともいずれかを含んで構築される基盤コードの階層構造により表される階層構造情報を格納する。なお、階層構造は、複数の所定のデータが、下位概念のデータから上位概念のデータへと順に積み重ねて全体を構成している構造である（以下において、階層構造の深さを、ｎ階層（ただし、ｎ＞１）の階層という場合がある。）。
【００６７】
例えば、互いに異なる第１データ、第２データ、第３データ、第４データ、及び第５データであって、第１データ、第２データ、第３データ、第４データ、第５データの順に下位概念を示すデータが存在する場合を例に挙げる（一例として、第１データが「野菜」、であり、第２データが「根菜類」であり、第３データが「だいこん」であり、第４データが「土付大根」であり、第５データが産地が限定された「土付大根」である。）。
【００６８】
この場合、図４に示すように、階層構造は、第１データを識別する基盤コード「Ａ」を階層構造の上位に配置すると共に、第２データを識別する基盤コード「ａ１」を基盤コード「Ａ」の下位に配置する。同様に、第３データを識別する基盤コード「ａ１１」が基盤コード「ａ１」の下位に配置され、第４データを識別する基盤コード「ａ１１１」が基盤コード「ａ１１」の下位に配置され、第５データを識別する基盤コード「ａ１１１１」が基盤コード「ａ１１１」の下位に配置される。基盤データベース１２０は、複数の基盤コードそれぞれを、上位概念に対応するデータの基盤コードによって下位概念に対応するデータの基盤コードを複数段階で束ねることによって保持する。例えば、段階がｎ段階ある場合、基盤データベース１２０はｎ階層の階層構造を有することになる。基盤データベース１２０は、データ変換部１２５の働きかけに応じ、所定のデータをデータ変換部１２５に供給する。
【００６９】
なお、基盤データベース１２０は、基盤コードと共に基盤コードそれぞれに対応する「標準名称」等の文字列、その他の付帯情報を更に格納することもできる。基盤データベース１２０は、「標準名称」の情報として、全角、半角、又は全半角混在のいずれかの文字列形式で表される文字列情報を格納するか、若しくはこれらすべての形式の文字列情報（すなわち、本実施の形態においては「完全形式」の文字列情報と称する。）を格納することができる。また、基盤データベース１２０は、対応関係更新部１５０及び／又は情報更新部１５５が所定の処理を実行する場合に、対応関係更新部１５０及び／又は情報更新部１５５の働きかけに応じ、データ出力部１４０を介し、「標準名称」をユーザに知覚可能に出力することもできる。また、データ出力部１４０は、出力するデータに、付帯情報として標準名称に関する情報を付帯させることもできる。
【００７０】
（データ変換部１２５）
データ変換部１２５は、コード存在判断部１１５が、基盤コード変換部１１０によって変換された標準データに対応する基盤コードが他のデータベース識別子に対応づけて変換データベース１０５に格納されていると判断した場合、標準データを、標準データに対応する基盤コードと他のデータベース識別子とに対応づけて変換データベース１０５に格納されている外部識別コードに変換する。
【００７１】
また、データ変換部１２５は、コード存在判断部１１５が、基盤コード変換部１１０によって変換された標準データに対応する基盤コードと同一の基盤コードが、他のデータベース識別子に対応づけて変換データベース１０５に格納されていないと判断した場合、標準データを、標準データに対応する基盤コードを含む階層構造情報により表される階層構造内のいずれかの基盤コードと他のデータベース識別子とに対応づけて変換データベース１０５に格納されている外部識別コードに変換する。すなわち、データ変換部１２５は、標準データを外部識別コードに変換することを目的として、基盤コード変換部１１０によって変換された標準データに対応する基盤コードの代替となる基盤コードを階層構造内から検索し、検索して抽出した基盤コードを用いて変換処理を実行する。例えば、データ変換部１２５は、標準データに対応する基盤コードを、基盤データベース１２０が格納している階層構造を当該標準データに対応する基盤コードが分類されている位置（つまり、当該標準データに対応する基盤コードに一致する基盤コードの分類位置）から上位、下位、若しくは水平（同列）の分類位置に分類されている基盤コードと他のデータベース識別子とに対応づけて変換データベース１０５に格納されている外部識別コードに変換する。
【００７２】
具体的に、データ変換部１２５は、コード存在判断部１１５において、他のデータベース識別子に対応づけて変換データベース１０５に標準データに対応する基盤コードが格納されていないと判断された場合、基盤データベース１２０の階層構造を標準データに対応する基盤コード（つまり、当該標準データに対応する基盤コードと一致する基盤コード）の分類位置から上位に向けて遡る検索（上方検索）、下位に下る検索（下方検索）、及び／又は同一階層内の検索（水平検索）をすることにより、適切な基盤コードを検索する。データ変換部１２５は、上方検索、下方検索、及び水平検索からなる群から選択される少なくとも１つの検索方法、又は少なくとも２つの検索方法の組合せを用いて基盤コードを検索する。複数の検索方法を組み合わせる場合、データ変換部１２５は、予め定められた取り決めに従って、基盤コードを検索する。
【００７３】
データ変換部１２５は、上方検索、下方検索、及び／又は水平検索を、予め定められた組合せで実行できる（以下、「複合検索」という場合がある。）。例えば、データ変換部１２５は、上方検索、下方検索、及び水平検索を順次実行してもよい。一例として、データ変換部１２５は、まず上方検索を実行し、上方検索によって適切な基盤コードが抽出できない場合、次に下方検索を実行する。そして、データ変換部１２５は、下方検索でも適切な基盤コードを抽出できない場合に、水平検索を実行することができる。
【００７４】
また、データ変換部１２５は、複合検索において、上方検索、下方検索、又は水平検索の一部を実行しなくてもよい。例えば、データ変換部１２５は、まず、ｎ階層上までの上方検索を実行する（ただし、ｎは１以上の整数であり、ｎの値は予め決定される。）。次に、データ変換部１２５は、下方検索を実行すると共に水平検索を実行しない処理を実行することもできる。データ変換部１２５が実行する上方検索、下方検索、及び／又は水平検索の組合せは、データ供給側データベース、及び／又はデータ受取側データベースからの要求に応じて決定してもよい。データ供給側データベース及びデータ受取側データベースの双方から検索の組合せの決定の要求がある場合、いずれを優先するかについては予め決定しておくことが好ましい。
【００７５】
更に、データ変換部１２５は、１回の検索で、上方検索、下方検索、及び／又は水平検索を組み合わせた検索を実行することもできる（以下、「混合検索」という場合がある。）。一例として、データ変換部１２５は、階層構造を１階層上方に検索した後、１階層下方に検索することができる。また、例えば、階層構造の特定階層のみに基盤コードを配列している外部データベースがデータ交換システム１を介して一の外部データベースからデータを受け取る場合であって、基盤データベース１２０が格納している階層構造内の基盤コードに対して、特定階層の基盤コードと同一階層の同一グループ内に対応する基盤コードが存在しない場合、「隣」のグループの複数の基盤コードから所定の基盤コードを検索して抽出する。すなわち、この場合、データ変換部１２５は、「２階層上方に検索」し、更に「２階層下層に検索」する処理を実行することになる。
【００７６】
データ変換部１２５は、混合検索において、予め定められた組合せで検索処理を実行する。例えば、データ変換部１２５は、上方検索に続いて下方検索を実行し、いずれの検索でも適切な基盤コードが抽出できない場合、混合検索を実行することができる。データ変換部１２５は、混合検索においては、階層構造を１階層遡ってから下方検索を実行し、次に階層構造を２階層遡ってから下方検索を実行する、というような順位で順次検索を実行できる。この検索の実行順位は、予め定めておくことができる。また、データ変換部１２５が実行する混合検索を構成する上方検索、下方検索、及び／又は水平検索の組合せは、データ供給側データベース、及び／又はデータ受取側データベースからの要求に応じて決定してもよい。データ供給側データベース及びデータ受取側データベースの双方から検索の組合せの決定の要求がある場合、いずれを優先するかについては予め決定しておくことが好ましい。
【００７７】
ここで、上方検索について説明する。データ変換部１２５は、他のデータベースが採用している他の階層構造における外部データの分類位置に対応する基盤コードを上方検索で検索することができる。具体的に、データ変換部１２５は、標準データに対応する基盤コードの分類位置からｎ階層上位の基盤コードを検索する（ただし、ｎ≧１を満たす）。例えば、データ変換部１２５は、基盤コードに対応する情報の粒度を丸めた際に得られる情報に対応する基盤コードを検索する（例えば、所定の基盤コードに「ポメラニアン」という情報が対応づけられている場合において、当該情報をより上位概念である「犬」という情報に変換することで粒度を丸めることができる。そして、データ変換部１２５は、当初の基盤コードを、粒度を丸めた「犬」という情報に対応する基盤コードを検索する。）。なお、データを受け取る外部データベース側が詳細な情報を要さない場合や、詳細な情報処理を実行する能力がない場合等に、上位概念の情報に対応する基盤コードへの変換が有効である。そして、データ変換部１２５は、検索して抽出される基盤コードと他のデータベース識別子とに対応づけて変換データベース１０５に格納されている外部識別コードに、標準データを変換する。
【００７８】
次に、下方検索について説明する。データ変換部１２５は、他のデータベースが採用している他の階層構造における外部データの分類位置に対応する基盤コードを下方検索で検索することができる。具体的に、データ変換部１２５は、基盤コードを検索する場合に、階層構造を上位から下位に向けて検索する。すなわち、データ変換部１２５は、分類位置から下位に下った分類位置の基盤コードを抽出できる。例えば、データ変換部１２５は、基盤コードに対応する情報の粒度を下げる（細かくする）際に得られる情報に対応する基盤コードを検索する（例えば、所定の基盤コードに「犬」という情報が対応づけられている場合において、当該情報をより下位概念である「ポメラニアン」という情報に変換することで粒度を下げることができる。そして、データ変換部１２５は、当初の基盤コードを、粒度を下げた「ポメラニアン」という情報に対応する基盤コードを検索する。）。なお、データを受け取る外部データベース側が粒度の荒い情報を受け取るための外部識別コードを有さない場合等に、下位概念の情報に対応する基盤コードへの変換が有効である。換言すれば、下方検索においてデータ変換部１２５は、元の情報が有さない詳細な情報を元の情報に付加することになる。
【００７９】
例えば、データ交換システム１を介し、一の外部データベースが他の外部データベースに所定の取引の「発注データ」を供給する場合に、一の外部データベースから「犬ならどのような種類でもよい」ことを意図して「犬」という外部データがデータ交換システム１に供給されたとする。この場合、データ交換システム１は、「犬」という情報の概念レベルよりも下位の概念レベルに対応する「ポメラニアン」という情報に対応する基盤コードを検索、抽出する動作を実行する。
【００８０】
ここで、変換データベース１０５の階層構造を下方に検索する場合、下位の概念レベルに対応する基盤コードは複数存在し得る。この場合、予め定められた取り決めに基づいて複数の基盤コードのいずれかを選択し、データ変換部１２５は処理を実行する。例えば、データ変換部１２５は、基盤データベース１２０が格納する階層構造の階層ごとに予め設定されている検索順位に則って検索を実行できる。また、データ変換部１２５は、基盤データベース１２０の基盤コードの順に応じて検索を実行することもできる。データ変換部１２５は、階層構造の１階層下位の基盤コードを検索し、変換すべき外部識別コードに対応する基盤コードが存在しない場合に、更に１つ下の階層を検索することもできる。そして、１つ下の階層を検索しても適切な基盤コードが存在しない場合には、データ変換部１２５は、順次、下方に下る検索を繰り返してもよい。
【００８１】
更に、水平検索について説明する。データ変換部１２５は、他のデータベースが採用している他の階層構造における外部データの分類位置に対応する基盤コードを水平検索で検索することができる。具体的に、データ変換部１２５は、基盤コードを検索する場合に、標準データに対応する基盤コードの分類位置の概念レベルと同列に分類されている基盤コードを検索することもできる。例えば、データ変換部１２５は、基盤コードに対応する情報の粒度や階層構造内における分類の概念レベルを変更せずに、同一の概念レベルの他の基盤コードを検索する（例えば、所定の基盤コードに「秋田犬」という情報が対応づけられている場合において、当該情報と同一の概念レベルである「ポメラニアン」という情報に変換することで粒度を変更せずに他の基盤コードに変換できる。データ変換部１２５は、当初の基盤コードを、当該基盤コードに対応する情報と同一の概念レベルの他の情報に対応づけられている基盤コードを検索する。）。なお、一の外部データベース（データ供給側）と他の外部データベース（データ受取側）とがデータ交換システム１を介してデータ交換する場合に、受け取り側の外部データベースが、所定の外部データの上位概念に対応する情報、及び下位概念に対応する情報のいずれも有しておらず、当該外部データと概念レベルが同一の他の外部データのみを格納している場合、水平検索が有効である。
【００８２】
なお、水平検索においてデータ変換部１２５は、基盤データベース１２０が格納する階層構造内の、同一階層の同一グループ内、すなわち、同一の上位概念に対応する基盤コードの下位に属する複数の基盤コード内で検索を実行する。また、データ変換部１２５は、この同一階層の同一グループ内で、予め定められた基準に基づいて、複数の基盤コードから一の基盤コードを抽出して変換処理に用いる。予め定められた基準は、例えば、基盤データベース１２０の階層構造の階層ごとに検索順位を予め決めておき、この検索順位に従って検索する基準や、この階層構造内の基盤コードの順に従って検索する基準等である。この検索順位は、データ供給側データベース、及び／又はデータ受取側データベースからの要求に応じて決定してもよい。データ供給側データベース及びデータ受取側データベースの双方から検索順位の決定の要求がある場合、いずれを優先するかについては予め決定しておくことが好ましい。
【００８３】
また、データ変換部１２５が標準データを、基盤データベース１２０から抽出される基盤コードに対応づけて変換データベース１０５に格納されている外部識別コードに変換する場合、元の外部識別コード（すなわち、データ入力部１００が一の外部データベースから受け取った外部データの外部識別コード）に対応する外部データの一部の情報が損失する場合がある。すなわち、データ変換部１２５において、データ入力部１００が受け取った外部データの外部識別コードが、より上位概念に対応する外部データの外部識別コードに変換されることにより、情報の損失が発生し得る。例えば、データ入力部１００が一の外部データベースから「土付大根」の外部識別コードを受け取り、データ変換部１２５が、この外部識別コードを「大根」の外部識別コードに変換した場合、少なくとも「土付」に関する情報が損失する。
【００８４】
そこで、データ変換部１２５は、標準データを外部識別コードに変換する場合であって、情報の損失が発生した場合、情報が損失したことを示す損失情報、及び／又は情報損失のレベル（すなわち、損失の程度）を示す損失レベル情報を、変換した外部識別コードに含ませてもよい。例えば、基盤データベース１２０の階層構造を遡るごとに、基盤コードに対応づけられている情報の粒度が粗くなり、情報の損失が発生する。そこで、データ変換部１２５は、損失の度合いを表す「遡り階層数」を「損失レベル」として生成する。データ変換部１２５は、生成したこれらの情報を、変換した外部識別コードに含ませてもよい。これにより、当該外部識別コードを受け取った他の外部データベースは、損失の発生と損失のレベルとを把握できる。例えば、データ変換部１２５は、基盤データベース１２０の階層構造を検索する場合に、階層構造の検索において遡りが発生した階層数（すなわち、「遡り階層数」）を損失情報として生成する。一例として、遡り階層数が「０」の場合は「情報の損失なし」を示し、「遡り階層数」が「１」の場合は「１階層の遡りが発生した」ことを示し、「遡り階層数」が「ｍ」の場合は「ｍ階層の遡りが発生した」ことを示す（ただし、ｍ＞１）。
【００８５】
同様にデータ変換部１２５は、階層構造の検索において上位から下位への下りが発生した階層数を示す情報を生成することもできる。例えば、基盤データベース１２０の階層構造を下ることで、元の情報に付加される情報がより詳細になる。そこで、データ変換部１２５は、上方検索時の「損失レベル」と同一の項目を用い、「遡り階層数」をマイナスの値で返すことができる。すなわち、データ変換部１２５は、例えば、１階層下った検索を実行した場合には「−１」を返す。なお、データ変換部１２５は、階層構造の最下層まで下っても変換すべき外部識別コードに対応する基盤コードが存在しない場合に、所定のエラー情報を生成することもできる。なお、データ変換部１２５は、エラー情報を変換した外部識別コードに含ませることもできる。
【００８６】
更にデータ変換部１２５は、水平検索を実行した場合、水平検索を実行したことを示す情報を生成することもできる。例えば、データ変換部１２５は、水平方向での検索処理（すなわち、階層構造の同一の概念レベルに属する一の階層内での検索処理）が発生したことを示す水平検索発生フラグを生成してもよい。また、データ変換部１２５は、上方検索及び下方検索を含めて代替となる検索（すなわち、「代替検索」）が発生したことを示す所定のフラグを用意して、当該フラグの存在下、「遡り階層数」の値が「ゼロ」である場合に、水平検索が発生したことを識別することができる情報を生成してもよい。また、データ変換部１２５は、水平検索で適切な基盤コードを検索できない場合、所定のエラー情報を生成することもできる。
【００８７】
また、データ変換部１２５は、混合検索を実行した場合、混合検索をしたことを示す情報を生成する。例えば、データ変換部１２５は、混合検索において実行した上方検索での上方への遡り階層数（以下、「Ｕ」と表す。Ｕは０以上の整数である。）と、下方検索での下方への下り階層数（以下、「Ｄ」と表す。Ｄは０以上の整数である。）とを組合せ、［Ｕ，Ｄ］と表した混合検索情報を生成することができる。例えば、１階層上方に検索した場合、混合検索情報は［１，０］となり、１階層下方に検索した場合、混合検索情報は［０，１］となる。また、同一グループ内での水平検索を実行した場合、混合検索情報は［１，１］となる。更に、階層構造の同一の概念レベルに複数のグループが存在する場合、一のグループの「隣」のグループへ水平検索した場合、混合検索情報は［２，２］となり、階層構造の「親」（すなわち、一の基盤コードの分類位置の上位の分類位置に存在する基盤コード）の「兄弟」（すなわち、上位の分類位置と同一の概念レベル（同列の階層）に分類される複数の基盤コード）の基盤コードを検索した場合、混合検索情報は［２，１］となる。
【００８８】
なお、データ変換部１２５は、判断処理を実行しなかったことを示す情報と外部識別コードとを受け取った場合、この外部識別コードを変換した外部識別コードとして扱う。データ変換部１２５は、変換した外部識別コードを付帯ユニット１３０及び／又はデータ出力部１４０に供給する。すなわち、データ変換部１２５は、受け取った外部識別コードを外部に出力する外部識別コードとして扱う（本実施の形態において、かかる処理を「直接変換」と称する。）。
【００８９】
また、データ変換部１２５は、基盤データベース１２０の階層構造を下位から上位に向けて遡り、標準データと一致する基盤コードを検索した場合、階層構造の最上位まで検索しても、基盤コード変換部１１０によって変換された標準データに対応する基盤コードと同一の基盤コードが発見されなかった場合には、発見されなかったことを示すエラー情報をデータ出力部１４０に供給する。エラー情報は、例えば、ヌル値若しくは「ゼロ」値、又はエラーを示すフラグ情報等である。
【００９０】
（付帯ユニット１３０）
付帯ユニット１３０は、外部識別コードに付加情報を付帯する情報付帯部１３２と、外部識別コードに外部から受け取った外部識別コード自体を付帯するコード付帯部１３４とを有する。なお、付帯ユニット１３０は、情報付帯部１３２が外部識別コードに付帯した付加情報、及び／又はコード付帯部１３４が外部識別コードに付帯した外部識別コードに関する情報を、外部識別コードに対応づけて変換データベース１０５に格納することもできる。この場合、変換データベース１０５は、基盤コードを他の構成要素に供給する場合に、対応する付加情報等も合わせて供給することができる。
【００９１】
（情報付帯部１３２）
情報付帯部１３２は、データ変換部１２５が変換した外部識別コードに、一の外部データに関連する付加情報を付帯する。付加情報は、例えば、外部データの内容を示すテキストデータ、数値データ、符号データ、及び／又は図形データ等である。一例として、情報付帯部１３２は、外部データが「守口大根」である場合、データ変換部１２５が変換した外部識別コードに「守口大根」を示すテキストデータを付加情報として付帯させる。情報付帯部１３２は、付加情報を付帯させた外部識別コードをデータ出力部１４０に供給する。これにより、付加情報が付帯された外部識別コードを受け取った他の外部データベースは、一の外部データベースが他の外部データベースに供給した外部識別コード（以下、元の外部識別コードという）が、元の外部識別コードで表される外部データの上位概念の外部データの外部識別コードに変換されていた場合であっても、元の外部識別コードに対応する外部データの内容を把握することができる。
【００９２】
ここで、情報付帯部１３２は、データ入力部１００が受け付けた外部データに付加された付加情報（例えば、名称等の文字列等に関する情報）及び／又は変換データベース１０５に格納されている付加情報若しくは外部識別コードに関する情報を、基盤コード変換部１１０からの働きかけに応じ、基盤コード変換部１１０が外部識別コードを標準データに変換する場合に、当該標準データに付加することもできる。なお、付加情報が名称等の文字列に関する情報を含む場合、当該情報で表される文字列は、全角、半角、又は全半角混在のいずれかの形式の文字列である。そして、標準データに付加される文字列に関する情報は、以下で説明する処理により全角、半角、又は全半角混在の全ての形式（以下、「完全形式」と称する。）に変換した情報であってもよい。文字列に関する情報の完全形式の情報への変換処理は、例えば、基盤コード変換部１１０、及び／又はデータ変換部１２５が実行できる。一例として、データ入力部１００が外部データの入力を受け付けた時点で、基盤コード変換部１１０が当該変換処理を実行することができる。また、基盤コード変換部１１０が所定の情報を変換データベース１０５に格納する時点で当該変換処理を実行することもできる。また、データ変換部１２５が標準データを外部識別コードに変換する処理を実行する場合に、完全形式の情報への変換処理を実行することもできる。
【００９３】
また、データ入力部１００は、テキストデータの外部データの入力を受け付ける場合、以下の３つの情報を更に受け付けることができる。すなわち、テキストデータの文字列の形式としては、全角文字列、半角文字列、及び全半角が混在している文字列が存在する。データ入力部１００は、テキストデータの文字列が全角文字列である場合の情報である「全角文字列情報」、半角文字列である場合の情報である「半角文字列情報」、及び全半角が混在している文字列を含んでもよい場合の情報である「全半角混在文字列情報」の入力を受け付ける。データ入力部１００は、全角文字列情報、半角文字列情報、及び／又は全半角混在文字列情報を情報付帯部１３２に供給する。
【００９４】
情報付帯部１３２は、外部識別コードに付加情報を付帯する場合において、付帯情報がテキストデータである場合、データ入力部１００から受け取った全角文字列情報、半角文字列情報、又は全半角混在文字列情報に基づいて、テキストデータを所定の形式に変換する。具体的に、情報付帯部１３２は、データ入力部１００から全角文字列情報、半角文字列情報、及び全半角混在文字列情報のうち、少なくとも一つの情報を受け取らない場合、受け取った情報を除く他の情報を自動的に生成し、付加情報として外部識別コードに付帯する。なお、情報付帯部１３２は、データ入力部１００がテキストデータの入力を受け付けた場合、当該テキストデータを解析し、情報付帯部１３２自身が当該テキストデータに全角文字列情報、半角文字列情報、又は全半角混在文字列情報を対応づけてもよい。
【００９５】
例えば、情報付帯部１３２は、データ入力部１００から全角文字列情報を受け取らなかった場合であって、全半角混在文字列情報を受け取った場合、全半角混在文字列情報により示される文字列内の半角文字を全角に変換し、全角文字列情報を生成する。そして、情報付帯部１３２は、生成して得られた全角文字列情報、半角文字列情報、及び全半角混在文字列情報を付加情報に含ませる。また、情報付帯部１３２は、データ入力部１００から全角文字列情報を受け取らなかった場合であって、全半角混在文字列情報も受け取らなかった場合、半角文字列情報により示される文字列の半角文字を全角に変換し、全角文字列情報を生成する。そして、情報付帯部１３２は、生成して得られた全角文字列情報、及び半角文字列情報を付加情報に含ませる。
【００９６】
また、情報付帯部１３２は、データ入力部１００から全半角混在文字列情報を受け取らなかった場合であって、全角文字列情報を受け取った場合、全角文字列情報をそのまま付加情報に含ませる。一方、情報付帯部１３２は、データ入力部１００から全半角混在文字列情報を受け取らなかった場合であって、かつ、全角文字列情報も受け取らなかった場合、半角文字列情報により示される文字列の半角文字を全角に変換し、全角文字列情報を生成するか、若しくは半角文字列情報により示される文字列の半角文字をそのまま維持する。そして、情報付帯部１３２は、生成して得られた全角文字列情報をそのまま、又は半角文字列情報をそのまま付加情報に含ませる。
【００９７】
更に、情報付帯部１３２は、データ入力部１００から半角文字列情報を受け取らなかった場合であって、全半角混在文字列情報を受け取った場合、全半角混在文字列情報により示される文字列について漢字カナ変換した変換文字列情報を付加情報に含ませる。一方、情報付帯部１３２は、データ入力部１００から半角文字列情報を受け取らなかった場合であって、かつ、全半角混在文字列情報を受け取らなかった場合、全角文字列情報により示される文字列について漢字カナ変換した半角文字列情報を付加情報に含ませる。
【００９８】
これにより、データ交換システム１は、一の外部データベースが扱う文字列の形式と、他の外部データベースが扱う文字列の形式とが互いに異なる場合であっても、一の外部データベースが他の外部データベースに対して供給する外部データを所定の文字列の形式に変換することができるので、各外部データベース間で安定したデータ交換を実現できる。
【００９９】
なお、情報付帯部１３２は、単体で、テキストデータ変換システムとして機能することもできる。テキストデータ変換システムは、外部からテキストデータを取得するテキストデータ取得部と、テキストデータ取得部が取得したテキストデータの種別を判断するテキストデータ判断部と、テキストデータ判断部の判断結果に基づいてテキストデータを所定の形式に変換するテキストデータ変換部とを含む。テキストデータの種別とは、テキストデータが全角文字列であることを示す種別、半角文字列であることを示す種別、若しくは全半角が混在してもよい文字列であることを示す種別である。また、テキストデータ変換システムは、所定の形式に変換されたテキストデータを出力するテキストデータ出力部、及び／又は出力されるテキストデータがテキストデータ変換システムにより自動生成されたデータであるか否かを示すフラグを当該出力されるテキストデータに付帯させるフラグ部を含むこともできる。
【０１００】
テキストデータ判断部は、取得されたテキストデータを解析し、当該テキストデータの文字列が全角文字列である場合に全角文字列情報を、半角文字列である場合に半角文字列情報を、そして、全角文字列と半角文字列とが混在している文字列であってもよい場合に全半角混在文字列情報をテキストデータの種別として判断する。テキストデータ変換部は、情報付帯部１３２の上記説明と同様に、テキストデータ取得部が取得したテキストデータ、及び取得しなかったテキストデータ、並びにテキストデータ判断部の判断結果に基づいて、取得したテキストデータの半角文字の全角文字への変換や、漢字カナ変換等の変換処理を実行する。
【０１０１】
フラグ部は、テキストデータ変換部がテキストデータを自動生成したか否かを示すフラグを、変換されたテキストデータに付帯させる。例えば、テキストデータ変換部がテキストデータの半角を全角に変換した場合、及び／又は全角を半角に変換した場合、フラグ部は、自動生成したことを示すフラグを付帯させないか、若しくは自動生成していないことを示すフラグを付帯させる。一方、フラグ部は、テキストデータ変換部が漢字カナ変換処理を実行した場合、変換されたテキストデータに、テキストデータが自動生成されたことを示すフラグを付帯させる。
【０１０２】
これにより、テキストデータ変換システムは、入力されるテキストデータの種別が統一されていない場合であっても、出力されるテキストデータの種別を統一できる。また、テキストデータ変換システムは、出力されるテキストデータに所定のフラグを付帯させることができるので、出力されるテキストデータが、テキストデータ変換システムにより自動生成されたか否かを容易に判断することができる。
【０１０３】
（コード付帯部１３４）
コード付帯部１３４は、データ変換部１２５が変換した外部識別コードに、一の外部データベースから受け取った一の外部データの一の外部識別コードを付帯する。すなわち、コード付帯部１３４は、データ交換システム１が一の外部データベースから受け取った一の外部データの一の外部識別コードを、データ変換部１２５において変換された外部識別コードに付帯する。コード付帯部１３４は、外部識別コードが付帯されているデータ変換部１２５において変換された外部識別コードをデータ出力部１４０に供給する。これにより、データ交換システム１において、一の外部データベースから他の外部データベースに所定の外部識別コードが供給された場合において、他の外部データベースに供給された外部識別コードから、一の外部識別コードが他の外部データベースに供給した外部識別コードを復元できる。
【０１０４】
（データ出力部１４０）
データ出力部１４０は、データ変換部１２５により変換された外部識別コード、外部データ、及び／又は当該外部識別コード若しくは当該外部データに対応づけられている付加情報、及び／又は外部識別コードに関する情報を、他の外部データベース（すなわち、一の外部データベースがデータ交換システム１に対して供給先の外部データベースとして指定したデータベース識別子に該当する外部データベース）に対して出力する。また、データ出力部１４０は、所定の記憶媒体に、データ変換部１２５により変換された外部識別コードを記憶させることもできる。
【０１０５】
なお、データ交換システム１は、上記で説明した各構成要素の一部をシステムの外部に存在させることができる。例えば、データ交換システム１は、変換データベース１０５、基盤データベース１２０、及び／又はデータ変換部１２５等を外部のサーバーに備えさせることもできる。
【０１０６】
（対応関係更新部１５０）
対応関係更新部１５０は、変換データベース１０５が格納しているデータを更新する。対応関係更新部１５０は、変換データベース１０５が格納しているデータを更新する旨の情報若しくは指示を受け取った場合、当該情報若しくは当該指示に応じ、格納しているデータを更新する。
【０１０７】
また、変換データベース１０５が、１つの外部識別コードに対して複数の基盤コードを対応づけて格納する場合、対応関係更新部１５０は、「主登録」を示す情報を当該１つの外部識別コードと一の基盤コードとの対応関係に対応づけるべきことをユーザに指示、若しくは強制させることもできる。同様に、変換データベース１０５が、１つの基盤コードに対して複数の外部識別コードを対応づけて格納する場合、対応関係更新部１５０は、「主登録」を示す情報を当該１つの基盤コードと一の外部識別コードとの対応関係に対応づけるべきことをユーザに指示、若しくは強制させることもできる。
【０１０８】
（情報更新部１５５）
情報更新部１５５は、基盤データベース１２０が格納している情報を更新する。情報更新部１５５は、基盤データベース１２０が格納している情報を更新する旨の情報若しくは指示を受け取った場合、当該情報若しくは当該指示に応じ、格納している情報を更新する。
【０１０９】
（コード変更管理部）
対応関係更新部１５０、及び／又は情報更新部１５５は、基盤コードに対応づけられている情報が変更された場合に、データ交換システム１から予期せぬデータ変換処理結果が出力されることを防止することを目的として、コード変更管理部を更に含むことができる。コード変更管理部は、データ供給側の外部データベースの内容の変更に対応して変換データベース１０５が格納しているデータの更新が対応関係更新部１５０においてなされなかった場合等において、予期せぬ結果が出力されることを防止する。
【０１１０】
例えば、コード変更管理部は、以下の前提条件で機能する。まず、データ入力部１００が入力を受け付ける外部データには、外部識別コード等だけでなく、当該外部データの内容を示す名称の名称文字列情報が付帯されているとする。また、変換データベース１０５が、データベース識別子、外部識別コード、及び基盤コードに対応づけて、外部識別コードで識別される外部データの名称文字列情報を更に格納しているとする。
【０１１１】
そして、基盤コード変換部１１０において外部識別コードを標準データに変換する場合に、コード変更管理部は、外部識別コード等に付帯された名称文字列情報と、変換データベース１０５に格納されている名称文字列情報とを照合する。照合結果が不一致である場合、コード変更管理部は、データ交換システム１に外部データを提供した一の外部データベース側にエラーを示す情報を供給してもよい。また、コード変更管理部は、データ出力部１４０側にエラーを示す情報を供給してもよい。エラーを示す情報は、エラーが発生したことを表すフラグ、及び／又はデータ入力部１００が入力を受け付けた外部データに付帯された名称文字列情報や、変換データベース１０５が格納している名称文字列情報を含むこともできる。
【０１１２】
ここで、コード変更管理部がデータ入力部１００が入力を受け付けた外部データに付帯された名称文字列情報と変換データベース１０５に格納されている名称文字列情報とを比較する場合に、コード変更管理部は、単純な完全一致による比較をすることができる。また、コード変更管理部は、名称文字列情報により表される名称文字列の全角／半角の違いや大文字／小文字の違い、カタカナ／ひらがなの違い等を吸収した「曖昧検索」型の比較をすることもできる。また、コード変更管理部は、外部データに付帯された名称文字列情報と変換データベース１０５に登録された名称文字列情報とを比較する場合に、一致部分と差異部分とを検出し、これをエラーを示す情報に付帯させることもできる。コード変更管理部は、一致部分と差異部分とを検出する場合に、上記「曖昧検索」を利用して比較することもできる。更に、コード変更管理部は、変換データベース１０５に予め名称文字列情報が格納されていない場合、外部データに付帯された名称文字列情報を、外部識別コード等に対応づけて自動的に変換データベース１０５に格納してもよい。また、コード変更管理部は、外部データに付帯された名称文字列情報と変換データベース１０５に格納されている名称文字列情報との間に差異がある場合、自動的に外部データに付帯された名称文字列情報を変換データベース１０５に格納することもできる。なお、この場合においてコード変更管理部は、所定のエラー情報や警告を、データ交換システム１に外部データを提供した一の外部データベース側、及び／又はデータ出力部１４０側に供給することもできる。
【０１１３】
（エラー処理）
データ交換システム１が備える全て若しくは一部の構成要素はそれぞれ、所定のエラーを検出した場合に当該エラーを一の外部データベース及び／又は他の外部データベースに供給するエラー処理機能を含むことができる。また、データ交換システム１が備える全て若しくは一部の構成要素はそれぞれ、所定のエラーを検出した場合に、検出時点で各構成要素における処理を停止することもできる。この場合、データ交換システム１は、一の外部データベースから入力を受け付けた各種データについて、データ交換システム１内でどのような処理がなされたか、若しくはなされていないかを示すフラグを、入力を受け付けた各種データの全て若しくは一部に対応づけることができる。また、データ交換システム１は、所定のエラーが発生した場合であっても、データ交換システム１におけるデータ処理を継続し、変換したデータを他の外部データベースに供給することもできる。あるいは、データ交換システム１は、ｍ個（ただし、ｍは１以上の整数）の所定のエラーが発生した場合に、データ交換システム１内の全ての処理を停止することもできる。
【０１１４】
図５は、本発明の実施の形態に係るデータ交換システムの他の形態の機能構成の概要の一例を示す。なお、図５に示すデータ交換システム１ａは、データ交換システム１とは機能構成の形態が異なる。すなわち、データ交換システム１ａは、入力データ処理ユニット１０と出力データ処理ユニット１５とを有して構成される点を除き、データ交換システム１の全部若しくは一部と略同一の構成及び機能を有する。したがって、相違点を除き詳細な説明は省略する。
【０１１５】
データ交換システム１ａは、外部データベースに格納されている外部データを処理する入力データ処理ユニット１０と、入力データ処理ユニット１０におけるデータの処理に基づいて他の外部データベースに提供するデータの処理を実行する出力データ処理ユニット１５とを備える。入力データ処理ユニット１０は、変換データベース１０５と、基盤コード変換部１１０と、基盤データベース１２０とを有する。また、出力データ処理ユニット１５は、データ変換部１２５を有する。入力データ処理ユニット１０、及び出力データ処理ユニット１５は、データ入力部１００、コード存在判断部１１５、情報付帯部１３２、コード付帯部１３４、データ出力部１４０、対応関係更新部１５０、及び／又は情報更新部１５５の一部又は全部を更に有することもできる。
【０１１６】
入力データ処理ユニット１０は、外部データベースから外部データを取得した場合、取得した外部データ、外部識別コード、及び／又はデータベース識別子に基づいて、外部識別コードを標準データに変換する。具体的に、基盤コード変換部１１０は、変換データベース１０５を参照し、取得した外部データの外部識別コードに対応づけて変換データベース１０５が格納している基盤コードを取得する。そして、基盤コード変換部１１０は、外部識別コードを、取得した基盤コードを対応づけた標準データに変換する。例えば、基盤コード変換部１１０は、変換データベース１０５から取得した基盤コードと外部データベースから取得した外部データとを当該外部データベースの外部識別コードに対応づけたデータを標準データとすることで、外部識別コードを標準データに変換する。入力データ処理ユニット１０は、標準データを出力データ処理ユニット１５に供給する。
【０１１７】
出力データ処理ユニット１５は、変換データベース１０５を参照して、受け取った標準データに対応する基盤コードが、他のデータベースのデータベース識別子に対応づけて変換データベース１０５に格納されているか否かを判断する。そしてデータ変換部１２５は、受け取った標準データに対応する基盤コードと同一の基盤コードが他のデータベース識別子に対応づけて変換データベース１０５に格納されていると判断した場合、標準データを、標準データと他のデータベース識別子とに対応づけて変換データベース１０５に格納されている外部識別コードに変換する。
【０１１８】
一方、データ変換部１２５は、変換された標準データに対応する基盤コードと同一の基盤コードが、他のデータベース識別子に対応づけて変換データベース１０５に格納されていないと判断した場合、標準データに対応する基盤コードを、基盤データベース１２０が格納している階層構造を当該標準データの分類位置から上位に遡った分類位置に分類されている基盤コードと他のデータベース識別子とに対応づけて変換データベース１０５に格納されている外部識別コードに変換する。
【０１１９】
なお、データ変換部１２５は、基盤データベース１２０を用いた変換処理等を経由しない変換方法（以下、「直接変換処理」という。）を実行することもできる。例えば、データ変換部１２５は、以下の第１乃至第３の直接変換処理の少なくともいずれかを実行することができる。
【０１２０】
具体的に、第１の直接変換処理は、例えば、以下のプロセスで実行される。まず、データ入力部１００が、出力側のデータベース識別子、及び外部識別コードを受け取る。データ入力部１００は、データベース識別子と外部識別コードとのセットをｎセット（ｎは１以上の整数）受け取ってもよい。次に、基盤コード変換部１１０は、データ入力部１００が受け取ったｎセットのデータベース識別子と外部識別コードとのセットを標準データに付加して供給するか、若しくは標準データを生成せずにデータ変換部１２５に供給する。そして、データ変換部１２５は、コード存在判断部１１５による基盤データベース１２０の検索を経ずに、標準データに付加された外部識別コード、若しくはデータ入力部１００が受け取った外部識別コードを変換結果を示す情報として（すなわち、変換結果を示す情報を、変換されて得られた外部識別コードとして扱う。以下同じ。）データ出力部１４０に供給する。
【０１２１】
また、第２の直接変換処理は、例えば、以下のプロセスで実行される。まず、変換データベース１０５において、入力側の外部識別コードに対応する、出力側のデータベース識別子と外部識別コードとのセットをｎセット（ｎは１以上の整数）格納可能にする。そして、基盤コード変換部１１０が、変換データベース１０５を参照し、ｎセットのデータベース識別子と外部識別コードとを標準データに付加して供給するか、若しくは標準データを生成せずにデータ変換部１２５に供給する。データ変換部１２５は、コード存在判断部１１５による基盤データベース１２０の検索を経ずに、標準データに付加された外部識別コード、若しくはデータ入力部１００が受け取った外部識別コードを変換結果を示す情報としてデータ出力部１４０に供給する。
【０１２２】
また、第３の直接変換処理は、例えば、以下のプロセスで実行される。まず、変換データベース１０５において、出力側の外部識別コードに対応する、入力側のデータベース識別子と外部識別コードとのセットをｎセット（ｎは１以上の整数）格納可能にする。そして、データ変換部１２５は、コード存在判断部１１５による変換データベース１０５の検索処理の実行前に、標準データに保持されたデータベース識別子及び外部識別コードに基づいて変換データベース１０５を検索する。そして、データ変換部１２５は、変換データベース１０５に、標準データに保持されたデータベース識別子及び外部識別コードに対応するデータベース識別子及び外部識別コードが格納されている場合、この外部識別コードを変換結果を示す情報としてデータ出力部１４０に供給する。
【０１２３】
ここで、第１乃至第３の直接変換処理は、例えば、各直接変換処理のそれぞれに優先順位を対応づけて、いずれかの直接変換処理を他の直接変換処理に優先させて実行することができる。
【０１２４】
（データ交換システム１の処理の流れの概要）
図６は、本発明の実施の形態に係る変換データベースのデータの一例を示し、図７は、本発明の実施の形態に係る基盤データベースのデータの一例を示す。そして、図８は、本発明の実施の形態に係る情報入力システムの処理の流れの一例を示す。
【０１２５】
ここでは、第１の外部データベースから第２の外部データベースに所定のデータを供給する場合を一例として説明する。また、第１の外部データベースのデータベース識別子が「００１」であり、第１の外部データベースが、データ「守口大根」を外部識別コード「ａ１１’」に対応づけて格納し、データ「土付大根」を外部識別コード「ａ１２’」に対応づけて格納しているとする。一方、第２の外部データベースのデータベース識別子が「００２」であり、データ「大根」を外部識別コード「ａ１’」に対応づけて格納し、データ「かぶ」を外部識別コード「ａ２’」に対応づけて格納しているとする。
【０１２６】
そして、図６に示すように変換データベース１０５は、データベース識別子「００１」と外部識別コード「ａ１１’」とに対応づけて基盤データベース１２０に格納されている基盤コード「ａ１１」を格納し、データベース識別子「００１」と外部識別コード「ａ１２’」とに対応づけて基盤データベース１２０に格納されている基盤コード「ａ１２」を格納している。同様に、変換データベース１０５は、データベース識別子「００２」と外部識別コード「ａ１’」とに対応づけて基盤データベース１２０に格納されている基盤コード「ａ１」を格納し、データベース識別子「００２」と外部識別コード「ａ２’」とに対応づけて基盤データベース１２０に格納されている基盤コード「ａ２」を格納している。
【０１２７】
更に、基盤データベース１２０は、図７に示すように、基盤コード「Ａ」（例えば、データ「根菜類」に対応する基盤コード）の下位概念として基盤コード「ａ１」（例えば、データ「大根」に対応する基盤コード）、基盤コード「ａ２」、基盤コード「ａ３」等を対応づけると共に、基盤コード「ａ１」の下位概念として基盤コード「ａ１１」（例えば、データ「守口大根」に対応する基盤コード）、基盤コード「ａ１２」等が対応づけられることによって形成される階層構造の階層構造情報を格納する。なお、ここでの説明において変換データベース１０５、及び基盤データベース１２０は、上記以外にも複数のデータベース識別子、外部識別コード、及び／又は基盤コードを格納しているが、説明を簡略化することを目的として、一部のデータベース識別子、外部識別コード、及び／又は基盤コードを取り上げて説明する。
【０１２８】
まず、データ入力部１００は、第１の外部データベースから外部データの入力を受け付ける（ステップ１０。以下、ステップを「Ｓ」と表す。）。例えば、データ入力部１００は、外部識別コード「ａ１１’」が対応づけられた「守口大根」を示す外部データの入力を、第２の外部データのデータベース識別子「００２」と共に受け付ける。データ入力部１００は、受け付けたデータ等を基盤コード変換部１１０に供給する。
【０１２９】
基盤コード変換部１１０は、データ入力部１００から受け取ったデータ等に基づいて外部識別コードを標準データに変換する（Ｓ１５）。例えば、基盤コード変換部１１０は、外部識別コード「ａ１１’」を、データ入力部１００から受け取った外部識別コードと第１の外部データベースのデータベース識別子「００１」とに対応づけて変換データベース１０５に格納されている基盤コード「ａ１１」を取得する。そして、基盤コード変換部１１０は、取得した基盤コード「ａ１１」と外部識別コード「ａ１１’」に対応する外部データとを外部識別コード「ａ１１’」に対応づけたデータを標準データとして扱う（ただし、本実施形態では、説明の簡略化のため、標準データを、当該標準データに対応づけられている基盤コードと同一の表記とする。）。基盤コード変換部１１０は、得られた標準データをコード存在判断部１１５に供給する。
【０１３０】
コード存在判断部１１５は、基盤コード変換部１１０から受け取った標準データに対応する基盤コードが、第２の外部データベースのデータベース識別子「００２」に対応づけて変換データベース１０５に格納されているか否かを判断する（Ｓ２０）。コード存在判断部１１５は、判断結果を示す情報をデータ変換部１２５に供給する。
【０１３１】
データ変換部１２５は、コード存在判断部１１５において当該標準データに対応する基盤コードが変換データベース１０５に格納されていると判断された場合（Ｓ２０：Ｙ）、当該標準データを、当該標準データと第２の外部データベースのデータベース識別子とに対応づけて変換データベース１０５に格納されている外部識別コードに変換する（Ｓ２５）。データ変換部１２５は、変換して得られた外部識別コードをデータ出力部１４０に供給する。
【０１３２】
一方、データ変換部１２５は、コード存在判断部１１５において当該標準データに対応する基盤コードが変換データベース１０５に格納されていないと判断された場合（Ｓ２０：Ｎ）、当該標準データを、基盤データベース１２０を参照し、当該標準データに対応する基盤コードを含む階層構造内のいずれかの基盤コードと第２の外部データベースのデータベース識別子とに対応づけて変換データベース１０５に格納されている外部識別コードに変換する（Ｓ３０）。例えば、データ変換部１２５は、標準データ「ａ１１」に対応する基盤コード「ａ１１」と同一の基盤コード「ａ１１」が含まれる基盤データベース１２０の階層構造情報を参照する。基盤データベース１２０は基盤コード「ａ１１」を含んでおり、かつ、変換データベース１０５は、基盤コード「ａ１１」の上位概念である基盤コード「ａ１」と第２の外部データベースのデータベース識別子「００２」に対応づけて、外部識別コード「ａ１’」を格納している。
【０１３３】
したがって、データ変換部１２５は、まず、階層構造の基盤コード「ａ１１」を中心に上位概念に遡って検索し、基盤コード「ａ１」を抽出する。そして、データ変換部１２５は、変換データベース１０５を参照し、データベース識別子「００２」と抽出した基盤コード「ａ１」とに対応づけられている外部識別コード「ａ１’」を参照する。そして、データ変換部１２５は、標準データ「ａ１１」を外部識別コード「ａ１’」に変換する。なお、この場合においてデータ変換部１２５は、「遡り回数」として「１」を示す損失情報を、変換した外部識別コードに付加できる。
【０１３４】
データ出力部１４０は、データ変換部１２５から受け取った外部識別コード及び／又は外部データを所定の外部データベースに対して出力する（Ｓ３５）。例えば、データ出力部１４０は、外部識別コード「ａ１’」及び／又は標準データ「ａ１１」に対応づけられている外部データの一部若しくは全部を、第２の外部データベースに対して出力する。
【０１３５】
図９は、本発明の他の実施の形態に係る基盤データベースの一例を示し、図１０は、本発明の他の実施の形態に係る変換データベースのデータの一例を示す。また、図１１は、本発明の他の実施の形態に係るデータ交換システムにおけるデータ交換の流れの概要を示す。ここでは、Ｂ社からＡ社に対してデータが提供される例を説明する。
【０１３６】
図９に示すように、基盤データベース１２０は、第１データを識別する基盤コード「Ａ」を階層構造（すなわち、木構造）の上位に配置すると共に、第２データを識別する基盤コード「ａ１」及び第３データを識別する基盤コード「ａ２」を基盤コード「Ａ」の下位に配置する。同様に、第４データを識別する基盤コード「ａ１１」及び第５データを識別する基盤コード「ａ１２」が基盤コード「ａ１」の下位に配置され、第６データを識別する基盤コード「ａ１１１」、第７データを識別する基盤コード「ａ１１２」、及び第８データを識別する基盤コード「ａ１１３」が基盤コード「ａ１１」の下位に配置される。なお、基盤コード「Ａ」と同列に、他の基盤コード「Ｂ」等が配置される。同様に、基盤コード「ａ１」、基盤コード「ａ１１」、若しくは基盤コード「ａ１１１」のそれぞれについても、図示した以外に他の基盤コードが配置されていてもよい。
【０１３７】
ここでは一例として、第１データは「野菜」を示すデータであり、第２データは「根菜類」を示すデータであり、第３データは「葉菜類」を示すデータであり、第４データは「だいこん」を示すデータであり、第５データは「かぶ」を示すデータであるとする。また、第６データは「土付きだいこん」を示すデータであり、第７データは「守口だいこん」を示すデータであり、第８データは「聖護院だいこん」を示すデータであるとする。
【０１３８】
また、図１０に示すように、変換データベース１０５は、Ａ社を識別するデータベース識別子「Ａ」に対応づけて、外部識別コード、基盤コード、及び／又は品名を対応づけて格納する。更に、変換データベース１０５は、Ｂ社を識別するデータベース識別子「Ｂ」に対応づけて、外部識別コード、基盤コード、及び／又は品名を対応づけて格納する。
【０１３９】
例えば、変換データベース１０５は、データベース識別子「Ａ」に外部識別コード「０００１」と基盤コード「ａ１１」と品名「だいこん」とを対応づけて格納する。同様に、変換データベース１０５は、データベース識別子「Ａ」に外部識別コード「０００２」と基盤コード「ａ１１１」と品名「土付だいこん」とを対応づけ、データベース識別子「Ａ」に外部識別コード「０００３」と基盤コード「ａ１２」と品名「かぶ」とを対応づけ、データベース識別子「Ａ」に外部識別コード「０００３」と基盤コード「ａ１１３」と品名「かぶ」とを対応づけて格納する。
【０１４０】
ここで、基盤コード「ａ１１３」と品名「かぶ」とが対応づけられているが、これは、基盤データベース１２０とは異なる対応づけをＡ社が採用していることを示す。そこで、変換データベース１０５は、外部識別コードと基盤コードとの対応づけに複数の対応づけが存在する場合、複数の対応づけを禁止するか、若しくは複数の対応づけのそれぞれに優先順位を対応づける。そして、データ変換部１２５は、最も高い優先順位が対応づけられた基盤コードを用いて変換処理を実行する。例えば、図１０の例においては、外部識別コード「０００３」に対応する基盤コード「ａ１２」に最も高い優先順位が対応づけられていることを示すフラグ（以下、「優先フラグ」という（図示しない）。）を対応づけることができる。一方、外部識別コード「０００３」に対応する基盤コード「ａ１１３」には、優先フラグを対応づけない。
【０１４１】
また、変換データベース１０５は、データベース識別子「Ｂ」に外部識別コード「１００１」と基盤コード「ａ１１１」と品名「土付だいこん」とを対応づけ、データベース識別子「Ｂ」に外部識別コード「１００２」と基盤コード「ａ１１２＊」と品名「守口だいこん」とを対応づけ、データベース識別子「Ｂ」に外部識別コード「１００３」と基盤コード「ａ１１」と品名「だいこん」とを対応づけ、データベース識別子「Ｂ」に外部識別コード「１００４」と基盤コード「ａ１２」と品名「かぶ」とを対応づけ、データベース識別子「Ｂ」に外部識別コード「１００５」と基盤コード「ａ１１３」と品名「聖護院だいこん」とを対応づける。
【０１４２】
ここで、基盤コードには予め定められた付帯情報を付帯させることができる。例えば、基盤コード「ａ１１２＊」には、所定の付帯情報が付帯されていることを示すマークが付加されている。この付帯情報に基づいて、データ変換部１２５は標準データを外部識別コードに変換する。例えば、この付帯情報は、所定のデータベース識別子に対応づけられている所定の基盤コードについては、基盤データベース１２０の階層構造に関わらず、予め定められた別のコードを外部識別コードとして用いることを示す情報である。
【０１４３】
一例として、データベース識別子「Ｂ」に対応づけて基盤コード「ａ１１２」が変換データベース１０５に格納されており、この基盤コードに、Ａ社に対してこの基盤コードを用いる場合はＡ社の外部基盤コード「０００３」を用いることを指示する付帯情報が付帯されているとする。この場合、Ａ社に対してデータ（ここでは、外部識別コード「１００２」に対応するデータ）を供給するときは、まず、基盤コード変換部１１０は、Ｂ社の外部データベースから供給される外部識別コード「１００２」を用いて変換データベース１０５を検索し、データベース識別子「Ｂ」と外部識別コード「１００２」とに対応づけて格納されている基盤コード「ａ１１２」を取得する。そして、基盤コード変換部１１０は、外部識別コード「１００２」にこの基盤コードを「ａ１１２」対応づけたデータを標準データ「ａ１１２」として扱い、外部識別コード「１００２」を標準データ「ａ１１２」に変換する。なお、付帯情報は変換データベース１０５に格納されている基盤コード、及び標準データのそれぞれに予め付帯されている。
【０１４４】
次に、データ変換部１２５は、基盤コード変換部１１０からこの標準データを受け取り、標準データに対応する基盤コードが基盤データベース１２０の階層構造中に存在するか否か確認する。ただし、ここでこの標準データには付帯情報が付帯されている。この付帯情報は上記のとおり、Ａ社に対してこの基盤コードを用いる場合はＡ社の外部基盤コード「０００３」を用いることを指示する情報である。つまり、基盤データベース１２０が用いている階層構造とは異なる別の階層構造への変換を示す情報である。そこで、データ変換部１２５は、基盤データベース１２０の階層構造に従わず、付帯情報によって予め定められたコード（ここでは、コード「０００３」）を外部識別コードとする。
【０１４５】
そして、図１１に示すように、コード存在判断部１１５及びデータ変換部１２５の機能により、Ｂ社の外部識別コードが標準データを介してＡ社の外部識別コードに変換される。例えば、Ｂ社の外部基盤コード「１００１」は、変換データベース１０５において基盤コード「ａ１１１」に対応づけられており、この基盤コードが基盤コード変換部１１０において「ａ１１１」という標準データに変換される。そして、データ変換部１２５は、変換データベース１０５においてこの標準データ「ａ１１１」に対応する基盤コードに一致する基盤コード「ａ１１１」とデータベース識別子「Ａ」とに対応づけられている外部識別コード「０００２」に、標準データ「ａ１１１」を変換する。データ交換システム１は、付帯情報が付帯されていない基盤コードについて、同様の処理を実行する。
【０１４６】
一方、変換データベースは、Ｂ社の外部識別コード「１００２」に対応づけて付帯情報が付帯された基盤コード「ａ１１２」を格納している。そして、Ａ社のデータベース識別子に対応づけて、変換データベース１０５は基盤コード「ａ１１２」を格納していない。この場合、仮に付帯情報がない場合、データ交換システム１は、基盤データベース１２０のコード「ａ１１２」の上位階層をたどり、基盤コード「ａ１１」を変換する基盤コードとして選択する。そして、データ交換システム１は、付帯情報がない場合、標準データ「ａ１１１」を、基盤コード「ａ１１」とデータベース識別子「Ａ」とに対応づけて変換データベース１０５に格納されている外部識別コード「０００１」に変換して外部識別コードとする。しかし、ここでは、付帯情報が基盤コードに付帯されているので、データ交換システム１は、付帯情報によって示されるコードを変換する外部識別コードとする。すなわち、ここでは、コード「０００３」を変換する外部識別コードとする。これにより、データ交換システム１は、Ｂ社の外部識別コード「１００２」を、Ａ社の外部識別コード「０００３」に変換することができる。
【０１４７】
なお、基盤コード変換部１１０は、変換データベース１０５において同一の外部識別コードに複数の基盤コードが対応づけられている外部識別コードを用いる場合、優先フラグに基づいて処理を実行する。例えば、基盤コード変換部１１０は、Ａ社から外部識別コード「０００３」を取得した場合、優先フラグが対応づけられている基盤コード（図１０の例では、基盤コード「ａ１２」）を用い、外部識別コードを標準データに変換する。そして、データ変換部１２５は、基盤コード変換部１１０が優先フラグに基づいて変換した標準データを用いて変換処理を実行する。
【０１４８】
図１２は、本発明の実施の形態に係るデータ交換システムのハードウェア構成の一例を示す。
【０１４９】
本発明の実施の形態に係るデータ交換システム１は、ＣＰＵ１５００と、グラフィックコントローラ１５２０と、ＲａｎｄｏｍＡｃｃｅｓｓＭｅｍｏｒｙ（ＲＡＭ）、Ｒｅａｄ−ＯｎｌｙＭｅｍｏｒｙ（ＲＯＭ）及び／又はフラッシュＲＯＭ等のメモリ１５３０と、データを記憶する記憶装置１５４０と、記録媒体からデータを読み込み及び／又は記録媒体にデータを書き込む読込み／書込み装置１５４５と、データを入力する入力装置１５６０と、外部の通信機器とデータを送受信する通信インターフェース１５５０と、ＣＰＵ１５００とグラフィックコントローラ１５２０とメモリ１５３０と記憶装置１５４０と読込み／書込み装置１５４５と入力装置１５６０と通信インターフェース１５５０とを互いに通信可能に接続するチップセット１５１０とを備える。なお、ＣＰＵ１５００等の構成要素は、１つ以上のＣＰＵ等であって、複数のＣＰＵ等を含んで構成することもできる。
【０１５０】
チップセット１５１０は、メモリ１５３０と、メモリ１５３０にアクセスして所定の処理を実行するＣＰＵ１５００と、外部の表示装置の表示を制御するグラフィックコントローラ１５２０とを相互に接続することにより、各構成要素間のデータの受渡しを実行する。ＣＰＵ１５００は、メモリ１５３０に格納されたプログラムに基づいて動作して、各構成要素を制御する。グラフィックコントローラ１５２０は、メモリ１５３０内に設けられたバッファ上に一時的に蓄えられた画像データに基づいて、画像を所定の表示装置に表示させる。
【０１５１】
また、チップセット１５１０は、記憶装置１５４０と、読込み／書込み装置１５４５と、通信インターフェース１５５０とを接続する。記憶装置１５４０は、データ交換システムのＣＰＵ１５００が使用するプログラムとデータとを格納する。記憶装置１５４０は、例えば、フラッシュメモリである。読込み／書込み装置１５４５は、プログラム及び／又はデータを記憶している記憶媒体からプログラム及び／又はデータを読み取って、読み取ったプログラム及び／又はデータを記憶装置１５４０に格納する。読込み／書込み装置１５４５は、例えば、通信インターフェース１５５０を介し、インターネット上のサーバーから所定のプログラムを取得して、取得したプログラムを記憶装置１５４０に格納する。
【０１５２】
通信インターフェース１５５０は、通信ネットワークを介して外部の装置とデータの送受信を実行する。また、通信インターフェース１５５０は、通信ネットワークが不通の場合、通信ネットワークを介さずに外部の装置とデータの送受信を実行することもできる。そして、タブレット、マイク等の入力装置１５６０は、所定のインターフェースを介してチップセット１５１０と接続する。
【０１５３】
記憶装置１５４０に格納されるデータ交換プログラムは、インターネット等の通信ネットワーク、又は磁気記録媒体、光学記録媒体等の記録媒体を介して記憶装置１５４０に提供される。そして、記憶装置１５４０に格納されたデータ交換プログラムは、ＣＰＵ１５００により実行される。なお、記録媒体を用いることで、コンピューターにデータ交換プログラムをインストールできる。プログラムを格納している記録媒体は、ＣＤ−ＲＯＭやＤＶＤ等の非一過性の記録媒体であってよい。
【０１５４】
データ交換システム１により実行される情報入力プログラムは、ＣＰＵ１５００に働きかけて、データ交換システム１を、図１から図１１にかけて説明した入力データ処理ユニット１０、出力データ処理ユニット１５、データ入力部１００、変換データベース１０５、基盤コード変換部１１０、コード存在判断部１１５、基盤データベース１２０、データ変換部１２５、付帯ユニット１３０、情報付帯部１３２、コード付帯部１３４、データ出力部１４０、対応関係更新部１５０、及び情報更新部１５５として機能させる。
【０１５５】
（実施の形態の効果）
本実施の形態に係るデータ交換システム１は、複数の外部データベースそれぞれの基盤データベース１２０に対するデータの対応関係を変換データベース１０５において定義しているので、互いに異なる外部データベース間で自在にデータ交換を実現できる。特に、従来の一次元的な構造を有する標準コード又は統一コードに対し、本実施の形態に係るデータ交換システム１は、多段階の階層構造を定義した木構造を有する、変換処理の基盤となる基盤データベース１２０を備えている。この基盤データベース１２０を用いることで、データ交換システム１は、任意のデータベース間でのデータ交換を実現することができる。これにより、データ交換システム１は、変換データベース１０５が格納しているデータの対応関係を定義するだけで、任意のデータベース間でのデータ交換を実現できる。
【０１５６】
すなわち、本実施の形態に係るデータ交換システム１は、複数の外部データベースのそれぞれが、独自コード体系を維持したまま、異なるコード体系の外部データベースに対し、データの内容を把握できる形式でデータ交換を実行できる。すなわち、データ交換システム１によれば、任意のデータベースとの間で、データ交換を自在に実行できる。そして、データ交換システム１は、曖昧さを含むデータについて、階層構造を有する階層構造情報として格納する基盤データベース１２０を備えるので、情報通信技術の発展と社会の複雑さの進展とに伴い、互いに異なる複数の社会的領域（例えば、互いに異なるコード体系を利用している複数のサーバー）内で利用される情報が増大、変化した場合であっても、当該情報を互いに異なる社会的領域間で相互に交換し、有効に活用できる。
【０１５７】
よって、データ交換システム１によれば、基盤コード変換部１１０で変換された標準データに対応する基盤コードと同一の基盤コードが、他のデータベース識別子に対応づけて変換データベース１０５に格納されていない場合でも、いわゆる粒度の違いを考慮して基盤データベース１２０の階層構造を検索することで標準データを適切な外部識別コードに変換できる。したがって、データ交換システム１は、当該システムを利用する様々な外部データベースそれぞれが独自のコード体系を運用しつつ、柔軟なデータ交換を実現できる。
【０１５８】
以上、本発明の実施の形態を説明したが、上記に記載した実施の形態は特許請求の範囲に係る発明を限定するものではない。また、実施の形態の中で説明した特徴の組合せの全てが発明の課題を解決するための手段に必須であるとは限らない点に留意すべきである。更に、上記した実施形態の技術的要素は、単独で適用されてもよいし、プログラム部品とハードウェア部品とのような複数の部分に分割されて適用されるようにすることもできる。
【符号の説明】
【０１５９】
１、１ａ  データ交換システム
５  通信網
１０  入力データ処理ユニット
１５  出力データ処理ユニット
２０、２２、２４  外部データベース
１００  データ入力部
１０５  変換データベース
１１０  基盤コード変換部
１１５  コード存在判断部
１２０  基盤データベース
１２５  データ変換部
１３０  付帯ユニット
１３２  情報付帯部
１３４  コード付帯部
１４０  データ出力部
１５０  対応関係更新部
１５５  情報更新部
１５００  ＣＰＵ
１５１０  チップセット
１５２０  グラフィックコントローラ
１５３０  メモリ
１５４０  記憶装置
１５４５  読込み／書込み装置
１５５０  通信インターフェース
１５６０  入力装置
【図１】
2017208922.tif 000003
【図２】
2017208922.tif 000004
【図３】
2017208922.tif 000005
【図４】
2017208922.tif 000006
【図５】
2017208922.tif 000007
【図６】
2017208922.tif 000008
【図７】
2017208922.tif 000009
【図８】
2017208922.tif 000010
【図９】
2017208922.tif 000011
【図１０】
2017208922.tif 000012
【図１１】
2017208922.tif 000013
【図１２】
2017208922.tif 000014
【国際調査報告】
2017208922.tif 000015
2017208922.tif 000016