JP2016194908A - データグラフを格納し分析するシステム、方法、及びプログラム - Google Patents

データグラフを格納し分析するシステム、方法、及びプログラム Download PDF

Info

Publication number
JP2016194908A
JP2016194908A JP2016036330A JP2016036330A JP2016194908A JP 2016194908 A JP2016194908 A JP 2016194908A JP 2016036330 A JP2016036330 A JP 2016036330A JP 2016036330 A JP2016036330 A JP 2016036330A JP 2016194908 A JP2016194908 A JP 2016194908A
Authority
JP
Japan
Prior art keywords
data
node
nodes
indication
entity
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2016036330A
Other languages
English (en)
Inventor
ヒュー・ボ
Bo Hu
リー・ヴィヴィアン
Vivian Lee
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of JP2016194908A publication Critical patent/JP2016194908A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9024Graphs; Linked lists
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0633Workflow analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/289Object oriented databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/80Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
    • G06F16/84Mapping; Conversion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/90335Query processing

Abstract

【課題】データグラフを格納し分析するシステム、方法及びプログラムを提供する。【解決手段】システム10は、データアイテムを表す複数のデータノードがリンクしたデータグラフを格納するデータ記憶装置12と、プロセス始点エンティティの指示とプロセス終点エンティティの指示とを含むプロセス記述を受信し、プロセス始点エンティティの指示を複数のデータノードの中から第1のデータノードにマッピングし、プロセス終点エンティティの指示を複数のデータノードの中から第2のデータノードにマッピングするマッパー14と、リンクに沿って第1のデータノードから第2のデータノードへの最短経路を発見するためにデータグラフを分析し、最短経路を出力する経路ファインダー16とを有する。【選択図】図1

Description

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

