(57)【要約】【課題】リンク情報による商品管理および検索を確実で効率良くする。【解決手段】商品履歴情報１０は、全サイトからノードリストを収集し、各商品ノードに対してリンク情報（親ノードリンク、親サイトリンク）のみ保持する。管理／検索サーバ２０は、処理Ａ〜Ｄにより、フラットな構造のデータで保持したときの、リンク情報の有無によりグラフの末端を抽出し、この抽出においてＩＤの比較及び存在確認、重複除去により、最も祖先のノードを抽出する。  また、ノードの種類条件による絞込後に、ＩＤの別名追加及び比較、存在確認、重複除去により、条件に合う範囲で最も祖先のノードを抽出する。【選択図】図１
2009208904.tif 000002
【特許請求の範囲】
【請求項１】
各サイト内の商品の流通履歴を、個別の商品を示すＩＤを含む商品情報とＩＤの親子関係の履歴情報として管理し、指定される商品の流通履歴を前記履歴情報を基に検索する流通履歴管理システムであって、
全てのサイトからノードリストを収集し、全ノードリストを作成する手段と、
前記全ノードリストに対して親リンクの有無を調べることで、親の無い祖先ノードを検索する手段と、
前記親の無い祖先ノードのうち、同じＩＤで親を持つノードがリスト内に無いものを抽出する手段と、
前記サイト間をまたがる同じＩＤのノードが重複するものを削除する手段と、
を備えたことを特徴とする流通履歴管理システム。
【請求項２】
各サイト内の商品の流通履歴を、個別の商品を示すＩＤを含む商品情報とＩＤの親子関係の履歴情報として管理し、指定される商品の流通履歴を前記履歴情報を基に検索する流通履歴管理システムであって、
全てのサイトからノードリストを収集し、全ノードリストを作成する手段と、
前記全ノードリストを種類により絞込み、種類が異なるものを削除し、削除したノードの親に別名としてそのノードの名前を付ける手段と、
前記種類により絞り込んだノードのうち、親が無いが、親のあるノードと同じＩＤを持つノードを削除する手段と、
前記種類により絞り込んだノードのうち、親が別名でも存在するノードを削除する手段と、
前記削除されたノードのうち、サイト間をまたがる同じＩＤのノードが重複するノードを削除する手段と、
を備えたことを特徴とする流通履歴管理システム。
【請求項３】
各サイト内の商品の流通履歴を、個別の商品を示すＩＤを含む商品情報とＩＤの親子関係の履歴情報として管理し、指定される商品の流通履歴を前記履歴情報を基に検索する流通履歴の管理／検索方法であって、
全てのサイトからノードリストを収集し、全ノードリストを作成するステップと、
前記全ノードリストに対して親リンクの有無を調べることで、親の無い祖先ノードを検索するステップと、
前記親の無い祖先ノードのうち、同じＩＤで親を持つノードがリスト内に無いものを抽出するステップと、
前記サイト間をまたがる同じＩＤのノードが重複するものを削除するステップと、
を備えたことを特徴とする流通履歴の管理／検索方法。
【請求項４】
各サイト内の商品の流通履歴を、個別の商品を示すＩＤを含む商品情報とＩＤの親子関係の履歴情報として管理し、指定される商品の流通履歴を前記履歴情報を基に検索する流通履歴の管理／検索方法であって、
全てのサイトからノードリストを収集し、全ノードリストを作成するステップと、
前記全ノードリストを種類により絞込み、種類が異なるものを削除し、削除したノードの親に別名としてそのノードの名前を付けるステップと、
前記種類により絞り込んだノードのうち、親が無いが、親のあるノードと同じＩＤを持つノードを削除するステップと、
前記種類により絞り込んだノードのうち、親が別名でも存在するノードを削除するステップと、
前記削除されたノードのうち、サイト間をまたがる同じＩＤのノードが重複するノードを削除するステップと、
を備えたことを特徴とする流通履歴の管理／検索方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、商品などの流通履歴を管理するシステム、および流通履歴の管理／検索方法に関する。
【背景技術】
【０００２】
流通履歴管理（トレーサビリティ）システムは、商品などの来歴や行方、所在、構成や内容、変化や変更の履歴などを後から確認可能とするもので、一般には工業製品や食品、医薬品などの商品・製品や部品、素材などを個別（個体）ないしはロットごとに識別して、調達・加工・生産・流通・販売・廃棄などにまたがって履歴情報を参照できるようにする。
【０００３】
このシステムにおいて、「物」の個別識別にはバーコードなどが使われてきたが、最近ではＩＣタグ（ＲＦＩＤ）が期待されている。履歴情報管理には、あるサイト（流通業者）内の商品の流通履歴を、個別の商品を示すＩＤを含む商品情報とＩＤの親子関係の履歴情報としてデータベースに格納し、親子関係の履歴を辿ることにより、指定した商品の原材料製造元や販売先などの流通履歴が得られる（例えば、特許文献１、２参照）。
【０００４】
図７に示す商品履歴情報管理では、サイト毎にサイト内の流通履歴をグラフ構造データで保持する。同図中、矢印の向きは親、即ち流通元、あるいは原料を示す。これを表現する際に、処理を単純にするため、また階層構造を深くしないために、親子階層関係をそのままデータ構造として持つのではなく、図８に示すように、各商品ノードに対してリンク情報（親ノードリンク、親サイトリンク）のみ保持し、各ノードはフラット（階層的なツリー構造でなく）に単なる集合として持つ。サイト間の受け渡し情報は親子リンクとは別に輸送履歴情報としてサイト情報のみ保持し、商品ＩＤはサイト間で共通であるとする（これは図７では破線矢印で表した）。サイト内で最も祖先のノードには親がないことになる。
【０００５】
複数サイト間をまたがる場合、複数の連結グラフができるが、全体のノードデータを表現する場合、サイト間部分はＩＤが同じということで識別し、特別なデータを保持しない。このデータ保持方法はＥＵの水産物トレーサビリティ規格ＴｒａｃｅＦｉｓｈなどでは標準となっている。
【０００６】
輸送履歴情報がある場合、そこで示されるサイトに対してデータベースに問合わせることにより、サイトをまたいで祖先の商品を検索することができるが、そのサイトが応答を返さない場合もありうるのでその場合は祖先のノードが取得できない状態となり、輸送履歴があっても最も祖先のノードとなる場合がある。
【０００７】
複数サイトのノードデータをまとめて一つのサーバで管理することもできるが、上記のようにサイト毎に分けて管理し、サイト間を輸送履歴情報として表すことにより輸送と製造過程を明確に分け、処理の分担をすることができる。
【特許文献１】特開２００４−３４２０９６号公報
【特許文献２】特開２００６−３１８１４４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
特許文献１のように、一つのサーバで複数のサイトのノードデータを管理する場合、サーバが扱うデータの数が大きくなりすぎる場合があり、レスポンス時間などに問題がでることがある。
【０００９】
以降、複数サイト毎にデータを管理する場合を考える。ここで、原材料や収穫されたときの情報を得ることを目的とし、そのためにはグラフ構造の親を辿り、親の無い、局所的に最も祖先であるノードを全て検索する必要がある。一つの商品（ノード）に対して、複数の祖先がありうる。
【００１０】
あるサイトは各サイトと通信することができ、サイトに要求を出すことによってサイト内の情報を得ることができる。これによりサイト内の履歴は辿ることができるが、複数サイトをまたがる場合、複数のグラフがあるが接続部分は親子関係がなく（親サイト情報しかない）、全てが親子関係で繋がれているわけではないため、単純に親を辿ることができない（親リンクが無く、親が含まれるサイトしか分からない）。
【００１１】
そのため、ノードデータにサイト間の連結情報を親情報として持たせれば良いが、親情報はＩＤでのみ表現しており、サイト間をまたがる複数のノードは同じＩＤのため、区別をつけることができない。
【００１２】
そのため、データのスキーマを変更し、サイト情報とＩＤでデータを区別し、親情報にサイトとＩＤを保持するか、サイト間の連結暗報を親情報とは別のリンク情報として保持させなければならない。しかし、データスキーマが業界標準として決まっており変更できない場合（ＴｒａｃｅＦｉｓｈなど）などは、これに対処することができない。
【００１３】
本発明の目的は、リンク情報による商品管理および検索が確実で効率良くなる流通履歴管理システムおよび流通履歴の管理／検索方法を提供することにある。
【課題を解決するための手段】
【００１４】
本発明は、前記の課題を解決するため、グラフ構造をフラットな構造のデータで保持したときの、リンク情報の有無によりグラフの末端を抽出し、この抽出においてＩＤの比較及び存在確認、重複除去により、最も祖先のノードを抽出し、また、ノードの種類条件による絞込後に、ＩＤの別名追加及び比較、存在確認、重複除去により、条件に合う範囲で最も祖先のノードを抽出するようにしたもので、以下のシステム、方法を特徴とする。
【００１５】
（１）各サイト内の商品の流通履歴を、個別の商品を示すＩＤを含む商品情報とＩＤの親子関係の履歴情報として管理し、指定される商品の流通履歴を前記履歴情報を基に検索する流通履歴管理システムであって、
全てのサイトからノードリストを収集し、全ノードリストを作成する手段と、
前記全ノードリストに対して親リンクの有無を調べることで、親の無い祖先ノードを検索する手段と、
前記親の無い祖先ノードのうち、同じＩＤで親を持つノードがリスト内に無いものを抽出する手段と、
前記サイト間をまたがる同じＩＤのノードが重複するものを削除する手段と、
を備えたことを特徴とする。
【００１６】
（２）各サイト内の商品の流通履歴を、個別の商品を示すＩＤを含む商品情報とＩＤの親子関係の履歴情報として管理し、指定される商品の流通履歴を前記履歴情報を基に検索する流通履歴管理システムであって、
全てのサイトからノードリストを収集し、全ノードリストを作成する手段と、
前記全ノードリストを種類により絞込み、種類が異なるものを削除し、削除したノードの親に別名としてそのノードの名前を付ける手段と、
前記種類により絞り込んだノードのうち、親が無いが、親のあるノードと同じＩＤを持つノードを削除する手段と、
前記種類により絞り込んだノードのうち、親が別名でも存在するノードを削除する手段と、
前記削除されたノードのうち、サイト間をまたがる同じＩＤのノードが重複するノードを削除する手段と、
を備えたことを特徴とする。
【００１７】
（３）各サイト内の商品の流通履歴を、個別の商品を示すＩＤを含む商品情報とＩＤの親子関係の履歴情報として管理し、指定される商品の流通履歴を前記履歴情報を基に検索する流通履歴の管理／検索方法であって、
全てのサイトからノードリストを収集し、全ノードリストを作成するステップと、
前記全ノードリストに対して親リンクの有無を調べることで、親の無い祖先ノードを検索するステップと、
前記親の無い祖先ノードのうち、同じＩＤで親を持つノードがリスト内に無いものを抽出するステップと、
前記サイト間をまたがる同じＩＤのノードが重複するものを削除するステップと、
を備えたことを特徴とする。
【００１８】
（４）各サイト内の商品の流通履歴を、個別の商品を示すＩＤを含む商品情報とＩＤの親子関係の履歴情報として管理し、指定される商品の流通履歴を前記履歴情報を基に検索する流通履歴の管理／検索方法であって、
全てのサイトからノードリストを収集し、全ノードリストを作成するステップと、
前記全ノードリストを種類により絞込み、種類が異なるものを削除し、削除したノードの親に別名としてそのノードの名前を付けるステップと、
前記種類により絞り込んだノードのうち、親が無いが、親のあるノードと同じＩＤを持つノードを削除するステップと、
前記種類により絞り込んだノードのうち、親が別名でも存在するノードを削除するステップと、
前記削除されたノードのうち、サイト間をまたがる同じＩＤのノードが重複するノードを削除するステップと、
を備えたことを特徴とする。
【発明の効果】
【００１９】
以上のとおり、本発明によれば、グラフ構造をフラットな構造のデータで保持したときの、リンク情報の有無によりグラフの末端を抽出し、この抽出においてＩＤの比較及び存在確認、重複除去により、最も祖先のノードを抽出し、また、ノードの種類条件による絞込後に、ＩＤの別名追加及び比較、存在確認、重複除去により、条件に合う範囲で最も祖先のノードを抽出するようにしたため、リンク情報による商品管理および検索が確実で効率良くなる。
【００２０】
具体的には、グラフ構造の情報を持つデータを、親リンクの情報だけで保持する、フラットなデータ構造において、局所的に最も祖先のノードを全て抽出（末端検索）することができる。また、複数のサイトをまたがるデータにおいて、各サイトで各ノードの親方向のリンク情報のみ保持することにより、まとめてリンク状態を保持できる。さらに、複数のサイトをまたがるデータにおいて、各サイトのリンク情報を収集してこれにより末端を抽出し、ＩＤにより不要ノードを除去することにより、まとめて末端検索を行うことができる。さらにまた、ノードの種類により絞込を行って、種類が合うノードの中での末端検索を行うことができる。
【発明を実施するための最良の形態】
【００２１】
（実施形態１）
図１は、本実施形態を示す流通履歴管理システムの構成図である。商品履歴情報１０は、図７と同様に、各サイトＡ、Ｂ、Ｃからノードリストを収集し、各商品ノードに対してリンク情報（親ノードリンク、親サイトリンク）のみ保持し、各ノードはフラットなデータ構造としてデータベースに保存される。
【００２２】
管理／検索サーバ２０は、上記のデータ構造にした商品履歴情報１０の管理、および処理Ａ〜Ｄによる検索を実行し、これら管理と実行に必要なデータ保存と検索結果をデータベース３０に格納し、その利用を可能にする。
【００２３】
図２は、処理Ａ〜Ｄによる親の無い末端の祖先ノードの検索フローを示し、各処理における処理状態を図３に示す。各処理Ａ〜Ｄは以下の通りである。
【００２４】
（処理Ａ、Ｂ）親の無い祖先ノード（局所的に最も祖先であるノード）を検索するために、まず、侯補として親（リンク情報）の無いノードを抽出する。これは、全てのサイト（サーバ）からノードリストを収集し、親ありリストを初期化し（Ｓ１，Ｓ２）、サイト内の全てのノードに対して親リンクの有無を調べることで抽出できる（Ｓ３，Ｓ４）。
【００２５】
（処理Ｃ）上記の処理Ａ，Ｂで抽出した結果リストは検索を行うサイトで保持する。しかしこれだけではサイトをまたがる商品なども抽出されてしまう。そこで、同じＩＤで親を持つノードがリスト内に無いものをさらに抽出する（Ｓ５）。これにより、サイト間で輸送されるだけのようなノードを排除することができる。
【００２６】
（処理Ｄ）上記の処理Ｃまでではサイト間をまたがる同じＩＤのノードが重複する場合があるので、ＩＤが重複するものを削除する（Ｓ６，Ｓ７）。
【００２７】
したがって、本実施形態によれば、
（処理Ａ，Ｂ）グラフ構造の情報を持つデータを、親リンクの情報だけで保持する、フラットなデータ構造において、局所的に最も祖先のノードを全て抽出（末端検索）することができる。
【００２８】
（処理Ｃ）複数のサイトをまたがるデータにおいて、各サイトで各ノードの親方向のリンク情報のみ保持することにより、まとめてリンク状態を保持できる。
【００２９】
（処理Ｄ）複数のサイトをまたがるデータにおいて、各サイトのリンク情報を収集してこれにより末端を抽出し、ＩＤにより不要ノードを除去することにより、まとめて末端検索を行うことができる。
【００３０】
（実施形態２）
図４は本実施形態による検索フローである。本実施形態では、種類による絞込みを含む、親の無い末端の祖先を検索するもので、種類による絞込み処理状態を図５に示し、親の無い末端の祖先検索の処理状態を図６に示し、これらにおける各処理Ａ〜Ｅは以下の通りである。
【００３１】
（処理Ａ、Ｓ１１）図６に示すように、各サイトからノードリストを収集し、全ノードリストを作成する。
【００３２】
（処理Ｂ、Ｓ１２）全ノードリストを種類により絞込み、種類が異なるものを削除する。ノードの種類（商品の属性など）によっても検索を行う場合、全ノードに対して種類により絞込を行えばよいが、その種類のなかで一番祖先のものを検索したい（図５）場合は、単純に全ノードに対して種類による絞込みを行ったり（図５例では商品ｃの親がなくなるため商品ｃが祖先と検索されてしまう）、祖先を検索してから絞込みを行ったり（図５例では商品ｇが祖先とならないので検索されない）したのではうまく検索されない。そこで、まず種類で絞り込み種類の異なるノードを削除する。このとき削除したノードの親に別名としてそのノードの名前を付ける。これにより、削除したノードを詰めたリンク関係ができる。
【００３３】
（処理Ｃ、Ｓ１３）親が無いが、親のあるノードと同じＩＤを持つノードを削除する。これにより輸送したノードを除外（一部）する。
【００３４】
（処理Ｄ、Ｓ１４）親が別名でも存在するノードを削除する。これにより祖先でない、途中のノードを除外する。
【００３５】
（処理Ｅ、Ｓ１５）上記の処理Ｄだけではサイト間をまたがる同じＩＤのノードが重複する場合があるので、ＩＤが重複するものを削除する。
【００３６】
（Ｓ１６）検索結果をリストとして出力する。
【００３７】
本実施形態では、実施携帯の効果に加えて、ノードの種類により絞込を行って、種類が合うノードの中での末端検索を行うことができる。
【図面の簡単な説明】
【００３８】
【図１】本発明の実施形態１を示す流通履歴管理システムの構成図。
【図２】親の無い末端の祖先ノードの検索フロー。
【図３】親の無い末端の祖先ノードの検索処理状態。
【図４】本発明の実施形態２を示す親の無い末端の祖先ノードの検索フロー。
【図５】種類による絞込み状態。
【図６】種類で絞込む親の無い末端の祖先の検索処理状態。
【図７】商品履歴情報管理状態。
【図８】フラットなデータ構造。
【符号の説明】
【００３９】
１０  商品履歴情報
２０  管理／検索サーバ
３０  データベース
【図１】
2009208904.tif 000003
【図２】
2009208904.tif 000004
【図３】
2009208904.tif 000005
【図４】
2009208904.tif 000006
【図５】
2009208904.tif 000007
【図６】
2009208904.tif 000008
【図７】
2009208904.tif 000009
【図８】
2009208904.tif 000010