(57)【要約】      （修正有）【課題】データグラフを格納し分析するシステム、方法及びプログラムを提供する。【解決手段】システム１０は、データアイテムを表す複数のデータノードがリンクしたデータグラフを格納するデータ記憶装置１２と、プロセス始点エンティティの指示とプロセス終点エンティティの指示とを含むプロセス記述を受信し、プロセス始点エンティティの指示を複数のデータノードの中から第１のデータノードにマッピングし、プロセス終点エンティティの指示を複数のデータノードの中から第２のデータノードにマッピングするマッパー１４と、リンクに沿って第１のデータノードから第２のデータノードへの最短経路を発見するためにデータグラフを分析し、最短経路を出力する経路ファインダー１６とを有する。【選択図】図１
2016194908.tif 000002
【特許請求の範囲】
【請求項１】
データグラフを格納するよう構成されるデータ記憶装置であって、前記データグラフは、
それぞれがデータアイテムを表す複数のデータノードと、
それぞれが前記データノードの対をリンクし、前記のリンクされたデータノードにより表されるデータアイテムの間の関係を表す、複数のラベル付きデータ−データリンクと、
それぞれが前記データノードのうちの１つにより表されるデータアイテムを変更するプロシジャを表す、複数の機能ノードと、
それぞれが前記データノードのうちの１つを前記機能ノードのうちの１つにリンクし、該機能ノードのうちの１つにより表されるプロシジャを表し、該プロシジャは、実行されると、前記データノードのうちの１つにより表されるデータアイテムを変更する、複数のデータ−機能リンクと、
を有する、データ記憶装置と、
マッパーであって、プロセス始点エンティティの指示とプロセス終点エンティティの指示とを含むプロセス記述を受信し、前記プロセス始点エンティティの指示を前記複数のデータノードの中から第１のデータノードにマッピングし、前記プロセス終点エンティティの指示を前記複数のデータノードの中から第２のデータノードにマッピングする、よう構成されるマッパーと、
経路ファインダーであって、データ−機能リンクに沿って前記第１のデータノードから前記第２のデータノードへの最短経路を発見するために前記データグラフを分析し、前記最短経路を出力する、よう構成される経路ファインダーと、
を有するシステム。
【請求項２】
前記機能ノードの各々は、前記複数のデータノードの中からの１又は複数のデータノードの入力範囲と、変更プロセスと、前記複数のデータノードの中からの１又は複数のデータノードの出力範囲とを指定し、前記の指定された変更プロセスは、前記の指定された入力範囲に含まれるデータノードにおけるデータ変更イベントによりトリガされ、前記の指定された出力範囲に含まれるデータノードにおけるデータ変更イベントを生じ、
前記機能ノードは、前記複数のデータ−機能リンクのうちの１つにより、前記入力範囲に含まれる各々のデータノードに及び前記出力範囲に含まれる各々のデータノードにリンクされる、
請求項１に記載のシステム。
【請求項３】
前記複数のデータ−機能リンクは方向を有し、前記方向は、前記入力範囲の中の１又は複数のデータノードから前記機能ノードへ、及び前記機能ノードから前記出力範囲の中の１又は複数のデータノードへ向かい、
前記経路ファインダーは、前記データ−機能リンクの方向に沿って、前記第１のデータノードから前記第２のデータノードへの最短経路を発見するよう構成される、
請求項２に記載のシステム。
【請求項４】
前記データグラフは、
それぞれ前記機能ノードの対をリンクし、前記対の中の前記機能ノードのうちの一方の出力範囲が他方の入力範囲の中にあることを表す、複数の有向機能−機能リンク、
を更に有する、請求項２に記載のシステム。
【請求項５】
前記システムは、
処理ユニットであって、機能ノードの指定された入力範囲に含まれるデータ変更イベントによりトリガされると、前記機能ノードにより指定された変更プロセスを実行するよう構成される、処理ユニット、
を更に有する、請求項２に記載のシステム。
【請求項６】
前記システムは、
データ変更イベント検出器であって、前記データグラフの状態を監視し、データ変更イベントを検出し、前記データ変更イベントを前記機能ノードにより指定された入力範囲と比較し、前記機能ノードの指定された入力範囲に含まれるデータ変更イベントが検出されると、機能ノードをトリガする、よう構成されるデータ変更イベント検出器、
を更に有する請求項２に記載のシステム。
【請求項７】
前記経路ファインダーは、前記第１のデータノードから前記第２のデータノードへのデータ−機能リンクに沿う経路が発見されない場合、１又は可能な限り少ないデータ−データリンクが前記経路に含まれるようにし、前記第１のデータノードから前記第２のデータノードへのデータ−機能リンクに沿う最短経路と１又は可能な限り少ないデータ−データリンクとを発見する、よう構成され、
前記経路に含まれる前記データ−データリンクは、前記ラベル付きリンクのラベルが、前記データ−データリンクによりリンクされるデータノードの対のうち、前記経路の中の前記第２のデータノードに近いデータノードが前記第１のデータノードに近いデータノードの親概念であることを示す、データ−データリンクに制限される、
請求項１に記載のシステム。
【請求項８】
前記データ−機能リンクの各々は、リンク長の属性を有し、
前記経路ファインダーにより発見される最短経路は、前記第１のデータノードから前記第２のデータノードへの経路であり、前記経路の中のデータ−機能リンクの合計リンク長は、前記第１のデータノードから前記第２のデータノードへの全ての経路の中で最も短い、
請求項１に記載のシステム。
【請求項９】
前記プロセス記述は、１又は複数のプロセス中間エンティティの指示を更に有し、
前記マッパーは、前記１又は複数のプロセス中間エンティティの指示を前記複数のデータノードの中から１つのデータノードに中間データノードとしてマッピングするよう構成され、
前記経路ファインダーは、前記データグラフを分析して、データ−機能リンクに沿って中間エンティティの１つ又は各々を経由する前記第１のデータノードから前記第２のデータノードへの最短経路を発見するよう構成される、
請求項１に記載のシステム。
【請求項１０】
前記マッパーは、エンティティの指示をデータノードにマッピングするよう構成され、前記のマッピングは、意味的整合性アルゴリズムを用いて前記エンティティの指示を前記データグラフの中の各々のデータノードと又は前記データグラフから選択されたデータノードのサブセットと比較し、及び前記の比較が、前記エンティティの指示に最も近い意味的整合性を示すデータノードを、前記エンティティの指示をマッピングすべきデータノードとして選択することにより、行われ、前記エンティティの指示は、前記プロセス始点エンティティの指示、前記プロセス終点エンティティの指示、及び／又はプロセス中間エンティティの指示のうちの１つ又は各々である、
請求項１に記載のシステム。
【請求項１１】
前記マッパーは、エンティティの指示を１又は複数の候補データノードにマッピングするよう構成され、前記のマッピングは、意味的整合性アルゴリズムを用いて前記エンティティの指示を前記データグラフの中の各々のデータノードと又は前記データグラフから選択されたデータノードのサブセットと比較し、及び前記の比較の結果が所定の閾を超える１つの又は各々のデータノードを、前記エンティティの指示をマッピングすべき前記１又は複数の候補データノードとして、選択することにより、行われ、前記エンティティの指示は、前記プロセス始点エンティティの指示、前記プロセス終点エンティティの指示、及び／又はプロセス中間エンティティの指示のうちの１つ又は各々である、
請求項１に記載のシステム。
【請求項１２】
前記経路ファインダーは、前記データグラフを分析して、前記データ−機能リンクに沿って（各々の中間データノードの各々の候補データノードを経由して）前記第１のデータノードの候補データノードの各々から前記第２のデータノードの候補データノードの各々への最短経路を発見し、前記の発見した最短経路の各々を出力する、よう構成される、
請求項１１に記載のシステム。
【請求項１３】
１より多くの候補データノードが選択されるエンティティの指示の各々について、前記マッパーは、前記１より多くの候補データノードの各々の説明を出力し、応答に、前記１より多くの候補データノードの中から単一のデータノードの指名を受信し、前記指名は、前記マッパーが前記エンティティの指示をマッピングするデータノードである、よう構成される、
請求項１１に記載のシステム。
【請求項１４】
データ記憶装置にデータグラフを格納するステップであって、前記データグラフは、
それぞれがデータアイテムを表す複数のデータノードと、
それぞれが前記データノードの対をリンクし、前記のリンクされたデータノードにより表されるデータアイテムの間の関係を表す、複数のラベル付きデータ−データリンクと、
それぞれが前記データノードのうちの１つにより表されるデータアイテムを変更するプロシジャを表す、複数の機能ノードと、
それぞれが前記データノードのうちの１つを前記機能ノードのうちの１つにリンクし、該機能ノードのうちの１つにより表されるプロシジャを表し、該プロシジャは、実行されると、前記データノードのうちの１つにより表されるデータアイテムを変更する、複数のデータ−機能リンクと、
を有する、ステップと、
プロセス始点エンティティの指示とプロセス終点エンティティの指示とを含むプロセス記述を受信し、前記プロセス始点エンティティの指示を前記複数のデータノードの中から第１のデータノードにマッピングし、前記プロセス終点エンティティの指示を前記複数のデータノードの中から第２のデータノードにマッピングする、ステップと、
データ−機能リンクに沿って前記第１のデータノードから前記第２のデータノードへの最短経路を発見するために前記データグラフを分析し、前記最短経路を出力する、ステップと、
を有する方法。
【請求項１５】
コンピューティング装置により実行されると該コンピューティング装置に方法を実行させるコンピュータプログラムを格納する非一時的記憶媒体であって、前記方法は、
データ記憶装置にデータグラフを格納するステップであって、前記データグラフは、
それぞれがデータアイテムを表す複数のデータノードと、
それぞれが前記データノードの対をリンクし、前記のリンクされたデータノードにより表されるデータアイテムの間の関係を表す、複数のラベル付きデータ−データリンクと、
それぞれが前記データノードのうちの１つにより表されるデータアイテムを変更するプロシジャを表す、複数の機能ノードと、
それぞれが前記データノードのうちの１つを前記機能ノードのうちの１つにリンクし、該機能ノードのうちの１つにより表されるプロシジャを表し、該プロシジャは、実行されると、前記データノードのうちの１つにより表されるデータアイテムを変更する、複数のデータ−機能リンクと、
を有する、ステップと、
プロセス始点エンティティの指示とプロセス終点エンティティの指示とを含むプロセス記述を受信し、前記プロセス始点エンティティの指示を前記複数のデータノードの中から第１のデータノードにマッピングし、前記プロセス終点エンティティの指示を前記複数のデータノードの中から第２のデータノードにマッピングする、ステップと、
データ−機能リンクに沿って前記第１のデータノードから前記第２のデータノードへの最短経路を発見するために前記データグラフを分析し、前記最短経路を出力する、ステップと、
を有する非一時的記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、グラフデータ記憶及び分析の分野に関する。具体的には、本発明は、グラフデータの形式の機能及び動作情報の記憶、並びに該記憶の適用に関する。
【背景技術】
【０００２】
ビッグデータの枠組みにより想定されるように、これまでにない増加レートで増加する装置の数により、膨大なデータが生成されている。ビッグデータの良好な利用は、産業エンティティがより多くの競争上の優位性をうることにより、より大きな成功を達成するのを助けることができる。急速に成長する「ビッグデータ」に即座に反応するために、産業エンティティは、彼らの手続の機敏さを向上する必要がある。通常は比較的抽象的用語で定められる高レベルのビジネスプロセスは、適応及びカスタマイズの観点で、戦略の余地を残している。他方で、ビジネスプロセスを（明確に定められたタスクを有する）きめ細かいワークフローにインスタンス化することは、広範囲に及ぶ産業及び分野に特化した知識、従って産業アナリスト及び分野の専門家を必要とする。したがって、インスタンス化は、非常に広範囲に及び得る。その間にも、インスタンス化の正しいレベルの決定を行うことが困難になり得る。ワークフローが細かすぎる場合、不必要な硬直性に苦しみ、不適切になり、あっという間に時代遅れになってしまう。ワークフローが粗すぎる場合、局所的変化が優勢になり、そのうちの幾つかは、望ましくない変化であり、ユーザに、低い追跡可能性及び相互運用性による低い効率及び高い運用リスクを示し得る。さらに、従来、工業プロセスの強化又は具体化は、通常、純粋にプロセス中心である。一方で、現代の企業では、データ中心又はデータ駆動型の枠組みが、透過性、敏捷性、及び成果本位思考を提供するために広く採用されてきている。
【０００３】
工業プロセスをインスタンス化するためにリンク付きデータを利用することが望ましい。
【発明の概要】
【０００４】
実施形態は、データグラフを格納するよう構成されるデータ記憶装置であって、前記データグラフは、それぞれがデータアイテムを表す複数のデータノードと、それぞれが前記データノードの対をリンクし、前記のリンクされたデータノードにより表されるデータアイテムの間の関係を表す、複数のラベル付きデータ−データリンクと、それぞれが前記データノードのうちの１つにより表されるデータアイテムを変更するプロシジャを表す、複数の機能ノードと、それぞれが前記データノードのうちの１つを前記機能ノードのうちの１つにリンクし、該機能ノードのうちの１つにより表されるプロシジャを表し、該プロシジャは、実行されると、前記データノードのうちの１つにより表されるデータアイテムにリード又はライトアクセスを行う、複数のデータ−機能リンクと、を有する、データ記憶装置と、マッパーであって、プロセス始点エンティティの指示とプロセス終点エンティティの指示とを含むプロセス記述を受信し、前記プロセス始点エンティティの指示を前記複数のデータノードの中から第１のデータノードにマッピングし、前記プロセス終点エンティティの指示を前記複数のデータノードの中から第２のデータノードにマッピングする、よう構成されるマッパーと、経路ファインダーであって、データ−機能リンクに沿って前記第１のデータノードから前記第２のデータノードへの最短経路を発見するために前記データグラフを分析し、前記最短経路を出力する、よう構成される経路ファインダーと、を有するシステムを含む。
【０００５】
有利なことに、マッパー及び経路ファインダーの結合された機能は、始点及び終点エンティティを示すプロセス記述を、データアイテムの経路及び該データアイテムを変更するプロシジャに変換できるようにする。したがって、基本プロセス記述だけをシステムに提出するユーザは、ワークフローを返される。ワークフローは、プロセスの始点にあるデータアイテムからプロセスの終点にある別のデータアイテムへ行くために、データアイテムと該データアイテムを変更するプロシジャとのコースを図で示す。マッパー及び経路ファインダーの機能は、データ記憶装置により格納されたデータグラフのデータモデリングにより可能である。
【０００６】
システムは、マッパー及び経路ファインダーを用いてデ―タ記憶装置に格納されたデータグラフを分析することにより、プロセス記述をインスタンス化する。
【０００７】
データ駆動型の分野では、伝統的なトップダウンビジネスプロセスのインスタンス化は、全ての場合に厳格に適用可能ではない。つまり、精細ワークフローは、話法、コスト、及びリソース制約の分野の経験的理解の欠如により、実用的でなく又は不可能である場合がある。他方で、純粋なデータフローは、処理されるべきデータの量が大きすぎるとき、最適でない。実施形態は、データ中心型システムのデータグラフの中に表される固有データ機能を利用するメカニズムにより、機能のフローを構成するプロセスの要素を自動化する。システムは、データフローアプローチ及び制御フローアプローチの両者の統合及び相互作用に基づき機能ワークフローを生成する。
【０００８】
データ駆動型プロセスの処理モデルを設計するとき、通常、設計者は非常に粗いレベルでプロセスを理解するのみである。プロセスモデルは、実際にプロセスを実行する個人によりインスタンス化されることが前提である。実施形態は、始点及び終点プロセスエンティティを示すプロセス記述の形式で高いレベルのモデルを取り入れ、データノードと機能ノードとを結合するデータグラフを用いて該モデルを充実させ、（マッパー及び経路ファインダーにより実行される）グラフ分析アルゴリズムが高いレベルのモデルのインスタンス化を自動化できるようにする。このインスタンス化されたワークフローは、データにより駆動される精細な接続で高いレベルのモデルを満たす。
【０００９】
まとめると、システムは、純粋なデータフローモデルの効率を向上し、プロセスのインスタンス化でしばしば要求される手動介入を軽減し、最短経路を用いることによりデータグラフに表されるデータの直感的機能に基づき最適化されたワークフローモデルを提供する。
【００１０】
データ記憶装置により格納されるデータグラフは、データ状態記述のみを格納する従来のデータグラフ（データノード及びデータ−データリンク）を拡張し、機能ノードがリンクされるデータノードにより表されるデータアイテムの機能を表す機能ノードも格納する。したがって、機能ノードは、データノードにより表されるデータアイテムに直感的なプロシジャ又は機能を表す。各々の機能ノードは、データアイテムを変更するプロシジャを表す。相応して、プロシジャは、実行されると、該データアイテムを表すデータノードの状態を変更する。機能ノードは、データグラフの中で、該機能ノードが変更するデータノードと該機能ノードへの入力を表す任意のデータノード、つまり変更を生成するために機能ノードのプロシジャにより作用されるデータアイテムを表すデータノードとの両方にリンクされる。
【００１１】
実施形態により用いられ得るデータ記憶の枠組みは、欧州特許出願ＥＰ１２１９１６９０．２（ＥＰ２７３１０２０として発行された）及び英国特許出願番号ＧＢ１５０４７８１．４に説明されている。
【００１２】
データ−データリンクのラベルは、それが結合する２つのデータノードの間の関係を説明し、又はリンクされたデータノードにより表されるデータアイテムの間の関係を表す。
【００１３】
機能ノードは、処理ユニットにより実施されても良い。つまり、機能ノードにより表されるプロシジャは、システムのコンポーネントである処理ユニットにより実行されるプロシジャであっても良い。代替で、プロシジャはシステムの外部で実行されても良く、システムは例えばユーザにダイアログボックスを提示することによりプロシジャが完了したことを通知され、完了通知が受信されると、機能ノードにリンクされたデータノードのうちの１又は複数が相応して変更され得る。機能ノードにより提示されたプロシジャの完了したとき機能ノードにリンクされたデータノードがどのように変更されるかは、機能ノード自体の中で定められても良い。
【００１４】
データ記憶装置により格納されるデータグラフは、データアイテム及びそれらの状態だけでなくそれらのデータアイテムがどのように変更されるかも表すので、データ−動作グラフとしても参照されても良い。データグラフは、オントロジ定義（本来は階層的）及びオントロジ定義のインスタンス化を有しても良い。
【００１５】
データグラフは、知識のドメインを表す。グラフにより表されるドメインは、文書、ファイル、データベースエンティティ、データ信号又は他の形式のデータであっても良いデータアイテム、及びこれらのデータアイテムを変更するプロシジャ、も有する。データ記憶装置の上述の定義において指定された形式でドメインをモデル化することは、マッパー及び経路ファインダーコンポーネントに、プロセスを開始するエンティティを示し及びプロセスを終了するエンティティを示すプロセス記述を、始点エンティティから終点エンティティへ行く各々のプロシジャの定められた入力及び出力を有するプロシジャバイプロシジャ経路に変換する基準を提供する。さらに、経路ファインダーは、最も効率的な形式の（又は最も少ないステップの）プロセスを発見するために最短経路アルゴリズムを用いる。
【００１６】
システムは、プロセス記述を受信するよう構成される。マッパー及び経路ファインダーの動作をトリガするのは、プロセス記述の受信である。プロセス記述は、ユーザにより提出されても良い。ユーザは、人間のユーザ又はシステムにアクセスすることを認可されたアプリケーションである。ユーザは、インタフェースにより又はプロセスの始点にあるエンティティ及びプロセスの終点にあるエンティティの指示を入力するよう促されても良い。これらのエンティティ及びプロセスは、データグラフにより表されるドメインの中にある。例えば、ドメインが工業活動により格納されたデータ及びその処理である場合、プロセスの始点及び終点にあるエンティティは、その工業活動の動作に関連するエンティティであるべきである。
【００１７】
経路ファインダーは、最短経路アルゴリズムを用いてグラフを分析するよう構成される。任意で及び場合によってはプロセス記述に関連して提出されるユーザの選好に従って、ｋ最短経路（ｋは１より大きい正整数）がユ―ザの関心であっても良い。したがって、経路ファインダーは、ｋ最短経路発見アルゴリズムを実行して、第１のデータノードから第２のデータノードへのｋ最短経路を発見するよう構成されても良い。
【００１８】
任意で、各々の機能ノードは、データ−機能リンクにより、機能ノードにより表されるプロシジャが、実行されるとリードアクセスを行うデータアイテムを表すデータノードに、及び機能ノードにより表されるプロシジャが、実行されるとライトアクセスを行う別のデータアイテムを表すデータノードに、接続されても良い。したがって、各々の機能ノードは、データ−機能リンクにより少なくとも２つのデータノードにリンクされても良い。
【００１９】
機能ノードがどのように格納され指定されるかの特定の例では、前記機能ノードの各々は、前記複数のデータノードの中からの１又は複数のデータノードの入力範囲と、プロセスと、前記複数のデータノードの中からの１又は複数のデータノードの出力範囲とを指定し、前記の指定されたプロセスは、前記の指定された入力範囲に含まれるデータノードにおけるデータ変更イベントによりトリガされ、前記の指定された出力範囲に含まれるデータノードにおけるデータ変更イベントを生じ、前記機能ノードは、前記複数のデータ−機能リンクのうちの１つにより、前記入力範囲に含まれる各々のデータノードに及び前記出力範囲に含まれる各々のデータノードにリンクされる。
【００２０】
機能ノードにより指定される入力範囲は、機能ノードにより表されるプロシジャへの入力として受け付けられるためにデータアイテム（又はそれらを表すデータノード）が含まれなければならない値の範囲を定める。データノードの１又は複数の要素の値又はその範囲は、いかなる値又は値の範囲も指定されない要素が任意の値を取ることができるという前提の下、入力範囲として指定されても良い。入力範囲に含まれるデータノードは、データ−機能リンクによりデータグラフの中の機能ノードにリンクされても良い。機能ノードにより表されるプロシジャは、機能ノードの指定された入力範囲に含まれるデータノードにおいて関与するデータ変更イベントによりトリガされる。データ変更イベントがプロシジャをトリガするか否かを決定する他の基準は、例えば、トリガされるべきプロシジャのために生じるべき、特定の種類又はカテゴリのデータ変更イベントの指定を有しても良い。機能ノードの入力範囲の中のデータノードは、データノード自体が、又は機能ノードにより表されるデータアイテムが、機能ノードにより指定されるプロセスを実行する際にリードアクセスの対象であることを示す。
【００２１】
機能ノードにより指定されるプロセスは、完了するとデータグラフがどのように更新されるかを定める。プロセスは、データグラフを更新する際に用いられる結果を生成する処理ステップも定めても良い。代替で、プロセスはシステムの外部で生じ、プロセスの結果である又はそれを表す情報は、システムにより受信され、指定されたプロセスにより定められる方法でデータグラフを更新するために用いられる。いずれの場合にも、何らかの処理がシステムにより実行される。
【００２２】
出力範囲は、プロセスにより変更される１又は複数のデータアイテムを定める。出力範囲は、単一のデータノードを指定しても良く、又は（単一クラスレベルのデータノードへのリンクにより指定されても良いが）クラスのようなデータアイテムのグループであっても良い。データノードの１又は複数の要素の値又はその範囲は、いかなる値又は値の範囲も指定されない要素が任意の値を取ることができるという前提の下、出力範囲として指定されても良い。出力範囲に含まれるデータノードは、データ−機能リンクによりデータグラフの中の機能ノードにリンクされても良い。機能ノードの出力範囲の中のデータノードは、データノード自体が、又は機能ノードにより表されるデータアイテムが、機能ノードにより指定されるプロセスを実行する際にライトアクセスの対象であることを示す。
【００２３】
データグラフの特定の形式では、前記複数のデータ−機能リンクは方向を有し、前記方向は、前記入力範囲の中の１又は複数のデータノードから前記機能ノードへ、及び前記機能ノードから前記出力範囲の中の１又は複数のデータノードへ向かい、前記経路ファインダーは、前記データ−機能リンクに沿って、前記第１のデータノードから前記第２のデータノードへの最短経路を発見するよう構成される。
【００２４】
有利なことに、単にデータノードと機能ノードとの間のリンクの方向により、入力−機能又は機能−出力のような関係が決定できる。機能ノードの入力範囲は、単に、機能ノードをデータノードにリンクする特定の方向のデータ−機能リンクの存在により指定されても良い。同様に、機能ノードの出力範囲は、単に、機能ノードをデータノードにリンクする特定の方向のデータ−機能リンクの存在により指定されても良い。
【００２５】
有向データ機能リンクにより提供される方向法上の存在は、経路ファインダーが経路発見分析を、経路を構成するリンクと同じ方向の経路だけに、限定できるようにする。
【００２６】
特定の実施形態で、データモデル化がどのように実行されるかの別の例では、データグラフは、さらに、それぞれ機能ノードの対をリンクし該対の中の機能ノードの一方の出力範囲が他方の入力範囲の中にあることを表す複数の有向機能−機能リンクを有し、経路ファインダーは、データグラフを分析して、機能−機能リンク及びデータ−機能リンクに沿って第１のデータノードから第２のデータノードへの最短経路を発見するよう構成される。
【００２７】
機能−機能リンクは、ノードにより指定されるプロセスにより生成される結果がそれ自体がデータグラフに格納されないが、そのプロセスを実行する際に別の機能ノードによりリードされる情報片である、機能ノードに現れても良い。
【００２８】
機能ノードを実施するために、前記システムは、処理ユニットであって、機能ノードの指定された入力範囲に含まれるデータ変更イベントによりトリガされると、前記機能ノードにより指定された変更プロセスを実行するよう構成される、処理ユニット、を更に有しても良い。
【００２９】
機能ノードにより指定されるプロセスを実行するのに加えて、処理ユニットは、プロセスが実行されると、機能ノードの指定により定められる方法でデータグラフを変更しても良い。処理ユニットは、機能ノードにより指定される処理命令を実行する手段を提供する。
【００３０】
機能ノードはデータ変更イベントによりトリガされても良く、そのために、前記システムは、データ変更イベント検出器であって、前記データグラフの状態を監視し、データ変更イベントを検出し、前記データ変更イベントを前記機能ノードにより指定された入力範囲と比較し、前記機能ノードの指定された入力範囲に含まれるデータ変更イベントが検出されると、機能ノードをトリガする、よう構成されるデータ変更イベント検出器、を更に有しても良い。
【００３１】
データ変更イベントは、データ変更イベント、データ変換イベント、又はデータ状態変換イベントとしても表されても良い。データ状態変更検出器の役割は、データ記憶装置に格納されたデータグラフを観察し、機能ノードのプロセスをトリガすべき状態変化が生じたときを検出することである。
【００３２】
例えば、機能ノードの入力範囲に含まれるデータノードにおいて新しい値がデータグラフに追加された場合、（既存の値の変更により又は新しいデ―タアイテムの追加により生じ得る）新しい値は、データ状態変更検出器により検出されるデータ変更イベントであり、相応して機能ノードがトリガされる。トリガは、例えば、データ変更イベントを処理ユニットに報告することによっても良い。報告は、トリガされた機能ノードを識別しても良い。或いは、処理ユニットが、単に、検出された変更イベントを通知され、次に機能ノードの指定された入力範囲との比較により、どの機能ノードをトリガすべきかを決定するよう構成されても良い。
【００３３】
任意で、データ変更イベントは、種類に特徴付けられても良い。各々のデータ変更イベントは、データ変更イベント種類の所定のセットのうちの１つとして特徴付けられ、データ状態変更検出器は、検出されたデータ変更イベントの中に含まれるデータノードの識別情報を、データ変更イベント種類のセットのうちのどの１つが検出されたかの指示と一緒に、処理ユニットに提供するよう構成される。
【００３４】
詳細には、データ変更イベント種類は、入力範囲に含まれるデータアイテムの中の目的語値の変更又は追加、リソースの主語を巻き込む局所的変換、例えば新しい主語リソースの生成、既存の主語リソースの削除、リソースの変更、又は主語リソースの属性の変更と、及び／又はデータグラフにより表されるリソース間の相互接続の、新たな生成又は属性の変更と、のうちの一部又は全部であっても良い。
【００３５】
データ変更イベント種類は、以下の２つのサブセットにグループ化されても良い。
・局所的変換：データリソース（データグラフにより表されるリソース）の削除、生成、属性の変更。
・接続変換：データリンク（データグラフにより表されるリソース間の相互接続）の削除、生成、属性の変更。
【００３６】
経路ファインダーは、データリンクに沿った経路を探すよう構成される。このような経路は、データノードと機能ノードとの間の代替であるからである。したがって、各々のステップにおいて、データアイテムにプロシジャが続き、全体のプロシジャ及び各々のステップで生成されるデータアイテムは、経路により明らかになる。しかしながら、データグラフ及びプロセス記述に依存して、経路ファインダーは、データ−機能リンクだけを用いて第１及び第２のデータノードをリンクできなくても良い。このような場合には、前記経路ファインダーは、前記第１のデータノードから前記第２のデータノードへのデータ−機能リンクに沿う経路が発見されない場合、１又は可能な限り少ないデータ−データリンクが前記経路に含まれるようにし、前記第１のデータノードから前記第２のデータノードへのデータ−機能リンクに沿う最短経路と１又は可能な限り少ないデータ−データリンクとを発見する、よう構成され、前記経路に含まれる前記データ−データリンクは、前記ラベル付きリンクのラベルが、前記データ−データリンクによりリンクされるデータノードの対のうち、前記経路の中の前記第２のデータノードに近いデータノードが前記第１のデータノードに近いデータノードの親概念であることを示す、データ−データリンクに制限される。
【００３７】
例えば、経路ファインダーは、第１のインスタンスにおいて、データグラフを分析して、データ−機能リンク及びゼロデータ−データリンクを含む経路に沿って、第１のデータノードを第２のデータノードに接続する最短経路を発見しても良い。いかなる経路も発見できない場合、経路ファインダーは、経路が見付かるまで、各々の分析段階において１つ、データ−データリンクの許容数を増大しても良い。つまり、経路の中のデータ−データリンクの許容数は、可変であり、各々のプロセス記述でゼロで開始し、グラフが分析され且つ経路が発見されない度に１だけ増大しても良い。データ−データリンクを親子階層関係を示すものに制限することは、親及び子データアイテムが少なくとも互換性のあるフォーマットでなければならないという前提に基づく。したがって全体のプロセスは依然として動作可能である。
【００３８】
一例では、最短経路は、最も少ないコンポーネントリンクを有する経路であっても良い。しかしながら、各々のリンクはリンク長を属性とし、したがって最短経路は最短の合計リンク長を有する経路であっても良い。特定の例では、前記データ−機能リンクの各々は、リンク長の属性を有し、前記経路ファインダーにより発見される最短経路は、前記第１のデータノードから前記第２のデータノードへの経路であり、前記経路の中のデータ−機能リンクの合計リンク長は、前記第１のデータノードから前記第２のデータノードへの全ての経路の中で最も短い。
【００３９】
有利なことに、このような実施形態は、例えば速い又は安いことにより好ましいプロセスが短いリンク長を属性とし、一方で長いリンク長の値は好ましくないプロセスの属性となるよう、データモデル化が経路発見に影響を与えるようにする。
【００４０】
リンク長がどのように用いられるかの更なる例として、データ−データリンクは、データ−機能リンクの属性であるものより長いリンク長を属性としても良い（つまり、データ−機能リンクは、範囲０乃至ｘのリンク長を属性とし、データ−データリンクは、常にｙより長いリンク長を属性とし、ここでｙ＞ｘである）。このような一実施形態では、経路ファインダーは、通常、データ−データリンクにペナルティを科し、したがって、リンク種類に対する特定の制約無しに、第１のデータノードから第２のデータノードへの最短経路を発見するよう構成されても良い。
【００４１】
プロセス記述は、少なくともプロセス始点エンティティ及びプロセス終点エンティティの指示を有する。エンティティは、次に、データグラフの中のデータアイテムにマッピングされ、プロセス始点エンティティからプロセス終点エンティティへ向かうエンティティが経路ファインダーによりグラフから抽出され出力される。より複雑な例では、プロセス記述は、指定された順序でプロセスの中に現れるべきデータアイテムを定める１又は複数の中間点も有しても良い。
【００４２】
例えば、次の通りである。前記プロセス記述は、１又は複数のプロセス中間エンティティの指示を更に有し、前記マッパーは、前記１又は複数のプロセス中間エンティティを前記複数のデータノードの中から１つのデータノードに中間データノードとしてマッピングするよう構成され、前記経路ファインダーは、前記データグラフを分析して、データ−機能リンクに沿って前記中間エンティティの１つ又は各々を経由する前記第１のデータノードから前記第２のデータノードへの最短経路を分析するよう構成される。
【００４３】
有利なことに、中間エンティティを示すオプションは、出力プロセスのより多くの柔軟性をユーザに提供する。中間エンティティは、それらが経路の中で現れるべき順序の指示と共に受信されても良い。したがって、経路ファインダーは第１のデータノードから第１の中間データノードへ、第１の中間データノードから次の中間データノードへ、以下同様に、次の中間データノードが存在しなくなり、したがって、最終中間データノードから第２のデータノードへの最短経路が発見されるまで、成分最短経路を発見するよう構成される。これらの成分最短経路は、次に、第１のデータノードから第２のデータノードへの最短経路を形成するために結合され、出力される。
【００４４】
マッパーは、プロセス記述の中で提供されるエンティティの指示を用いて、出力経路により参加される必要のあるデータグラフにより表されるデータアイテムを解決する。したがって、出力経路は、プロセス記述を満たす又はインスタンス化するプロシジャ又はワークフローを表す。マッピングがどのように実行されるかという観点で、特定の実施形態では、前記マッパーは、エンティティの指示をデータノードにマッピングするよう構成され、意味的整合性（semantic  alignment）アルゴリズムを用いて前記エンティティの指示を前記データグラフの中の各々のデータノードと又は前記データグラフから選択されたデータノードのサブセットと比較し、及び前記の比較が、前記エンティティの指示をマッピングすべきデータノードとして、前記エンティティの指示に最も近い意味的整合性を示す、データノードを選択することにより、マッピングし、前記エンティティの指示は、前記プロセス始点エンティティの指示、前記プロセス終点エンティティの指示、及び／又は前記プロセス中間エンティティの指示のうちの１つ又は各々である。
【００４５】
意味的整合性アルゴリズムは、文字列比較アルゴリズムであっても良い。マッパーは、受信したプロセス記述の及びデータノードの前処理を実行して、比較のための文字列を生成しても良い。
【００４６】
ノードの選択されたサブセットは、意味的整合性アルゴリズムよりも計算コストの低い前処理アルゴリズムに基づき選択されても良い。したがって、意味的整合性アルゴリズムは、前処理アルゴリズムを満たすデータノードに対してのみ実行される。例えば、意味記述は、プロセス始点／終点／中間エンティティの特性又は（コンピュータファイル種類又はファイル名拡張子のような）種類を指定しても良い。したがって、該種類を有する又は該種類であるデータアイテムを表すデータノードのみが、完全な意味的整合性アルゴリズムを実行される。
【００４７】
このようなマッパーは、意味的整合性アルゴリズムを実行して、意味的整合性アルゴリズムによりプロセス始点エンティティ又はプロセス終点エンティティの指示と比較したとき、複数のデータノードの中で最高スコアを生成するデータノードを発見することにより、プロセス始点エンティティの指示を、複数のデータノードの中から第１のデータノードにマッピングし、プロセス終点エンティティの指示を、複数のデータノードの中から第２のデータノードにマッピングするよう構成される。
【００４８】
意味的整合性の観点で最も近くを選択するマッパーの代替として、前記マッパーは、エンティティの指示を１又は複数の候補データノードにマッピングするよう構成され、意味的整合性アルゴリズムを用いて前記エンティティの指示を前記データグラフの中の各々のデータノードと又は前記データグラフから選択されたデータノードのサブセットと比較し、及び前記の比較の結果が所定の閾を超える１つの又は各々のデータノードを、前記エンティティの指示をマッピングすべき前記１又は複数の候補データノードとして、選択することにより、マッピングし、前記エンティティの指示は、前記プロセス始点エンティティの指示、前記プロセス終点エンティティの指示、及び／又は前記プロセス中間エンティティの指示のうちの１つ又は各々である。
【００４９】
したがって、この場合のマッパーは、プロセス記述の中の各々のエンティティについて１又は複数の候補データノードを出力する。所定の閾を超えるデータノードが見付からない場合、マッパーは、エンティティ指示に最も近い意味的整合性を有するデータノードを候補データノードとして選択するよう構成されても良い。
【００５０】
候補データノードは、異なる方法で用いられても良い。第１の例では、最短経路は、候補データノードの各々の組合せについて見付けられ、これらの経路が出力されても良い。つまり、前記経路ファインダーは、前記データグラフを分析して、前記データ−機能リンクに沿って、中間エンティティがプロセス記述に含まれる場合は各々の中間データノードの各々の候補データノードを経由して、前記第１のデータノードの候補データノードの各々から前記第２のデータノードの候補データノードの各々への最短経路を発見し、発見した最短経路の各々を出力するよう構成される。
【００５１】
有利なことに、本例では、出力経路は、プロセス記述を所定レベルの意味的信頼まで満たすプロセスの範囲を表し、したがってユーザにとって関心の全てであっても良い。
【００５２】
別の例では、候補がユ―ザに出力され、候補の中からの選択が受信されても良い。つまり、１より多くの候補データノードが選択されるエンティティの指示の各々について、前記マッパーは、前記１より多くの候補データノードの各々の説明を出力し、応答に、前記１より多くの候補データノードの中から単一のデータノードの指名を受信し、前記指名は、前記マッパーが前記エンティティの指示をマッピングするデータノードである、よう構成される。
【００５３】
有利なことに、ユーザからの入力であると想定される指名は、経路ファインダーが第１及び第２のデータノードの識別において確信を持って進めることができ、出力経路は、ユーザの要求に合う可能性が高い。
【００５４】
別の態様の実施形態は、データ記憶装置にデータグラフを格納するステップであって、前記データグラフは、それぞれがデータアイテムを表す複数のデータノードと、それぞれが前記データノードの対をリンクし、前記のリンクされたデータノードにより表されるデータアイテムの間の関係を表す、複数のラベル付きデータ−データリンクと、それぞれが前記データノードのうちの１つにより表されるデータアイテムを変更するプロシジャを表す、複数の機能ノードと、それぞれが前記データノードのうちの１つを前記機能ノードのうちの１つにリンクし、該機能ノードのうちの１つにより表されるプロシジャを表し、該プロシジャは、実行されると、前記データノードのうちの１つにより表されるデータアイテムを変更する、複数のデータ−機能リンクと、を有する、ステップと、プロセス始点エンティティの指示とプロセス終点エンティティの指示とを含むプロセス記述を受信し、前記プロセス始点エンティティの指示を前記複数のデータノードの中から第１のデータノードにマッピングし、前記プロセス終点エンティティの指示を前記複数のデータノードの中から第２のデータノードにマッピングする、ステップと、データ−機能リンクに沿って前記第１のデータノードから前記第２のデータノードへの最短経路を発見するために前記データグラフを分析し、前記最短経路を出力する、ステップと、を有する方法を含む。
【００５５】
別の態様の実施形態は、コンピューティング装置により実行されると、該コンピューティング装置に本発明の実施形態として本願明細書に上述した又は他の箇所に定めたシステムとして機能させるコンピュータプログラムを有する。
【００５６】
さらに、本発明の実施形態は、複数の相互接続されたコンピューティング装置により実行されると、前記複数の相互接続されたコンピューティング装置に、本発明を具現化する方法を実行させるコンピュータプログラム又はコンピュータプログラムスーツを有する。
【００５７】
本発明の実施形態は、複数の相互接続されたコンピューティング装置により実行されると、前記複数の相互接続されたコンピューティング装置に、本発明の実施形態として本願明細書に上述した又は他の箇所に定めたシステムとして機能させるコンピュータプログラム又はコンピュータプログラムスーツを有する。
【図面の簡単な説明】
【００５８】
本発明の好適な特徴は、単なる例として添付の図面を参照して以下に説明される。
【図１】本発明を具現化するシステムを示す。
【図２】本発明を具現化する別のシステムを示す。
【図３】一実施形態のデータ記憶装置により格納されるデータグラフを示す。
【図４】一実施形態のデータ記憶装置により格納される別のデータグラフを示す。
【図５】一実施形態の例示的な適用におけるドメインを表すデータグラフを示す。
【図６】一実施形態のハードウェア構成を示す。
【発明を実施するための形態】
【００５９】
図１は、一実施形態を示す。図１のシステムは、以下のコンポーネント、つまり、データ記憶装置１２と、マッパー１４と、経路ファインダー１６と、を有する。これらのコンポーネントの間の相互接続は、基本的データ交換を示すが、他のデータ交換が生じても良い。
【００６０】
ハードウェアコンポーネントの観点で、システム１０は、データ記憶装置１２、プロセッサ、及びメモリを有すると考えられる。ここで、データ記憶装置１２は、データ記憶ユニットと該データ記憶ユニットの管理システムとを有するハードウェアにより実現できる。格納されたデータの量に依存して、データ記憶装置１２は、複数のデータ記憶ユニット及び１又は複数の管理システムを有しても良い。管理システムは、格納されたデータへのアクセスを制御する。
【００６１】
マッパー１４は、コンピュータ装置において、格納された処理命令を実行することにより実現できる。したがって、ハードウェアの観点では、マッパー１４は、処理命令を格納する何らかの記憶媒体、（処理命令を実行する）プロセッサ、及び（処理命令の実行中のデータの記憶のための）メモリを有する。
【００６２】
経路ファインダー１６は、コンピュータ装置において、格納された処理命令を実行することにより実現できる。したがって、ハードウェアの観点では、経路ファインダー１６は、処理命令を格納する何らかの記憶媒体、（処理命令を実行する）プロセッサ、及び（処理命令の実行中のデータの記憶のための）メモリを有する。
【００６３】
マッパー１４及び経路ファインダー１６は、それぞれ、専用コンピューティング装置により実行される機能であっても良く、又は格納されたデータグラフを担うデータベース管理システムの機能であっても良い。このようなデータベース管理システムは、単一のサーバであっても良く、又はデータグラフの部分を格納する複数のサーバに跨り分散されても良い。
【００６４】
データ記憶装置１２は、データを格納し、該データに対してリード及びライトアクセスを可能にするインタフェースを提供するよう構成される。具体的には、データ記憶装置１２は、相互接続されたノードを表すデータグラフを格納するよう構成され、ノードは、頂点又はリソースとしても参照される。データグラフがどのようにエンコードされるかという観点で、データグラフは、例えばトリプルである複数のデータアイテムとしてエンコードされても良い。ここで、各トリプルは、主語リソースの識別子である主語、目的語リソースの識別子又は直定数値である目的語、及び主語と目的語との間の命名された関係である述語を有する。トリプルは、ＲＤＦトリプル（つまり、Resource  Description  Formatの枠組みに従う）であっても良い。したがって、データ記憶装置１２はＲＤＦデータ記憶であっても良い。任意で、データグラフは、関係型データベースにより格納されても良い。データ記憶装置１２を構成するデータ記憶ユニットの数に、又はエンコードの枠組みに関係なく、データグラフは、インタフェース又はポータルを介してマッパー１４及び経路ファインダー１６、任意で他のユーザにアクセス可能である。この状況及び概して本願明細書の状況におけるユーザは、コンピュータ（このコンピュータはシステム１０の一部又は全具を実現するハードウェアを提供しても良く又はネットワークを介してシステム１０に接続可能であっても良い）を介してシステム１０と相互作用する人間のユーザであっても良く、又はシステム１０の一部又は全部と同じコンピュータにホスティングされた又は（インターネットのような）ネットワークを介してシステム１０に接続可能な、機械及び／又は人間のユーザの制御下にあるアプリケーションであっても良い。
【００６５】
データ記憶装置１２は、例示的なグラフデータの抜粋と共に示される。機能ノードは、丸角のボックスとして示され、円はデータノードである。２つのデータノードの間のリンクは、データ−データリンクであり、データノードと機能ノードとの間のリンクはデータ−機能リンクである。
【００６６】
マッパー１４に入る矢印は、プロセス記述（process  description）の受信を表す。プロセス記述は、ユーザインタフェースを介して受信されても良く又は何らかの他の方法で提供されても良く、少なくともプロセス始点エンティティ及びプロセス終点エンティティの指示を有する。プロセス記述は、１又は複数のプロセス中間エンティティの指示も有しても良い。プロセス記述は、プロセス始点エンティティ及びプロセス終点エンティティのユーザの指示を有する。つまり、ユーザの言葉では、プロセスに参加すべきデータグラフの中のデータにより記述されるドメインの中のエンティティである。マッパー１４は、ユーザにより入力された指示を用いて、データグラフの中のどのデータノードが、ユーザがあるものから他のものへのプロセスを知りたいと望むエンティティ（データアイテム）を表すかを決定するよう構成される。
【００６７】
ユーザにより提供される指示は、単に、名前を有しても良い。この場合には、マッパー１４は、該指示に元雄も近い名前プロパティを有するデータノードを発見するために、データグラフにアクセスするよう構成される。マッパー１４は、意味的整合性アルゴリズム、例えば（Jaro−Winkler文字列距離アルゴリズムのような）文字列距離アルゴリズムを実行して、該指示をデータノードの名前と比較しても良い。
【００６８】
指示は、名前に加えて情報を有しても良い。例えば、指示は、エンティティの各々が格納され得るものとして１又は複数のデータ型又はファイル種類を指定しても良い。マッパー１４は、次に、指示に含まれる名前と比較されるデータノードを、エンティティ指示の中で指定された１又は複数のデータ型又はファイル種類を満たすデータアイテムを表すデータノードに制限しても良い。
【００６９】
指示の中に含まれる追加の詳細事項は、マッパー１４により実行される比較処理に含む基準として、又は意味的整合性アルゴリズムによる比較のためのプロパティとして、用いられても良い。
【００７０】
マッパー１４は、意味的整合性アルゴリズムを用いる指示と比較するとき、最高の結果を生成するデータノードを単に選択しても良い。代替で、マッパー１４は、意味的整合性アルゴリズムを用いる指示と比較するとき、各候補データノードが最小閾結果を満たす、複数の候補データノードを単に選択しても良い。これらの候補データノードは、指名の催促としてユーザに出力されても良い。指名は、受信され、経路ファインダー１６による使用のために候補データノードのうちの１つを選択するために使用される。代替で、経路ファインダー１６は、候補データノードの各々の組合せの経路を見付け、外形路の全部をユーザに出力する、よう命令されても良い。
【００７１】
経路ファインダー１６は、マッパー１４から、経路により加えられるべき２つのデータノードを識別する情報と、任意で経路に含まれるべき中間データノードを識別する情報と、経路がこれらの中間データノードに到達すべき順序と、を受信する。
【００７２】
マッパー１４は、経路ファインダー１６に、経路の中の任意の特定の位置（始め／終わり／中間）について１より多いデータノードを識別する情報を提供する。次に、経路ファインダー１６は、データノードの各々の組合せについて、経路を見付けようとする。
【００７３】
経路ファインダー１６は、最短経路発見アルゴリズム又はｋ−最短経路発見アルゴリズムを用いて、経路の始点として選択されたデータノード（第１のデータノード）と経路の終点として選択されたデータノードとの間で、任意で１又は複数の中間データノードを経由して、データ−機能リンクに沿って、最短又はｋ最短（ｋは１より大きい正整数である）ルートを発見するよう構成される。
【００７４】
グラフ分析エンジンとしても言及され得る経路ファインダー１６は、単純に経路の中のリンク数により経路長を測定しても良い。代替で、リンクは、それぞれ、リンク長を表す値と共に格納されても良い。この場合、経路ファインダー１６は、経路の中のコンポーネントリンクのリンク長の総計により経路長を測定するよう構成される。
【００７５】
リンクが有向である場合、経路ファインダー１６は、経路の中のコンポーネントリンクと同じ方向である経路を発見するよう構成される。例えば、データ−機能リンクは、プロシジャへの入力であるデータアイテムを表すデータノードが、該データノードから機能ノードへと向かうリンクにより該プロシジャを表す機能ノードに接続されるよう、方向付けられる。さらに、データ−機能リンクは、プロシジャの出力であるデータアイテムを表すデータノードが、機能ノードから該データノードへと向かうリンクにより該プロシジャを表す機能ノードに接続されるよう、方向付けられる。本例では、データ−機能リンクの方向に従う経路は、第１のデータノードにより表されるデータアイテムから第２のデータノードにより表されるデータアイテムへのデータアイテムの変換をトレースする経路になることが理解できる。
【００７６】
最短経路、ｋ最短経路、又は特定の位置あたり候補データノードより多くがマッパー１４により出力される場合の組合せあたりの最短経路を出力する観点から、出力の宛先は、実装固有であるが、一例として、出力される宛先は、ユーザ又はプロセス記述が受信された端末若しくはインタフェースである。この意味で、プロセス記述は、事実上、経路の要求であり、経路ファインダー１６により出力される経路は、応答である。出力の形式は、例えば、経路にあるノードのリストであっても良く、該リストは、少なくともノードの名前又は何らかの他の詳細事項を詳述する。代替又は追加で、経路は、リンク（アーク又はライン）により接続される１又は複数のノード（形状）として視覚的に提示されても良い。出力される経路は、任意で１又は複数の中間エンティティを経由して、プロセス始点エンティティの指示に対応するデータアイテムからプロセス終点エンティティの指示に対応するデータアイテムへ行くステップバイステッププロセスを表す。
【００７７】
図２に特定の実施形態を示す。図１のシステム１０に含まれるコンポーネントに加えて、図２のシステム１０は、処理ユニット１８を有する。処理ユニット１８は、データグラフの中の機能ノードにより表されるプロセスを実行し及び／又はプロセスが実行されるとデータグラフを更新するよう構成される。
【００７８】
図２の例では、データは、Ｗ３Ｃ  ＲＤＦ（Resource  Description  Framework）フォーマットを用いてモデル化される。ＲＤＦは、データモデルを（主語、述語、及び目的語を有する）トリプルと見なす。トリプルは、主語又は目的語に対応する頂点と述語に対応するエッジとを有するグラフに事実上接続される。ＲＤＦデータモデルは、したがって、有向のラベル付きグラフである（幾つかの実装では、ルートエンティティは、グラフが接続されることを保証するために導入される）。
【００７９】
データ記憶装置１２により格納されるデータグラフは、データグラフにより表されるドメインの中のデータアイテムに対応するデータノード／頂点と、データアイテムが有する固有機能を詳述する機能／動作／プロセスノード／頂点と、の２種類に分類できるノード／頂点を有する。
【００８０】
機能データノードは、データアイテムが、データグラフの中の状態変化により引き起こされるイベントにどのように反応すべきかを定める。機能ノードにより表される実際のプロセスの機能的詳細事項は、ネイティブプログラミング言語により実装できる。機能ノードにより定められる処理ステップの目的は、特定の種類の状態変化の観点で、特定のデータに関して何が行われるべきかを定めることである。例えば、人の（「年齢」又は「名前」のような）属性の値が変化した場合、「人」頂点に関連する定められた動作は、このような変化に応答し、更なるグラフ変更の観点でこのような変化の結果を明示する。
【００８１】
ＲＤＦデータモデルは、頂点が開示のドメインの中のデータエンティティ（データアイテムとも表される）の存在に対応するデータエンティティのＲＤＦ表現であるという意味で、データのみのグラフである。実施形態におけるデータ記憶装置１２により格納されるデータグラフは、データアイテムの直感的機能をキャプチャする、データ動作に対応する機能頂点を有するデータのみのグラフにまで及ぶ。例えば、単純な計算機を表すＲＤＦリソース（データノード）は、特に、加算、減算、乗算及び除算機能におけるこのようなデータ動作の種類を実証できる。これらの機能は、それらが動作する目的語値にリンクする機能ノードにより表される。
【００８２】
データ頂点及び機能頂点の組合せは、共同で、デ―タ記憶装置１２により格納されるデータグラフを構成する。これは以下のように定式化される。データグラフＧＤＵＢはトリプル＜Ｖｄ，Ｖｂ，Ｅｄ，Ｅｂ，α，β＞である。ここで、Ｖｄ及びＥｄはそれぞれデータグラフ頂点とエッジとのセットである。Ｖｂは動作を表す頂点のセットである。Ｅｂは動作をデータに関連付けるエッジのセットである。αはデータ−データエッジ（データ−データリンク）をマッピングする関数である。α：Ｅｄ→ＶｄｘＶｄ。ベータはデータ−機能エッジ（データ−機能リンク）をマッピングする関数である。β：Ｅｂ→ＶｂｘＶｂ。Ｅｄ及びＥｂの両者はエッジであるが、それらは異なる意味を有することに留意する。
【００８３】
システム１０への入力は、プロセス記述の一例であるプロセスモデルである。少なくともプロセス始点エンティティ及びプロセス終点エンティティが示される。この例では、２つの中間エンティティも示される。中間エンティティは、出力されるステップバイステップ経路に含まれるべきインスタンス化されているプロセスの特徴を表す。
【００８４】
各々の示されたエンティティについて、含まれる及び除外されるデータ型が詳述される。これは、データグラフが、出力データ経路に含まれることを排除する。データアイテムの特定のファイル名拡張子又は種類のみが、出力データ経路に含まれるべきであっても良く、これは、プロセスモデルに特有である。マッパー１４及び経路ファインダー１６の機能は、次に、プロセスモデルにより指定された包含及び除外を考慮に入れる。
【００８５】
マッパー１４は、プロセスモデルを受信し、データ記憶装置１２により格納されるデータグラフの中に現れるデータアイテムにエンティティをマッピングするよう構成される。データモデルは、ＲＤＦデータモデルとして格納されても良い。エンティティ指示がマッピングされるデータアイテムを表すデータノードは、経路ファインダー１６によりインスタンス化されるべきデータ処理スレッドの始点及び終点である。例えば、プロセス始点エンティティ、プロセス終点エンティティ、及び２つの中間点を指定するプロセスモデルは、経路ファインダー１６によりインスタンス化されるべき３個の別個のデータ処理スレッド（始点から第１の中間点へ、第１の中間点から第２の中間点へ、及び第２の中間点から終点へ）を有する。マッパー１４は、プロセスモデルの中で示される各エンティティに対応するグラフの中のノードを発見する。プロセス始点エンティティに対応するデータノードは、第１のデータノードとして参照される。プロセス終点エンティティに対応するデータノードは、第２のデータノードとして参照される。プロセス中間エンティティに対応するデータノードは、中間データノードとして参照される。場合によっては、順序を示すプレフィックス、つまり第１の中間データノード、を有する。マッパー１４は、文字列マッチングのようなシンタックスに基づく意味的整合性を用いてこれらの対応を確立する。マッパー１４は、プロセスモデルからのエンティティ指示をデータノードのデータ名／ラベル及び値と比較する。
【００８６】
経路ファインダー１６は、プロセスモデルエンティティがマッパー１４によりマッピングされるデータノードを加える経路を発見し出力するよう構成される。特に、経路ファインダー１６は、特定の制約を満たす最短経路を探すよう構成される。これらの制約は、例えば、経路に含まれ得るリンクの種類に対する制約、含まれ得るデータ型に対する制約を有しても良い。経路ファインダー１６により発見された経路、及び最短であることから選択された経路は、データ−動作経路（Data−Behaviour  Path、以後、ＤＢＰと略す）として表される。ＤＢＰは、データグラフの中のリンクに沿う連続経路である。具体的には、ＤＢＰは、経路にあるノードがデータノードと機能ノードとの間で交互になるという制約を満たさなければならない。代替で加えると、経路は、データ−機能リンクを有しなければならない。形式的に言えば、経路ファインダー１６により最短経路として選択される資格があるためには、
ｐｄｂ＝＜ｖ０，．．．，ｖｉ，ｖｊ，ｖｋ，．．．，ｖｎ＞は任意の長さのデータ−機能経路であり、経路に含まれる頂点により表され、使用するリンクの代替表現（エッジ）であるとする。
【００８７】
ＧＤＵＢは、データノード及び機能ノードとデータ−データリンク及びデータ−機能リンクとの両方の統合グラフであるデータグラフであるとする。
【００８８】
任意の頂点（ノード）についてｖｍ∈ｐｄｂである。ｘ＜ｖｍ、ｘ∈Ｖｂの場合、ｘエンティティｘはｖｍの直ぐ前である。エンティティは動作頂点（機能ノード）であり、次式の場合、動作アイテムとデータアイテムとの間にいかなる他のデータ頂点（データノード）も存在しない。
【数１】
2016194908.tif 000003
言い換えると、頂点ｖｌは、経路の中で頂点ｖｎの直ぐ前にある機能ノードである。頂点ｖｎはデータ頂点である。データ頂点ｖｎとその前にある動作頂点ｖｌとの間にくるデータ頂点であるいかなる頂点ｖｋも存在しない。ｖｍに直ぐ後続する経路にも同じことが言える。
【００８９】
言い換えると、データ−動作経路は、連続するデータアイテムを含む（つまり、データ−データリンクを含む）ことを制限されるが、連続する動作アイテムを含むことができる。特定の実施形態では、機能−機能リンクは、データグラフに含まれ、これらはＤＢＰに含まれる。機能−機能リンクは、ある機能ノードの出力が別の機能ノードの入力であることを示すが、出力は、本質的には、データグラフの中に現れるデータアイテムではない。これは、平易なデータフロープログラミングの枠組みが、続いて起こるプロセス先行するプロセスの出力データから直接取り入れさせることにより、機能を一緒にパイピング（pipe）しなければならないという考慮に基づく。
【００９０】
データ−動作経路は、既存のグラフ最短経路アルゴリズムを適用し、データ−データリンクをデータ−機能リンクに帰属するリンク長に比べて非常に長いリンク長に帰属させて該データ−データリンクを除外することにより、経路ファインダー１６により発見できる。その他の場合、経路ファインダー１６がデータ−データリンクを調べるのを防ぐために、データ記憶装置１２にマスクが追加できる。
【００９１】
図３は、円がデータノード（ＲＤＦリソース）であり、丸みのある四角形が機能／動作／処理ノードであり、実線矢印がＲＦＤリソース間の概念的関係（例えば、「is−a」関係及びプロパティ参照）であり、破線矢印が（機能ノードを関連するリソース又は関連する機能ノードと接続する）データ−機能リンク又は機能−機能リンクである、データグラフを示す。Ｄ１及びＤ４が第１及び第２のデータノードとして選択されると、候補ＤＢＰは＜Ｄ１，Ｂ１，Ｂ２，Ｄ２，Ｂ３，Ｄ３，Ｂ５，Ｄ４＞である。ここで、動作（又は処理ユニット）は、リソースＤ１をリソースＤ４に変換するために接続される。経路ファインダー１６は、全ての候補経路を発見し測定し、及び最短経路を出力するよう構成される。
【００９２】
経路ファインダー１６の特定の例では、データ−データリンクがＤＢＰに含まれることを制限する制約は、緩和され得る。幾つかの実装では、データ階層構造が見られ利用されるので（同じ親を持つデータは、データフローの中で互換性があると考えられる）、いかなるデータ−データリンク制約も緩和されない。
【００９３】
データグラフのデータノード及びデータ−データリンクは、「is−a」関係及びその等価物のみが考慮される場合、基本ツリー構造を形成しても良い。データ−データリンクが経路に含まれてはならないという制約により、厳格なＤＢＰが発見されない場合、制約は緩和されて、ＤＢＰが１つの又は可能な限り少ないデータ−データリンク、及び特に「is−a」若しくは等価な関係指示子でラベル付けされたデータ−データリンクと共に発見されるようにできる。経路ファインダー１６によりユーザに出力されると、ユーザは、最終的なワークフローに到達する前に、このような経路を微調整したいと望む場合がある。
【００９４】
データ−データリンクを含むＤＢＰは、「is−a」関係が互換性のあるデータアイテムを接続すること、したがって定められた機能を有しないデータの変換をサポートすること、という前提に基づく。データ−データリンクを含むＤＢＰは、以下のように定めることができる。
【００９５】
任意の頂点（データアイテム）ｖｍ∈ｐ’ｄｂ’が与えられると、ｖｍ∈Ｖｄの場合、次の通りである。
【数２】
2016194908.tif 000004
又は
【数３】
2016194908.tif 000005
ここで、
【数４】
2016194908.tif 000006
は「is−a」関係を示す。
【００９６】
経路の中の任意の頂点は、ｖｌ，ｖｍ，ｖｎにより示される。Ｖｄはデータノードであり、Ｖｂは機能ノードである。経路は、制約の緩和を示すために、ダッシュを有する。
【００９７】
ＤＢＰを発見する際に経路ファインダー１６により用いられる制約の緩和は、データノードが機能リンクのフローの中で互換性のあるデータノードにより置換されることを可能にする。ここで、互換性は、（上方にある）概念的階層構造の中のデータノードのリンクにより決定される。例えば、ＤＢＰが見付からない場合、特定のデータノードは、それらの親概念又は先祖により置換され、互換性のある経路を生成できる。しかし、緩和は、一方向に沿って概念的階層構造をトラバースするだけでなければならない（図４を参照）。
【００９８】
図４のデータグラフの場合、いかなるＤＢＰ経路も、Ｄ１とＤ４との間に発見できない。この場合、最短経路を出力するのではなく、経路ファインダー１６は、ユーザに警告を発する。例えば、ユーザは、新しい機能ノードを有するグラフを充実させたいと望む場合がある。
【００９９】
任意で、システム１０は、プロセス記述がマッピングされたデータノードのレジスタにレコードを、及び経路ファインダー１６により発見された対応する最短経路を、保持する。新しいデータがデータグラフに追加されるとき、経路ファインダー１６は、レジスタの中の各々のプロセス記述について最短経路を再計算し、データグラフの最新状態に適応し、したがって、最新の最も効率的な実行ルートを発見するよう構成される。
【０１００】
図５は、一実施形態のシステム１０がどのように実行され得るかの一例を示す。データグラフにより提示された本開示のドメインは、提出され及び改訂される文書のドラフトである。提出は、レビューコメントを生成する校閲者により再検討される。再検討された文書は、ＰＣメンバによりスコアと共に受け付けられる。それらは、次に、写真製版原稿に改訂され、議事録の部分として提出される。このようなプロセスに関与する多くの異なる種類の役割、例えば、著者、校閲者、ＰＣメンバ、会議主催者、及び発行者が存在する。これらの役割は、彼らが電子システムにおいてプロファイルを有するので、データアイテムと考えられる。各データアイテムは、再帰的動作（つまり、１つのデータエンティティのみが関与する機能ノード）、又は複数の参加者を有する動作（つまり、１つより多いデータエンティティが関与する機能ノード）を有し得る。
【０１０１】
プロセス記述は「提出」から「改訂」である。しかしながら、指示は例えば「提出されたドラフト」及び「改訂されたドラフト」のように与えられ得る。マッパー１４は、文字列マッチングを用いて、データノード「提出」及び「改訂」への指示を照合する。概念的に、文書データアイテムは時間に沿って展開されることが分かる。実際に、この展開は重要である。このようなデータアイテムは、各データエンティティが特定の時間におけるデータアイテムのスナップショットに対応する（共同で時系列データドメインを構成する）、異なるデータエンティティとして考えられる。
【０１０２】
データグラフの中でモデル化されるとき、特に他の頂点及びエッジの中で、フラグメントが図５に示される。提出に合う入力及び改訂に合う出力を有するプロセスでは、経路ファインダー１６は、次式のように、他の可能な経路の中で、グラフをナビゲートする経路を見付けるよう構成される。
【０１０３】
提出→再検討→校閲者→ＰＣ→評価→通知→反論→著者→文書の改訂→改訂
この経路は、次に、ユーザに出力される。これは、更なる精緻化を実行でき、プロセス記述を実施するためにワークフローを用いる。
【０１０４】
態様（ソフトウェア／方法／装置）が別個に議論されたが、１つの態様に関連して議論されたその特徴及び影響は、他の態様にも等しく適用できる。したがって、方法の特徴が議論される場合、装置の実施形態はその特徴を実行する又は適切な機能を提供するよう構成されるユニット又は装置を有すること、及びプログラムは該プログラムが実行されるコンピューティング装置に前記方法の特徴を実行させるものと解釈される。
【０１０５】
図６は、本発明を実現し一実施形態の方法を実施するために使用できる、データ記憶装置のようなコンピューティング装置のブロック図である。コンピューティング装置は、ＣＰＵ（computer  processing  unit）９３３、ＲＡＭ（Random  Access  Memory）９９５のようなメモリ、及びハードディスクのような記憶装置９９６を有する。任意で、コンピューティング装置は、実施形態の他のコンピューティング装置と通信するためのネットワークインタフェース９９９も有する。例えば、一実施形態は、このようなコンピューティング装置のネットワークで構成されても良い。任意で、コンピューティング装置は、ＲＯＭ（Read  Only  Memory）９９４、キーボード及びマウスのような１又は複数の入力メカニズム９９８、及び１又は複数のモニタのようなディスプレイユニット９９７も有する。コンポーネントは、バス９９２を介して互いに接続可能である。
【０１０６】
ＣＰＵ９３３は、コンピューティング装置を制御し、処理動作を実行するよう構成される。ＲＡＭ９９５は、ＣＰＵ９３３によりリード及びライトされるデータを格納する。記憶ユニット９９６は、例えば、不揮発性記憶ユニットであっても良く、データを格納するよう構成される。
【０１０７】
ディスプレイユニット９９７は、コンピューティング装置により格納されたデータの提示を表示し、ユーザとプログラムとコンピューティング装置に格納されたデータとの間の相互作用を可能にするカーソル及びダイアログボックス及びスクリーンを表示する。入力メカニズム９９８は、ユーザがデータ及び命令をコンピューティング装置に入力することを可能にする。
【０１０８】
ネットワークインタフェース（ネットワークＩ／Ｆ）９９９は、インターネットのようなネットワークに接続され、ネットワークを介して他のコンピューティング装置に接続可能である。ネットワークＩ／Ｆ９９９は、ネットワークを介して他の装置からのデータ入力／へのデータ出力を制御する。
【０１０９】
マイクロフォン、スピーカ、プリンタ、電源ユニット、ファン、筐体、スキャナ、トラックボール等のような他の周辺装置は、コンピューティング装置に含まれても良い。
【０１１０】
データ記憶装置は、図６に示されたようなコンピューティング装置により実現される機能として実施されても良い。データ記憶装置の機能は、単一のコンピューティング装置により、又はネットワーク接続を介して共同して機能する複数のコンピューティング装置により実現されても良い。一実施形態の装置は、図６に示すハードウェア構成を有するコンピューティング装置により実現されても良い。本発明を実現する方法は、図６に示されたようなコンピューティング装置で実行され又はそれにより実装されても良い。１又は複数のこのようなコンピューティング装置は、一実施形態のコンピュータプログラムを実行するために用いられても良い。実施形態を具現化する又はそれを実装するために使用されるコンピューティング装置は、図６に示した全てのコンポーネントを有する必要はなく、これらのコンポーネントのうちの部分集合で構成されても良い。本発明を具現化する方法は、ネットワークを介して１又は複数のデータ記憶サーバと通信する単一のコンピューティング装置により実行されても良い。
【０１１１】
マッパは、記憶ユニット９９６に格納された処理命令、該処理命令を実行するためのプロセッサ９９３、及び該処理命令の実行中に情報オブジェクトを格納するためのＲＡＭ９９５を有しても良い。
【０１１２】
経路ファインダは、記憶ユニット９９６に格納された処理命令、該処理命令を実行するためのプロセッサ９９３、及び該処理命令の実行中に情報オブジェクトを格納するためのＲＡＭ９９５を有しても良い。
【０１１３】
データ記憶装置は、記憶ユニット９９６に格納された処理命令、該処理命令を実行するためのプロセッサ９９３、及び該処理命令の実行中に情報オブジェクトを格納するためのＲＡＭ９９５を有しても良い。
【０１１４】
処理ユニットは、記憶ユニット９９６に格納された処理命令、該処理命令を実行するためのプロセッサ９９３、及び該処理命令の実行中に情報オブジェクトを格納するためのＲＡＭ９９５を有しても良い。
【０１１５】
データ変更イベント検出器は、記憶ユニット９９６に格納された処理命令、該処理命令を実行するためのプロセッサ９９３、及び該処理命令の実行中に情報オブジェクトを格納するためのＲＡＭ９９５を有しても良い。
【０１１６】
上述の態様のいずれにおいても、種々の特徴は、ハードウェアで、又は１又は複数のプロセッサで動作するソフトウェアモジュールとして実装されても良い。一態様の特徴は、他の態様のいずれにも適用できる。
【０１１７】
本発明は、上述の任意の方法を実行するコンピュータプログラム又はコンピュータプログラムプロダクト、及び上述の任意の方法を実行するプログラムを格納しているコンピュータ可読媒体も提供する。本発明を実施するコンピュータプログラムは、コンピュータ可読媒体に格納されてもよい。或いは、例えば、インターネットウェブサイトから提供されるダウンロード可能なデータ信号のような信号形式又は任意の他の形式であってもよい。
【０１１８】
以上の実施形態に加えて、以下の付記を開示する。
（付記１）  データグラフを格納するよう構成されるデータ記憶装置であって、前記データグラフは、
それぞれがデータアイテムを表す複数のデータノードと、
それぞれが前記データノードの対をリンクし、前記のリンクされたデータノードにより表されるデータアイテムの間の関係を表す、複数のラベル付きデータ−データリンクと、
それぞれが前記データノードのうちの１つにより表されるデータアイテムを変更するプロシジャを表す、複数の機能ノードと、
それぞれが前記データノードのうちの１つを前記機能ノードのうちの１つにリンクし、該機能ノードのうちの１つにより表されるプロシジャを表し、該プロシジャは、実行されると、前記データノードのうちの１つにより表されるデータアイテムを変更する、複数のデータ−機能リンクと、
を有する、データ記憶装置と、
マッパーであって、プロセス始点エンティティの指示とプロセス終点エンティティの指示とを含むプロセス記述を受信し、前記プロセス始点エンティティの指示を前記複数のデータノードの中から第１のデータノードにマッピングし、前記プロセス終点エンティティの指示を前記複数のデータノードの中から第２のデータノードにマッピングする、よう構成されるマッパーと、
経路ファインダーであって、データ−機能リンクに沿って前記第１のデータノードから前記第２のデータノードへの最短経路を発見するために前記データグラフを分析し、前記最短経路を出力する、よう構成される経路ファインダーと、
を有するシステム。
（付記２）  前記機能ノードの各々は、前記複数のデータノードの中からの１又は複数のデータノードの入力範囲と、変更プロセスと、前記複数のデータノードの中からの１又は複数のデータノードの出力範囲とを指定し、前記の指定された変更プロセスは、前記の指定された入力範囲に含まれるデータノードにおけるデータ変更イベントによりトリガされ、前記の指定された出力範囲に含まれるデータノードにおけるデータ変更イベントを生じ、
前記機能ノードは、前記複数のデータ−機能リンクのうちの１つにより、前記入力範囲に含まれる各々のデータノードに及び前記出力範囲に含まれる各々のデータノードにリンクされる、
付記１に記載のシステム。
（付記３）  前記複数のデータ−機能リンクは方向を有し、前記方向は、前記入力範囲の中の１又は複数のデータノードから前記機能ノードへ、及び前記機能ノードから前記出力範囲の中の１又は複数のデータノードへ向かい、
前記経路ファインダーは、前記データ−機能リンクの方向に沿って、前記第１のデータノードから前記第２のデータノードへの最短経路を発見するよう構成される、
付記２に記載のシステム。
（付記４）  前記データグラフは、
それぞれ前記機能ノードの対をリンクし、前記対の中の前記機能ノードのうちの一方の出力範囲が他方の入力範囲の中にあることを表す、複数の有向機能−機能リンク、
を更に有する、付記２に記載のシステム。
（付記５）  前記システムは、
処理ユニットであって、機能ノードの指定された入力範囲に含まれるデータ変更イベントによりトリガされると、前記機能ノードにより指定された変更プロセスを実行するよう構成される、処理ユニット、
を更に有する、付記２に記載のシステム。
（付記６）  前記システムは、
データ変更イベント検出器であって、前記データグラフの状態を監視し、データ変更イベントを検出し、前記データ変更イベントを前記機能ノードにより指定された入力範囲と比較し、前記機能ノードの指定された入力範囲に含まれるデータ変更イベントが検出されると、機能ノードをトリガする、よう構成されるデータ変更イベント検出器、
を更に有する付記２に記載のシステム。
（付記７）  前記経路ファインダーは、前記第１のデータノードから前記第２のデータノードへのデータ−機能リンクに沿う経路が発見されない場合、１又は可能な限り少ないデータ−データリンクが前記経路に含まれるようにし、前記第１のデータノードから前記第２のデータノードへのデータ−機能リンクに沿う最短経路と１又は可能な限り少ないデータ−データリンクとを発見する、よう構成され、
前記経路に含まれる前記データ−データリンクは、前記ラベル付きリンクのラベルが、前記データ−データリンクによりリンクされるデータノードの対のうち、前記経路の中の前記第２のデータノードに近いデータノードが前記第１のデータノードに近いデータノードの親概念であることを示す、データ−データリンクに制限される、
付記１に記載のシステム。
（付記８）  前記データ−機能リンクの各々は、リンク長の属性を有し、
前記経路ファインダーにより発見される最短経路は、前記第１のデータノードから前記第２のデータノードへの経路であり、前記経路の中のデータ−機能リンクの合計リンク長は、前記第１のデータノードから前記第２のデータノードへの全ての経路の中で最も短い、
付記１に記載のシステム。
（付記９）  前記プロセス記述は、１又は複数のプロセス中間エンティティの指示を更に有し、
前記マッパーは、前記１又は複数のプロセス中間エンティティの指示を前記複数のデータノードの中から１つのデータノードに中間データノードとしてマッピングするよう構成され、
前記経路ファインダーは、前記データグラフを分析して、データ−機能リンクに沿って中間エンティティの１つ又は各々を経由する前記第１のデータノードから前記第２のデータノードへの最短経路を発見するよう構成される、
付記１に記載のシステム。
（付記１０）  前記マッパーは、エンティティの指示をデータノードにマッピングするよう構成され、前記のマッピングは、意味的整合性アルゴリズムを用いて前記エンティティの指示を前記データグラフの中の各々のデータノードと又は前記データグラフから選択されたデータノードのサブセットと比較し、及び前記の比較が、前記エンティティの指示に最も近い意味的整合性を示すデータノードを、前記エンティティの指示をマッピングすべきデータノードとして選択することにより、行われ、前記エンティティの指示は、前記プロセス始点エンティティの指示、前記プロセス終点エンティティの指示、及び／又はプロセス中間エンティティの指示のうちの１つ又は各々である、
付記１に記載のシステム。
（付記１１）  前記マッパーは、エンティティの指示を１又は複数の候補データノードにマッピングするよう構成され、前記のマッピングは、意味的整合性アルゴリズムを用いて前記エンティティの指示を前記データグラフの中の各々のデータノードと又は前記データグラフから選択されたデータノードのサブセットと比較し、及び前記の比較の結果が所定の閾を超える１つの又は各々のデータノードを、前記エンティティの指示をマッピングすべき前記１又は複数の候補データノードとして、選択することにより、行われ、前記エンティティの指示は、前記プロセス始点エンティティの指示、前記プロセス終点エンティティの指示、及び／又はプロセス中間エンティティの指示のうちの１つ又は各々である、
付記１に記載のシステム。
（付記１２）  前記経路ファインダーは、前記データグラフを分析して、前記データ−機能リンクに沿って（各々の中間データノードの各々の候補データノードを経由して）前記第１のデータノードの候補データノードの各々から前記第２のデータノードの候補データノードの各々への最短経路を発見し、前記の発見した最短経路の各々を出力する、よう構成される、
付記１１に記載のシステム。
（付記１３）  １より多くの候補データノードが選択されるエンティティの指示の各々について、前記マッパーは、前記１より多くの候補データノードの各々の説明を出力し、応答に、前記１より多くの候補データノードの中から単一のデータノードの指名を受信し、前記指名は、前記マッパーが前記エンティティの指示をマッピングするデータノードである、よう構成される、
付記１１に記載のシステム。
（付記１４）  データ記憶装置にデータグラフを格納するステップであって、前記データグラフは、
それぞれがデータアイテムを表す複数のデータノードと、
それぞれが前記データノードの対をリンクし、前記のリンクされたデータノードにより表されるデータアイテムの間の関係を表す、複数のラベル付きデータ−データリンクと、
それぞれが前記データノードのうちの１つにより表されるデータアイテムを変更するプロシジャを表す、複数の機能ノードと、
それぞれが前記データノードのうちの１つを前記機能ノードのうちの１つにリンクし、該機能ノードのうちの１つにより表されるプロシジャを表し、該プロシジャは、実行されると、前記データノードのうちの１つにより表されるデータアイテムを変更する、複数のデータ−機能リンクと、
を有する、ステップと、
プロセス始点エンティティの指示とプロセス終点エンティティの指示とを含むプロセス記述を受信し、前記プロセス始点エンティティの指示を前記複数のデータノードの中から第１のデータノードにマッピングし、前記プロセス終点エンティティの指示を前記複数のデータノードの中から第２のデータノードにマッピングする、ステップと、
データ−機能リンクに沿って前記第１のデータノードから前記第２のデータノードへの最短経路を発見するために前記データグラフを分析し、前記最短経路を出力する、ステップと、
を有する方法。
（付記１５）  コンピューティング装置により実行されると該コンピューティング装置に方法を実行させるコンピュータプログラムを格納する非一時的記憶媒体であって、前記方法は、
データ記憶装置にデータグラフを格納するステップであって、前記データグラフは、
それぞれがデータアイテムを表す複数のデータノードと、
それぞれが前記データノードの対をリンクし、前記のリンクされたデータノードにより表されるデータアイテムの間の関係を表す、複数のラベル付きデータ−データリンクと、
それぞれが前記データノードのうちの１つにより表されるデータアイテムを変更するプロシジャを表す、複数の機能ノードと、
それぞれが前記データノードのうちの１つを前記機能ノードのうちの１つにリンクし、該機能ノードのうちの１つにより表されるプロシジャを表し、該プロシジャは、実行されると、前記データノードのうちの１つにより表されるデータアイテムを変更する、複数のデータ−機能リンクと、
を有する、ステップと、
プロセス始点エンティティの指示とプロセス終点エンティティの指示とを含むプロセス記述を受信し、前記プロセス始点エンティティの指示を前記複数のデータノードの中から第１のデータノードにマッピングし、前記プロセス終点エンティティの指示を前記複数のデータノードの中から第２のデータノードにマッピングする、ステップと、
データ−機能リンクに沿って前記第１のデータノードから前記第２のデータノードへの最短経路を発見するために前記データグラフを分析し、前記最短経路を出力する、ステップと、
を有する非一時的記憶媒体。
【符号の説明】
【０１１９】
１０  システム
１２  データ記憶装置
１４  マッパー
１６  経路ファインダー
【図１】
2016194908.tif 000007
【図２】
2016194908.tif 000008
【図３】
2016194908.tif 000009
【図４】
2016194908.tif 000010
【図５】
2016194908.tif 000011
【図６】
2016194908.tif 000012