Claims (15)

  1. データグラフを格納するよう構成されるデータ記憶装置であって、前記データグラフは、
    それぞれがデータアイテムを表す複数のデータノードと、
    それぞれが前記データノードの対をリンクし、前記のリンクされたデータノードにより表されるデータアイテムの間の関係を表す、複数のラベル付きデータ−データリンクと、
    それぞれが前記データノードのうちの1つにより表されるデータアイテムを変更するプロシジャを表す、複数の機能ノードと、
    それぞれが前記データノードのうちの1つを前記機能ノードのうちの1つにリンクし、該機能ノードのうちの1つにより表されるプロシジャを表し、該プロシジャは、実行されると、前記データノードのうちの1つにより表されるデータアイテムを変更する、複数のデータ−機能リンクと、
    を有する、データ記憶装置と、
    マッパーであって、プロセス始点エンティティの指示とプロセス終点エンティティの指示とを含むプロセス記述を受信し、前記プロセス始点エンティティの指示を前記複数のデータノードの中から第1のデータノードにマッピングし、前記プロセス終点エンティティの指示を前記複数のデータノードの中から第2のデータノードにマッピングする、よう構成されるマッパーと、
    経路ファインダーであって、データ−機能リンクに沿って前記第1のデータノードから前記第2のデータノードへの最短経路を発見するために前記データグラフを分析し、前記最短経路を出力する、よう構成される経路ファインダーと、
    を有するシステム。
  2. 前記機能ノードの各々は、前記複数のデータノードの中からの1又は複数のデータノードの入力範囲と、変更プロセスと、前記複数のデータノードの中からの1又は複数のデータノードの出力範囲とを指定し、前記の指定された変更プロセスは、前記の指定された入力範囲に含まれるデータノードにおけるデータ変更イベントによりトリガされ、前記の指定された出力範囲に含まれるデータノードにおけるデータ変更イベントを生じ、
    前記機能ノードは、前記複数のデータ−機能リンクのうちの1つにより、前記入力範囲に含まれる各々のデータノードに及び前記出力範囲に含まれる各々のデータノードにリンクされる、
    請求項1に記載のシステム。
  3. 前記複数のデータ−機能リンクは方向を有し、前記方向は、前記入力範囲の中の1又は複数のデータノードから前記機能ノードへ、及び前記機能ノードから前記出力範囲の中の1又は複数のデータノードへ向かい、
    前記経路ファインダーは、前記データ−機能リンクの方向に沿って、前記第1のデータノードから前記第2のデータノードへの最短経路を発見するよう構成される、
    請求項2に記載のシステム。
  4. 前記データグラフは、
    それぞれ前記機能ノードの対をリンクし、前記対の中の前記機能ノードのうちの一方の出力範囲が他方の入力範囲の中にあることを表す、複数の有向機能−機能リンク、
    を更に有する、請求項2に記載のシステム。
  5. 前記システムは、
    処理ユニットであって、機能ノードの指定された入力範囲に含まれるデータ変更イベントによりトリガされると、前記機能ノードにより指定された変更プロセスを実行するよう構成される、処理ユニット、
    を更に有する、請求項2に記載のシステム。
  6. 前記システムは、
    データ変更イベント検出器であって、前記データグラフの状態を監視し、データ変更イベントを検出し、前記データ変更イベントを前記機能ノードにより指定された入力範囲と比較し、前記機能ノードの指定された入力範囲に含まれるデータ変更イベントが検出されると、機能ノードをトリガする、よう構成されるデータ変更イベント検出器、
    を更に有する請求項2に記載のシステム。
  7. 前記経路ファインダーは、前記第1のデータノードから前記第2のデータノードへのデータ−機能リンクに沿う経路が発見されない場合、1又は可能な限り少ないデータ−データリンクが前記経路に含まれるようにし、前記第1のデータノードから前記第2のデータノードへのデータ−機能リンクに沿う最短経路と1又は可能な限り少ないデータ−データリンクとを発見する、よう構成され、
    前記経路に含まれる前記データ−データリンクは、前記ラベル付きリンクのラベルが、前記データ−データリンクによりリンクされるデータノードの対のうち、前記経路の中の前記第2のデータノードに近いデータノードが前記第1のデータノードに近いデータノードの親概念であることを示す、データ−データリンクに制限される、
    請求項1に記載のシステム。
  8. 前記データ−機能リンクの各々は、リンク長の属性を有し、
    前記経路ファインダーにより発見される最短経路は、前記第1のデータノードから前記第2のデータノードへの経路であり、前記経路の中のデータ−機能リンクの合計リンク長は、前記第1のデータノードから前記第2のデータノードへの全ての経路の中で最も短い、
    請求項1に記載のシステム。
  9. 前記プロセス記述は、1又は複数のプロセス中間エンティティの指示を更に有し、
    前記マッパーは、前記1又は複数のプロセス中間エンティティの指示を前記複数のデータノードの中から1つのデータノードに中間データノードとしてマッピングするよう構成され、
    前記経路ファインダーは、前記データグラフを分析して、データ−機能リンクに沿って中間エンティティの1つ又は各々を経由する前記第1のデータノードから前記第2のデータノードへの最短経路を発見するよう構成される、
    請求項1に記載のシステム。
  10. 前記マッパーは、エンティティの指示をデータノードにマッピングするよう構成され、前記のマッピングは、意味的整合性アルゴリズムを用いて前記エンティティの指示を前記データグラフの中の各々のデータノードと又は前記データグラフから選択されたデータノードのサブセットと比較し、及び前記の比較が、前記エンティティの指示に最も近い意味的整合性を示すデータノードを、前記エンティティの指示をマッピングすべきデータノードとして選択することにより、行われ、前記エンティティの指示は、前記プロセス始点エンティティの指示、前記プロセス終点エンティティの指示、及び/又はプロセス中間エンティティの指示のうちの1つ又は各々である、
    請求項1に記載のシステム。
  11. 前記マッパーは、エンティティの指示を1又は複数の候補データノードにマッピングするよう構成され、前記のマッピングは、意味的整合性アルゴリズムを用いて前記エンティティの指示を前記データグラフの中の各々のデータノードと又は前記データグラフから選択されたデータノードのサブセットと比較し、及び前記の比較の結果が所定の閾を超える1つの又は各々のデータノードを、前記エンティティの指示をマッピングすべき前記1又は複数の候補データノードとして、選択することにより、行われ、前記エンティティの指示は、前記プロセス始点エンティティの指示、前記プロセス終点エンティティの指示、及び/又はプロセス中間エンティティの指示のうちの1つ又は各々である、
    請求項1に記載のシステム。
  12. 前記経路ファインダーは、前記データグラフを分析して、前記データ−機能リンクに沿って(各々の中間データノードの各々の候補データノードを経由して)前記第1のデータノードの候補データノードの各々から前記第2のデータノードの候補データノードの各々への最短経路を発見し、前記の発見した最短経路の各々を出力する、よう構成される、
    請求項11に記載のシステム。
  13. 1より多くの候補データノードが選択されるエンティティの指示の各々について、前記マッパーは、前記1より多くの候補データノードの各々の説明を出力し、応答に、前記1より多くの候補データノードの中から単一のデータノードの指名を受信し、前記指名は、前記マッパーが前記エンティティの指示をマッピングするデータノードである、よう構成される、
    請求項11に記載のシステム。
  14. データ記憶装置にデータグラフを格納するステップであって、前記データグラフは、
    それぞれがデータアイテムを表す複数のデータノードと、
    それぞれが前記データノードの対をリンクし、前記のリンクされたデータノードにより表されるデータアイテムの間の関係を表す、複数のラベル付きデータ−データリンクと、
    それぞれが前記データノードのうちの1つにより表されるデータアイテムを変更するプロシジャを表す、複数の機能ノードと、
    それぞれが前記データノードのうちの1つを前記機能ノードのうちの1つにリンクし、該機能ノードのうちの1つにより表されるプロシジャを表し、該プロシジャは、実行されると、前記データノードのうちの1つにより表されるデータアイテムを変更する、複数のデータ−機能リンクと、
    を有する、ステップと、
    プロセス始点エンティティの指示とプロセス終点エンティティの指示とを含むプロセス記述を受信し、前記プロセス始点エンティティの指示を前記複数のデータノードの中から第1のデータノードにマッピングし、前記プロセス終点エンティティの指示を前記複数のデータノードの中から第2のデータノードにマッピングする、ステップと、
    データ−機能リンクに沿って前記第1のデータノードから前記第2のデータノードへの最短経路を発見するために前記データグラフを分析し、前記最短経路を出力する、ステップと、
    を有する方法。
  15. コンピューティング装置により実行されると該コンピューティング装置に方法を実行させるコンピュータプログラムを格納する非一時的記憶媒体であって、前記方法は、
    データ記憶装置にデータグラフを格納するステップであって、前記データグラフは、
    それぞれがデータアイテムを表す複数のデータノードと、
    それぞれが前記データノードの対をリンクし、前記のリンクされたデータノードにより表されるデータアイテムの間の関係を表す、複数のラベル付きデータ−データリンクと、
    それぞれが前記データノードのうちの1つにより表されるデータアイテムを変更するプロシジャを表す、複数の機能ノードと、
    それぞれが前記データノードのうちの1つを前記機能ノードのうちの1つにリンクし、該機能ノードのうちの1つにより表されるプロシジャを表し、該プロシジャは、実行されると、前記データノードのうちの1つにより表されるデータアイテムを変更する、複数のデータ−機能リンクと、
    を有する、ステップと、
    プロセス始点エンティティの指示とプロセス終点エンティティの指示とを含むプロセス記述を受信し、前記プロセス始点エンティティの指示を前記複数のデータノードの中から第1のデータノードにマッピングし、前記プロセス終点エンティティの指示を前記複数のデータノードの中から第2のデータノードにマッピングする、ステップと、
    データ−機能リンクに沿って前記第1のデータノードから前記第2のデータノードへの最短経路を発見するために前記データグラフを分析し、前記最短経路を出力する、ステップと、
    を有する非一時的記憶媒体。
JP2016036330A 2015-03-31 2016-02-26 データグラフを格納し分析するシステム、方法、及びプログラム Pending JP2016194908A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB1505607.0 2015-03-31
GB1505607.0A GB2536932A (en) 2015-03-31 2015-03-31 System, method, and program for storing and analysing a data graph

Publications (1)

Publication Number Publication Date
JP2016194908A true JP2016194908A (ja) 2016-11-17

Family

ID=53178495

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016036330A Pending JP2016194908A (ja) 2015-03-31 2016-02-26 データグラフを格納し分析するシステム、方法、及びプログラム

Country Status (4)

Country Link
US (1) US20160292305A1 (ja)
EP (1) EP3076314A1 (ja)
JP (1) JP2016194908A (ja)
GB (1) GB2536932A (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10564794B2 (en) * 2015-09-15 2020-02-18 Xerox Corporation Method and system for document management considering location, time and social context
US20170316354A1 (en) * 2016-04-29 2017-11-02 Honeywell International Inc. Managing incident workflow
US10803051B2 (en) * 2018-10-10 2020-10-13 Bank Of America Corporation System for performing a lineage control in a data network
CN111211987B (zh) * 2019-11-29 2021-07-27 清华大学 网络中流量动态调整方法、系统、电子设备及存储介质
CA3168741A1 (en) 2021-01-18 2022-07-21 9197-1168 Quebec Inc. Systems and methods for associating data with a non-material concept

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110099164A1 (en) * 2009-10-23 2011-04-28 Haim Zvi Melman Apparatus and method for search and retrieval of documents and advertising targeting
EP2731020B1 (en) 2012-11-07 2017-04-05 Fujitsu Limited Database system and method for storing distributed data and logic
US8984019B2 (en) * 2012-11-20 2015-03-17 International Business Machines Corporation Scalable summarization of data graphs
US20140164048A1 (en) * 2012-12-07 2014-06-12 Xerox Corporation Scalable weight-agnostic multi-objective qos optimization for workflow planning
US9053210B2 (en) * 2012-12-14 2015-06-09 Microsoft Technology Licensing, Llc Graph query processing using plurality of engines
US9268950B2 (en) * 2013-12-30 2016-02-23 International Business Machines Corporation Concealing sensitive patterns from linked data graphs

Also Published As

Publication number Publication date
GB201505607D0 (en) 2015-05-13
US20160292305A1 (en) 2016-10-06
GB2536932A (en) 2016-10-05
EP3076314A1 (en) 2016-10-05

Similar Documents

Publication Publication Date Title
US8326795B2 (en) Enhanced process query framework
US9607060B2 (en) Automatic generation of an extract, transform, load (ETL) job
Voigt et al. Context-aware recommendation of visualization components
JP2016194908A (ja) データグラフを格納し分析するシステム、方法、及びプログラム
Castelo Branco et al. Matching business process workflows across abstraction levels
US10073827B2 (en) Method and system to generate a process flow diagram
JP2019531517A (ja) 統計プロファイリングおよびリファレンススキーママッチングによるオントロジー帰納のためのシステムおよび方法
KR101773574B1 (ko) 데이터 테이블의 차트 시각화 방법
US9058176B2 (en) Domain-specific generation of programming interfaces for business objects
JPWO2016151618A1 (ja) 予測モデル更新システム、予測モデル更新方法および予測モデル更新プログラム
US20150236934A1 (en) Metrics management and monitoring system for service transition and delivery management
Ognjanović et al. A stratified framework for handling conditional preferences: an extension of the analytic hierarchy process
JP7456137B2 (ja) 情報処理装置及びプログラム
Medvedev et al. Gaining insights into conceptual models: A graph-theoretic querying approach
Suter et al. Operations on network-based space layouts for modeling multiple space views of buildings
JP2021089668A (ja) 情報処理装置及びプログラム
US8819620B1 (en) Case management software development
Reschenhofer et al. Type-safety in EA model analysis
US20170109652A1 (en) Common feature protocol for collaborative machine learning
JP2016177788A (ja) データ管理装置、データ管理方法、及び非一時的な記憶媒体
US20180196646A1 (en) System design apparatus and method
Morgan et al. VizDSL: towards a graphical visualisation language for enterprise systems interoperability
Loniewsli et al. An automated approach for architectural model transformations
Wang et al. A Framework for Generic Semantic Enrichment of BIM Models
JP6336922B2 (ja) 業務バリエーションに基づく業務影響箇所抽出方法および業務影響箇所抽出装置