(57)【要約】  情報処理装置は、処理対象となるデータ（１〜ｎ）に対して、タスク（ｔｋ１）を実行する。タスク（ｔｋ１）を実行して生成された新データ（１２０１）は、データレイク（２２０）に格納される。情報処理装置は、データ（１〜ｎ）に対してタスク（ｔｋ１）を実行して新データ（１２０１）が得られた場合に、タスクリポジトリから、タスク（ｔｋ１）に対応するメタタスク（ｍｔ１）を取得する。情報処理装置は、メタデータストア（２３０）から、処理対象のデータ（１〜ｎ）それぞれに設定されたメタデータ（１〜ｎ）を取得して、入力メタデータリスト（１２１０）に記録する。そして、情報処理装置は、入力メタデータリスト（１２１０）を入力として、取得したメタタスク（ｍｔ１）を実行する。情報処理装置は、メタタスク（ｍｔ１）を実行して作成された新メタデータ（１２０２）を、新データ（１２０１）に設定する。
2020225925.tif 000002
【特許請求の範囲】
【請求項１】
処理対象のデータに対してタスクを実行して得られる新たなデータについて、前記処理対象のデータに設定されたメタデータに基づき、新たなメタデータを作成するメタタスクを、前記タスクと対応付けて管理する管理部と、
１または複数のデータに対して前記タスクを実行する際に、前記管理部によって前記タスクに対応付けて管理されている前記メタタスクを実行して、前記１または複数のデータそれぞれに設定されたメタデータに基づき、新たなメタデータを作成する実行制御部と、
前記実行制御部によって作成された前記新たなメタデータを、前記１または複数のデータに対して前記タスクを実行して得られた新たなデータに設定する設定部と、
を有することを特徴とする情報処理装置。
【請求項２】
前記設定部は、
前記実行制御部によって前記新たなメタデータが複数作成された場合、複数作成された前記新たなメタデータそれぞれをメタデータ候補として、前記新たなデータに設定する、ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記設定部によって前記新たなデータに設定された複数のメタデータ候補を選択可能に表示する表示制御部をさらに有し、
前記設定部は、
前記複数のメタデータ候補の中からいずれかのメタデータ候補が選択されたことに応じて、選択された前記メタデータ候補をメタデータとして、前記新たなデータに設定する、ことを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記管理部は、
処理対象のデータに対してタスクを実行して得られる新たなデータに設定されたメタデータに基づき、前記処理対象のデータについて、新たなメタデータを作成する第２のメタタスクを、前記タスクと対応付けて管理し、
前記実行制御部は、
１または複数のデータに対して前記タスクを実行して新たなデータが得られた場合に、前記管理部によって前記タスクに対応付けて管理されている前記第２のメタタスクを実行して、前記新たなデータに設定されたメタデータに基づき、新たなメタデータを作成し、
前記設定部は、
前記実行制御部によって作成された前記新たなメタデータを、前記１または複数のデータに設定する、ことを特徴とする請求項１に記載の情報処理装置。
【請求項５】
前記設定部は、
前記タスクを複数のデータに対して実行して前記新たなデータが得られ、かつ、前記新たなメタデータが複数作成された場合、複数作成された前記新たなメタデータそれぞれをメタデータ候補として、前記複数のデータに対して設定する、ことを特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記設定部によって前記複数のデータに対して設定された複数のメタデータ候補を選択可能に表示する表示制御部をさらに有し、
前記設定部は、
前記複数のデータの各データについて、前記複数のメタデータ候補の中からいずれかのメタデータ候補が選択されたことに応じて、選択された前記メタデータ候補をメタデータとして設定する、ことを特徴とする請求項５に記載の情報処理装置。
【請求項７】
前記タスクは、処理対象のデータを処理して得られる新たなデータのメタデータに利用可能な情報を出力する機能を有し、
前記管理部は、
前記処理対象のデータに対して前記タスクを実行して得られる新たなデータについて、前記タスクから出力される前記情報に基づき、新たなメタデータを作成する第３のメタタスクを、前記タスクと対応付けて管理し、
前記実行制御部は、
１または複数のデータに対して前記タスクが実行されたことに応じて、前記管理部によって前記タスクに対応付けて管理されている前記第３のメタタスクを実行して、前記タスクの実行中に当該タスクから出力される情報に基づき、新たなメタデータを作成する、ことを特徴とする請求項１に記載の情報処理装置。
【請求項８】
データに対してタスクを実行して新たなデータを出力する情報処理システムにおいて、
処理対象のデータに対してタスクを実行して得られる新たなデータについて、前記処理対象のデータに設定されたメタデータに基づき、新たなメタデータを作成するメタタスクを、前記タスクと対応付けて管理する管理部と、
１または複数のデータに対して前記タスクを実行する際に、前記管理部によって前記タスクに対応付けて管理されている前記メタタスクを実行して、前記１または複数のデータそれぞれに設定されたメタデータに基づき、新たなメタデータを作成する実行制御部と、
前記実行制御部によって作成された前記新たなメタデータを、前記１または複数のデータに対して前記タスクを実行して得られた新たなデータに設定する設定部と、
を含むことを特徴とする情報処理システム。
【請求項９】
前記設定部は、
前記実行制御部によって前記新たなメタデータが複数作成された場合、複数作成された前記新たなメタデータそれぞれをメタデータ候補として、前記新たなデータに設定する、ことを特徴とする請求項８に記載の情報処理システム。
【請求項１０】
前記設定部によって前記新たなデータに設定された複数のメタデータ候補を選択可能に表示する表示制御部をさらに有し、
前記設定部は、
前記複数のメタデータ候補の中からいずれかのメタデータ候補が選択されたことに応じて、選択された前記メタデータ候補をメタデータとして、前記新たなデータに設定する、ことを特徴とする請求項９に記載の情報処理システム。
【請求項１１】
前記管理部は、
処理対象のデータに対してタスクを実行して得られる新たなデータに設定されたメタデータに基づき、前記処理対象のデータについて、新たなメタデータを作成する第２のメタタスクを、前記タスクと対応付けて管理し、
前記実行制御部は、
１または複数のデータに対して前記タスクを実行して新たなデータが得られた場合に、前記管理部によって前記タスクに対応付けて管理されている前記第２のメタタスクを実行して、前記新たなデータに設定されたメタデータに基づき、新たなメタデータを作成し、
前記設定部は、
前記実行制御部によって作成された前記新たなメタデータを、前記１または複数のデータに設定する、ことを特徴とする請求項８に記載の情報処理システム。
【請求項１２】
処理対象のデータに対してタスクを実行して得られる新たなデータについて、前記処理対象のデータに設定されたメタデータに基づき、新たなメタデータを作成するメタタスクを、前記タスクと対応付けて管理するコンピュータに、
１または複数のデータに対して前記タスクを実行する際に、前記タスクに対応付けて管理されている前記メタタスクを実行して、前記１または複数のデータそれぞれに設定されたメタデータに基づき、新たなメタデータを作成し、
作成した前記新たなメタデータを、前記１または複数のデータに対して前記タスクを実行して得られた新たなデータに設定する、
処理を実行させることを特徴とする情報処理プログラム。
【請求項１３】
前記新たなメタデータが複数作成された場合、複数作成された前記新たなメタデータそれぞれをメタデータ候補として、前記新たなデータに設定する、処理を前記コンピュータに実行させることを特徴とする請求項１２に記載の情報処理プログラム。
【請求項１４】
前記新たなデータに設定された複数のメタデータ候補を選択可能に表示し、
前記複数のメタデータ候補の中からいずれかのメタデータ候補が選択されたことに応じて選択された前記メタデータ候補をメタデータとして、前記新たなデータに設定する、
処理を前記コンピュータに実行させることを特徴とする請求項１３に記載の情報処理プログラム。
【請求項１５】
処理対象のデータに対してタスクを実行して得られる新たなデータに設定されたメタデータに基づき、前記処理対象のデータについて、新たなメタデータを作成する第２のメタタスクを、前記タスクと対応付けて管理し、
１または複数のデータに対して前記タスクを実行して新たなデータが得られた場合に、前記タスクに対応付けて管理されている前記第２のメタタスクを実行して、前記新たなデータに設定されたメタデータに基づき、新たなメタデータを作成し、
作成した前記新たなメタデータを、前記１または複数のデータに設定する、
処理を前記コンピュータに実行させることを特徴とする請求項１２に記載の情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理システムおよび情報処理プログラムに関する。
【背景技術】
【０００２】
従来、データに対してタスクを実行して新たなデータを出力するシステムがある。タスクは、データを加工したり、演算したりして、新しいデータを出力する処理である。タスクとしては、例えば、関東圏の人口動態のデータを集約して、１０年分の統計データを取得する処理などが挙げられる。【０００３】
先行技術としては、結果データを作成するための素性データを管理するシステムにおいて、結果データを作成するために使用された処理クエリの処理内容、基データ、および基データを抽出するための抽出条件を結果データの素性データとして抽出するものがある。また、入力データの項目名および出力データの項目名の両方に含まれる要素以外の要素を抽出し、抽出した要素と、入力データから出力データを生成するためのプログラムの引数とが、入力データの項目値に関連する要素を含む場合、抽出した要素のうち入力データの項目値に関連する要素が変数化されたメタデータを生成する技術がある。【０００４】
また、複数のデータを各データの属性情報の集合として表示させる表示モードに応じて、複数のデータを表示し、その表示モードに基づいて表示されたデータに付与すべきメタデータの候補を決定する技術がある。また、分析ソースデータを読み込んでデータ格納領域に格納し、分析ソースデータに対して分析を行った結果を分析結果データとして出力し、読み込んだ分析ソースデータの所在をデータ所在情報に格納し、分析結果データと分析ソースデータを関連付けて分析結果生成元情報に格納する技術がある。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】国際公開第２０１６／０１３０９９号
【特許文献２】特開２０１８−１１２８４８号公報
【特許文献３】国際公開第２０１８／０６１０７０号
【特許文献４】特開２００９−１４０３６１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
近年、分析処理により蓄積された大量のデータのデータ利活用が注目されている。そこで、発明者らは、一連の分析処理の一または複数のタスクの実行により生成されたデータもデータの利活用の対象にすることに着目した。しかしながら、さまざまな処理過程を経たデータを再利用できるように管理するための仕組みが十分ではなかった。【０００７】
一つの側面では、本発明は、タスクの実行にかかるデータに対する管理を容易にすることを目的とする。
【課題を解決するための手段】
【０００８】
１つの実施態様では、処理対象のデータに対してタスクを実行して得られる新たなデータについて、前記処理対象のデータに設定されたメタデータに基づき、新たなメタデータを作成するメタタスクを、前記タスクと対応付けて管理する管理部と、１または複数のデータに対して前記タスクを実行する際に、前記管理部によって前記タスクに対応付けて管理されている前記メタタスクを実行して、前記１または複数のデータそれぞれに設定されたメタデータに基づき、新たなメタデータを作成する実行制御部と、前記実行制御部によって作成された前記新たなメタデータを、前記１または複数のデータに対して前記タスクを実行して得られた新たなデータに設定する設定部と、を有する情報処理装置が提供される。
【発明の効果】
【０００９】
本発明の一側面によれば、タスクの実行にかかるデータに対する管理を容易にするという効果を奏する。
【図面の簡単な説明】
【００１０】
【図１】図１は、実施の形態１にかかる情報処理装置１０１の一実施例を示す説明図である。
【図２】図２は、情報処理システム２００のシステム構成例を示す説明図である。
【図３】図３は、情報処理装置１０１のハードウェア構成例を示すブロック図である。
【図４】図４は、処理対象のデータの具体例を示す説明図である。
【図５】図５は、メタデータの具体例を示す説明図である。
【図６】図６は、データ管理テーブル２４０の記憶内容の一例を示す説明図である。
【図７】図７は、タスク管理テーブル２６０の記憶内容の一例を示す説明図である。
【図８】図８は、タスクの具体例を示す説明図である。
【図９】図９は、メタタスクの具体例を示す説明図（その１）である。
【図１０】図１０は、メタタスクの具体例を示す説明図（その２）である。
【図１１】図１１は、情報処理装置１０１の機能的構成例を示すブロック図である。
【図１２】図１２は、実施の形態１にかかる情報処理装置１０１の動作例を示す説明図である。
【図１３】図１３は、メタタスクｍｔ１の利用例を示す説明図である。
【図１４】図１４は、新データのメタデータを選択する操作画面の画面例を示す説明図（その１）である。
【図１５】図１５は、新データのメタデータを選択する操作画面の画面例を示す説明図（その２）である。
【図１６】図１６は、実施の形態１にかかる情報処理装置１０１の情報処理手順の一例を示すフローチャートである。
【図１７】図１７は、実施の形態２にかかる情報処理装置１０１の動作例を示す説明図である。
【図１８】図１８は、メタタスクｍｔ２の利用例を示す説明図である。
【図１９】図１９は、実施の形態２にかかる情報処理装置１０１の情報処理手順の一例を示すフローチャートである。
【図２０】図２０は、実施の形態３にかかる情報処理装置１０１の動作例を示す説明図である。
【図２１】図２１は、実施の形態３にかかる情報処理装置１０１の第１の情報処理手順の一例を示すフローチャートである。
【図２２】図２２は、実施の形態３にかかる情報処理装置１０１の第２の情報処理手順の一例を示すフローチャートである。
【発明を実施するための形態】
【００１１】
以下に図面を参照して、本発明にかかる情報処理装置、情報処理システムおよび情報処理プログラムの実施の形態を詳細に説明する。
【００１２】
（実施の形態１）
図１は、実施の形態１にかかる情報処理装置１０１の一実施例を示す説明図である。図１において、情報処理装置１０１は、タスクの実行にかかるデータに対して、メタデータを設定するコンピュータである。タスクは、データを加工したり、演算したりして、新しいデータを出力する処理である。タスクの実行にかかるデータは、例えば、処理対象のデータに対してタスクを実行して得られる新たなデータである。
【００１３】
処理対象のデータは、タスクの入力となる１または複数のデータである。処理対象のデータは、例えば、ＣＳＶ（Ｃｏｍｍａ−Ｓｅｐａｒａｔｅｄ  Ｖａｌｕｅ）ファイル、ＪＳＯＮ（ＪａｖａＳｃｒｉｐｔ  Ｏｂｊｅｃｔ  Ｎｏｔａｔｉｏｎ）ファイルなどである。ＪａｖａＳｃｒｉｐｔは、登録商標である。メタデータは、データに対して設定される、データの意味を説明するための情報群である。
【００１４】
メタデータは、データの分析等を行うにあたり、処理対象のデータを判断するための有用な情報である。例えば、データに対してタスクを実行して新たなデータを出力するようなシステムにおいて、ユーザは、メタデータを頼りに、タスクに与えるデータを検索したり、選択したりすることが多い。
【００１５】
一方で、従来のシステムでは、タスクによってデータを加工し、新たなデータを生成するような処理を行った場合に、新たに生成されたデータにはメタデータは付与されていない。このため、例えば、新たに生成されたデータの中身を人手で確認してメタデータを付与することが考えられる。
【００１６】
しかし、人手によりデータの中身を一つ一つ確認してメタデータを作成するには、時間や手間がかかる。また、ユーザによっては、データの中身を見ても、どのような情報をメタデータとして付与すればよいか判断できない場合がある。また、データ中に出現する頻出語彙からメタデータを類推して付与することも考えられるが、タスクがどのような処理を行っているのかを反映した適切なメタデータを付与することは難しい。
【００１７】
そこで、本実施の形態では、タスクを実行して得られる新たなデータに対して、適切なメタデータを自動で設定する情報処理装置１０１について説明する。以下、情報処理装置１０１の処理例について説明する。
【００１８】
（１）情報処理装置１０１は、メタタスクｍｔを、タスクｔｋと対応付けて管理する。ここで、メタタスクｍｔは、処理対象のデータに対してタスクｔｋを実行して得られる新たなデータについて、処理対象のデータに設定されたメタデータに基づき、新たなメタデータを作成する処理である。
【００１９】
メタタスクｍｔは、例えば、タスクｔｋの設計者１０２によって作成される。設計者１０２は、タスクｔｋがどのような処理を行うかを把握しているため、タスクｔｋの処理内容を反映した適切なメタデータが作成されるように、メタタスクｍｔを設計することができる。
【００２０】
具体的には、例えば、情報処理装置１０１は、タスクｔｋに対応するメタタスクｍｔの登録を受け付ける。情報処理装置１０１は、メタタスクｍｔの登録を受け付けると、受け付けたメタタスクｍｔを、タスクｔｋと対応付けて管理する。メタタスクｍｔをタスクｔｋと対応付けて管理するとは、例えば、タスクｔｋの識別情報からメタタスクｍｔを特定可能に管理することである。
【００２１】
（２）情報処理装置１０１は、１または複数のデータに対してタスクｔｋを実行する際に、タスクｔｋに対応付けて管理されているメタタスクｍｔを実行して、１または複数のデータそれぞれに設定されたメタデータに基づき、新たなメタデータを作成する。１または複数のデータは、タスクｔｋに入力として与える処理対象のデータである。
【００２２】
図１の例では、タスクｔｋの実行依頼は、ユーザ１０３によって行われる。この際、タスクｔｋに入力として与える処理対象のデータの指定も行われる。ここでは、ユーザ１０３によって指定された処理対象のデータ１１１，１１２，１１３に対してタスクｔｋが実行された結果、新たなデータ１１４が生成された場合を想定する。
【００２３】
この場合、情報処理装置１０１は、タスクｔｋに対応付けて管理されているメタタスクｍｔを実行して、データ１１１，１１２，１１３それぞれに設定されたメタデータ１２１，１２２，１２３に基づき、新たなメタデータを作成する。ここでは、新たなメタデータ１２４が作成された場合を想定する。なお、タスクｔｋの実行は、情報処理装置１０１とは異なる他のコンピュータで実行することにしてもよい。
【００２４】
（３）情報処理装置１０１は、作成した新たなメタデータを、１または複数のデータに対してタスクｔｋを実行して得られた新たなデータに設定する。新たなメタデータを新たなデータに設定するとは、例えば、新たなメタデータと新たなデータとの対応関係を特定可能にすることである。
【００２５】
図１の例では、新たなメタデータ１２４が、データ１１１，１１２，１１３に対してタスクｔｋを実行して得られた新たなデータ１１４に設定される。
【００２６】
このように、情報処理装置１０１によれば、メタデータが設定されたデータに対してタスクｔｋを実行する際に、タスクｔｋを実行して得られる新たなデータのメタデータを、メタタスクｍｔにより作成して設定することができる。また、タスクｔｋがどのような処理を行うかを把握した上で、メタタスクｍｔを設計することができるため、タスクｔｋが持つデータ加工の意味をメタタスクｍｔとして明示的に設定可能となる。
【００２７】
これにより、ユーザの意図通りのメタデータを、データ加工と同期的に新しいデータに設定することが可能となり、タスクの実行にかかるデータに対する管理を容易にして、データの利活用を促進することができる。また、人手によりデータの中身を一つ一つ確認してメタデータを設定する場合に比べて、ユーザの手間や時間を削減することができる。
【００２８】
（情報処理システム２００のシステム構成例）
つぎに、実施の形態１にかかる情報処理システム２００のシステム構成例について説明する。情報処理システム２００は、図１に示した情報処理装置１０１を含むコンピュータシステムであり、例えば、データ加工・分析での試行錯誤を通して生成される生産物を一元的に管理するシステムに適用される。
【００２９】
図２は、情報処理システム２００のシステム構成例を示す説明図である。図２において、情報処理システム２００は、情報処理装置１０１と、複数のクライアント装置２０１と、を含む。情報処理システム２００において、情報処理装置１０１および複数のクライアント装置２０１は、有線または無線のネットワーク２１０を介して接続される。ネットワーク２１０は、例えば、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、インターネットなどである。
【００３０】
ここで、情報処理装置１０１は、データレイク２２０、メタデータストア２３０、データ管理テーブル２４０、タスクリポジトリ２５０およびタスク管理テーブル２６０を有する。例えば、情報処理装置１０１は、サーバである。データレイク２２０は、処理対象のデータを格納する。処理対象のデータの具体例については、図４を用いて後述する。
【００３１】
メタデータストア２３０は、メタデータを格納する。メタデータストア２３０は、例えば、メタデータ（ＪＳＯＮオブジェクト）を格納するＭｏｎｇｏＤＢなどのオブジェクトＤＢである。メタデータの具体例については、図５を用いて後述する。データ管理テーブル２４０は、処理対象のデータを管理するためのテーブルである。データ管理テーブル２４０の記憶内容については、図６を用いて後述する。
【００３２】
タスクリポジトリ２５０は、タスクやメタタスクの実体を格納するリポジトリである。タスクの具体例については、図８を用いて後述する。また、メタタスクの具体例については、図９および図１０を用いて後述する。タスク管理テーブル２６０は、タスクやメタタスクを管理するためのテーブルである。タスク管理テーブル２６０の記憶内容については、図７を用いて後述する。
【００３３】
クライアント装置２０１は、情報処理システム２００のユーザが使用するコンピュータである。ユーザは、例えば、データの分析、解析等を行うデータサイエンティストや、タスクやメタタスクの設計者などである。クライアント装置２０１は、例えば、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）、タブレットＰＣ、スマートフォンなどである。
【００３４】
なお、ここでは、情報処理装置１０１とクライアント装置２０１とを別体に設けることにしたが、これに限らない。例えば、情報処理装置１０１は、クライアント装置２０１により実現されることにしてもよい。
【００３５】
また、情報処理システム２００には、ＲＤＢ（Ｒｅｌａｔｉｏｎａｌ  Ｄａｔａｂａｓｅ）、ファイルシステム、クラウドストレージ、分散処理基盤などが含まれていてもよい。この場合、情報処理装置１０１は、例えば、ＲＤＢ、ファイルシステム、クラウドストレージ等から各種データを取得したり、分散処理基盤を利用して各種タスクを実行したりすることができる。
【００３６】
（情報処理装置１０１のハードウェア構成例）
つぎに、図３を用いて、情報処理装置１０１のハードウェア構成例について説明する。
【００３７】
図３は、情報処理装置１０１のハードウェア構成例を示すブロック図である。図３において、情報処理装置１０１は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）３０１と、メモリ３０２と、ディスクドライブ３０３と、ディスク３０４と、通信Ｉ／Ｆ（Ｉｎｔｅｒｆａｃｅ）３０５と、可搬型記録媒体Ｉ／Ｆ３０６と、可搬型記録媒体３０７と、を有する。また、各構成部は、バス３００によってそれぞれ接続される。
【００３８】
ここで、ＣＰＵ３０１は、情報処理装置１０１の全体の制御を司る。ＣＰＵ３０１は、複数のコアを有していてもよい。メモリ３０２は、例えば、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）およびフラッシュＲＯＭなどを有する。具体的には、例えば、フラッシュＲＯＭがＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）のプログラムを記憶し、ＲＯＭがアプリケーションプログラムを記憶し、ＲＡＭがＣＰＵ３０１のワークエリアとして使用される。メモリ３０２に記憶されるプログラムは、ＣＰＵ３０１にロードされることで、コーディングされている処理をＣＰＵ３０１に実行させる。
【００３９】
ディスクドライブ３０３は、ＣＰＵ３０１の制御に従ってディスク３０４に対するデータのリード／ライトを制御する。ディスク３０４は、ディスクドライブ３０３の制御で書き込まれたデータを記憶する。ディスク３０４としては、例えば、磁気ディスク、光ディスクなどが挙げられる。
【００４０】
通信Ｉ／Ｆ３０５は、通信回線を通じてネットワーク２１０に接続され、ネットワーク２１０を介して外部のコンピュータ（例えば、図２に示したクライアント装置２０１）に接続される。そして、通信Ｉ／Ｆ３０５は、ネットワーク２１０と装置内部とのインターフェースを司り、外部のコンピュータからのデータの入出力を制御する。通信Ｉ／Ｆ３０５には、例えば、モデムやＬＡＮアダプタなどを採用することができる。
【００４１】
可搬型記録媒体Ｉ／Ｆ３０６は、ＣＰＵ３０１の制御に従って可搬型記録媒体３０７に対するデータのリード／ライトを制御する。可搬型記録媒体３０７は、可搬型記録媒体Ｉ／Ｆ３０６の制御で書き込まれたデータを記憶する。可搬型記録媒体３０７としては、例えば、ＣＤ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ）−ＲＯＭ、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）メモリなどが挙げられる。
【００４２】
なお、情報処理装置１０１は、上述した構成部のほかに、例えば、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）、入力装置、ディスプレイ等を有することにしてもよい。また、情報処理装置１０１は、上述した構成部のうち、例えば、ディスクドライブ３０３、ディスク３０４、可搬型記録媒体Ｉ／Ｆ３０６、可搬型記録媒体３０７を有していなくてもよい。また、図２に示したクライアント装置２０１についても、情報処理装置１０１と同様のハードウェア構成により実現することができる。ただし、クライアント装置２０１は、上述した構成部のほかに、入力装置およびディスプレイを有する。
【００４３】
（処理対象のデータの具体例）
つぎに、図４を用いて、処理対象のデータの具体例について説明する。
【００４４】
図４は、処理対象のデータの具体例を示す説明図である。図４において、データ４００は、データレイク２２０（図２参照）に格納されるデータの一例であり、各区の出生、死亡、転入、転出の人数を示す。なお、図４の例では、データ４００をテーブル形式で表記したが、データ４００は、例えば、ＣＳＶ形式のファイルである。
【００４５】
（メタデータの具体例）
つぎに、図５を用いて、メタデータの具体例について説明する。
【００４６】
図５は、メタデータの具体例を示す説明図である。図５において、メタデータ５００は、メタデータストア２３０（図２参照）に格納されるメタデータの一例であり、図４に示したデータ４００の意味を説明するための情報群（例えば、ｔａｇｓ）である。
【００４７】
メタデータ５００には、例えば、メタデータ５００の識別子（ｉｄ）や、メタデータ５００が作成された日時（ＣｒｅａｔｅｄＤａｔａ）を示す情報が含まれる。また、メタデータ５００には、メタデータ５００が設定されたデータ４００の識別子（ｆｉｌｅ＿ｉｄ）や作成者（ａｕｔｈｏｒ）などを示す情報が含まれる。メタデータ５００によれば、例えば、データ４００が、平成２８年度１０月の川崎市の人口動態を区別にまとめた統計データであることがわかる。
【００４８】
（データ管理テーブル２４０の記憶内容）
つぎに、図６を用いて、情報処理装置１０１が有するデータ管理テーブル２４０の記憶内容について説明する。なお、図２に示した各種テーブル等２２０，２３０，２４０，２５０，２６０は、例えば、図３に示した情報処理装置１０１のメモリ３０２、ディスク３０４などの記憶装置により実現される。
【００４９】
図６は、データ管理テーブル２４０の記憶内容の一例を示す説明図である。図６において、データ管理テーブル２４０は、データＩＤ、パス、ユーザ名、グループ名およびｃｒｅａｔｅｄ  ｄａｔａのフィールドを有する。各フィールドに情報を設定することで、データ管理情報（例えば、データ管理情報６００−１，６００−２）がレコードとして記憶される。
【００５０】
ここで、データＩＤは、処理対象のデータを一意に識別する識別子である。図５に示した「ｆｉｌｅ＿ｉｄ」は、データＩＤに相当する。パスは、処理対象のデータの格納場所を示す。ユーザ名は、処理対象のデータを登録したユーザの名称である。グループ名は、ユーザが属するグループの名称である。ｃｒｅａｔｅｄ  ｄａｔａは、処理対象のデータが生成（登録）された日付を示す。
【００５１】
（タスク管理テーブル２６０の記憶内容）
つぎに、図７を用いて、タスク管理テーブル２６０の記憶内容について説明する。
【００５２】
図７は、タスク管理テーブル２６０の記憶内容の一例を示す説明図である。図７において、タスク管理テーブル２６０は、タスクＩＤ、タスク名、ディスクリプション、タイプ、ｉｎ、ｏｕｔおよびメタタスクのフィールドを有する。各フィールドに情報を設定することで、タスク管理情報（例えば、タスク管理情報７００−１〜７００−１１）がレコードとして記憶される。
【００５３】
ここで、タスクＩＤは、タスクまたはメタタスクの処理を一意に識別する識別子である。タスク名は、タスクまたはメタタスクの処理の名称である。タスク名は、例えば、ユーザ名とリポジトリ名との組み合わせによって表現される。ディスクリプションは、タスクまたはメタタスクの処理の説明である。タイプは、タスクＩＤにより識別される処理が、タスクまたはメタタスクのいずれであるかを示す。タイプ「タスク」は、タスクであることを示す。タイプ「メタタスク」は、メタタスクであることを示す。
【００５４】
ｉｎは、タスクＩＤにより識別される処理に入力されるデータ形式を示す。ｏｕｔは、タスクＩＤにより識別される処理から出力されるデータ形式を示す。メタタスクは、タスクＩＤにより識別される処理に対応するメタタスクのタスクＩＤを示す。なお、タスクに対応するメタタスクが存在しない、あるいは、タスクＩＤにより識別される処理がメタタスクの場合、メタタスクフィールドには「ｎｕｌｌ」が設定される。
【００５５】
（タスクの具体例）
つぎに、図８を用いて、タスクの具体例について説明する。
【００５６】
図８は、タスクの具体例を示す説明図である。図８において、タスク８００は、タスクリポジトリ２５０に格納されるタスクの一例である。タスク８００には、ＣＳＶファイルのリストを受け取り、ＣＳＶファイルを返す関数が記述されている。ただし、ＣＳＶファイルを取り扱うための処理は隠蔽されているものとする。
【００５７】
具体的には、タスク８００には、区名をキーとして、各統計情報（出生、死亡、転入、転出の人数）を合計するための処理が記述されている。タスク８００は、例えば、タスクＩＤ「Ｔ５」のタスクに相当する。
【００５８】
（メタタスクの具体例）
つぎに、図９および図１０を用いて、メタタスクの具体例について説明する。
【００５９】
図９は、メタタスクの具体例を示す説明図（その１）である。図９において、メタタスク９００は、タスクリポジトリ２５０に格納されるメタタスクの一例である。メタタスク９００には、期間として最もふさわしそうなものを返す処理が記述されている。メタタスク９００は、例えば、図８に示したタスク８００（タスクＩＤ：Ｔ５）に対応する、タスクＩＤ「Ｔ８」のメタタスクに相当する。
【００６０】
図１０は、メタタスクの具体例を示す説明図（その２）である。図１０において、メタタスク１０００は、タスクリポジトリ２５０に格納されるメタタスクの一例である。メタタスク１０００には、県として最もふさわしそうなものを返す処理が記述されている。メタタスク１０００は、例えば、図８に示したタスク８００（タスクＩＤ：Ｔ５）に対応する、タスクＩＤ「Ｔ９」のメタタスクに相当する。
【００６１】
（情報処理装置１０１の機能的構成例）
つぎに、実施の形態１にかかる情報処理装置１０１の機能的構成例について説明する。
【００６２】
図１１は、情報処理装置１０１の機能的構成例を示すブロック図である。図１１において、情報処理装置１０１は、受付部１１０１と、管理部１１０２と、第１の実行制御部１１０３と、第２の実行制御部１１０４と、設定部１１０５と、表示制御部１１０６と、を含む。具体的には、例えば、受付部１１０１〜表示制御部１１０６は、図３に示したメモリ３０２、ディスク３０４、可搬型記録媒体３０７などの記憶装置に記憶されたプログラムをＣＰＵ３０１に実行させることにより、または、通信Ｉ／Ｆ３０５により、その機能を実現する。各機能部の処理結果は、例えば、メモリ３０２、ディスク３０４などの記憶装置に記憶される。
【００６３】
受付部１１０１は、タスクの登録依頼を受け付ける。ここで、タスクの登録依頼とは、情報処理システム２００へのタスクの登録を依頼するものである。タスクの登録依頼には、例えば、登録対象のタスク（例えば、図８に示したタスク８００）と、タスク名、ディスクリプション、タイプ、入出力データなどを示す情報とが含まれる。
【００６４】
タスクの登録依頼は、例えば、タスクの設計者が使用するクライアント装置２０１（図２参照）において行われる。この場合、受付部１１０１は、例えば、クライアント装置２０１からタスクの登録依頼を受信することにより、当該タスクの登録依頼を受け付ける。登録依頼されたタスクは、例えば、タスクリポジトリ２５０に格納される。
【００６５】
また、受付部１１０１は、メタタスクの登録依頼を受け付ける。ここで、メタタスクの登録依頼とは、情報処理システム２００へのメタタスクの登録を依頼するものである。メタタスクの登録依頼には、例えば、登録対象のメタタスク（例えば、図９、図１０に示したメタタスク９００，１０００）と、タスク名、ディスクリプション、タイプ、入出力データなどを示す情報とが含まれる。また、メタタスクの登録依頼には、メタタスクに対応するタスクを特定する情報、例えば、タスクＩＤ、タスク名、ディスクリプションなどが含まれる。
【００６６】
メタタスクの登録依頼は、例えば、メタタスクの設計者が使用するクライアント装置２０１において行われる。この場合、受付部１１０１は、例えば、クライアント装置２０１からメタタスクの登録依頼を受信することにより、当該メタタスクの登録依頼を受け付ける。登録依頼されたメタタスクは、例えば、タスクリポジトリ２５０に格納される。
【００６７】
管理部１１０２は、メタタスクを、タスクと対応付けて管理する。ここで、タスクは、データを加工したり、演算したりして、新しいデータを出力する処理である。メタタスクは、処理対象のデータに対してタスクを実行して得られる新たなデータについて、処理対象のデータに設定されたメタデータに基づき、新たなメタデータを作成する処理である。
【００６８】
具体的には、例えば、管理部１１０２は、タスクの登録依頼に応じて、当該タスクのタスク管理情報を、図７に示したタスク管理テーブル２６０に格納する。この際、タスクには、当該タスクを一意に識別するタスクＩＤが付与される。また、タスク管理情報の各フィールドに設定される情報は、例えば、タスクの登録依頼に含まれる情報から特定される。ただし、この時点では、メタタスクフィールドは「ｎｕｌｌ」である。
【００６９】
また、例えば、管理部１１０２は、メタタスクの登録依頼に応じて、当該メタタスクのタスク管理情報を、タスク管理テーブル２６０に格納する。この際、メタタスクには、当該メタタスクを一意に識別するタスクＩＤが付与される。また、タスク管理情報の各フィールドに設定される情報は、例えば、メタタスクの登録依頼に含まれる情報から特定される。ただし、メタタスクフィールドには「ｎｕｌｌ」が設定される。
【００７０】
また、管理部１１０２は、メタタスクの登録依頼に含まれるタスクを特定する情報を参照して、当該メタタスクに対応するタスクを特定する。そして、管理部１１０２は、特定したタスクのタスク管理情報のメタタスクフィールドに、当該メタタスクのタスクＩＤを設定する。これにより、タスクのタスクＩＤから、当該タスクに対応するメタタスクを特定可能に管理することができる。
【００７１】
また、受付部１１０１は、タスク実行依頼を受け付ける。ここで、タスク実行依頼とは、タスクの実行を依頼するものである。タスク実行依頼には、例えば、実行対象のタスクを特定する情報（例えば、タスクＩＤ、タスク名など）と、処理対象のデータを特定する情報（例えば、データＩＤ）が含まれる。
【００７２】
以下の説明では、実行対象のタスクを「タスクｔｋ」と表記する場合がある。また、タスクｔｋに対応するメタタスクを「メタタスクｍｔ」と表記する場合がある。
【００７３】
第１の実行制御部１１０３は、タスク実行依頼に応じて、タスクｔｋを実行する。具体的には、例えば、第１の実行制御部１１０３は、タスクリポジトリ２５０から、タスク実行依頼から特定される実行対象となるタスクｔｋを取得する。また、第１の実行制御部１１０３は、図６に示したデータ管理テーブル２４０を参照して、データレイク２２０（図２参照）から、タスク実行依頼から特定される処理対象のデータを取得する。そして、第１の実行制御部１１０３は、取得した１または複数のデータに対して、取得したタスクｔｋを実行する。なお、１または複数のデータに対してタスクｔｋを実行して得られた新たなデータは、例えば、データレイク２２０に格納される。
【００７４】
第２の実行制御部１１０４は、第１の実行制御部１１０３によって１または複数のデータに対してタスクｔｋを実行する際に、タスクｔｋに対応付けて管理されているメタタスクｍｔを実行して、１または複数のデータそれぞれに設定されたメタデータに基づき、新たなメタデータを作成する。
【００７５】
具体的には、例えば、第２の実行制御部１１０４は、１または複数のデータに対してタスクｔｋを実行して新たなデータが得られた場合に、タスクｔｋに対応するメタタスクｍｔを特定する。より詳細に説明すると、例えば、第２の実行制御部１１０４は、タスク管理テーブル２６０を参照して、タスクｔｋのタスク管理情報から、タスクｔｋに対応するメタタスクｍｔのタスクＩＤを特定する。
【００７６】
つぎに、第２の実行制御部１１０４は、タスクリポジトリ２５０から、特定したタスクＩＤから特定されるメタタスクｍｔを取得する。また、第２の実行制御部１１０４は、メタデータストア２３０（図２参照）から、タスクｔｋの処理対象である１または複数のデータそれぞれのメタデータを取得する。各データに対応するメタデータは、例えば、各データのデータＩＤから特定される。
【００７７】
すなわち、第２の実行制御部１１０４は、メタデータストア２３０から、処理対象のデータそれぞれのデータＩＤを含むメタデータを、当該データのメタデータとして取得する。そして、第２の実行制御部１１０４は、取得した１または複数のメタデータを入力として、取得したメタタスクｍｔを実行して得られるメタデータを、新たなメタデータとする。なお、新たなメタデータに含まれるａｕｔｈｏｒ（作成者）は、例えば、新たなデータのデータ管理情報（例えば、図６参照）をさらに参照して特定されることにしてもよい。また、新たなメタデータに含まれるｄｅｓｃｒｉｐｔｉｏｎは、例えば、メタタスクｍｔのタスク管理情報（例えば、図７参照）をさらに参照して特定されることにしてもよい。
【００７８】
また、タスクｔｋに対応付けて管理されているメタタスクｍｔが複数取得された場合には、第２の実行制御部１１０４は、例えば、複数のメタタスクｍｔそれぞれを実行する。この場合、複数のメタタスクｍｔそれぞれにより、１または複数のデータそれぞれに設定されたメタデータに基づき、新たなメタデータがそれぞれ作成される。例えば、タスクＩＤ「Ｔ５」のタスクｔｋには、タスクＩＤ「Ｔ８」のメタタスクｍｔと、タスクＩＤ「Ｔ９」のメタタスクｍｔとが対応付けて管理されている。この場合、第２の実行制御部１１０４は、例えば、タスクＩＤ「Ｔ８」のメタタスクｍｔと、タスクＩＤ「Ｔ９」のメタタスクｍｔとを実行する。
【００７９】
以下の説明では、タスクｔｋを実行して得られた新たなデータを「新データ」と表記する場合がある。また、メタタスクｍｔを実行して作成された新たなメタデータを「新メタデータ」と表記する場合がある。
【００８０】
設定部１１０５は、第２の実行制御部１１０４によって作成された新メタデータを、第１の実行制御部１１０３によって１または複数のデータに対してタスクｔｋを実行して得られた新データに設定する。具体的には、例えば、設定部１１０５は、作成された新メタデータが１つの場合、新データのデータＩＤを、新メタデータに設定する。より詳細に説明すると、例えば、設定部１１０５は、新メタデータのｆｉｌｅ＿ｉｄ（図５参照）に、新データのデータＩＤを設定する。そして、設定部１１０５は、新メタデータを、メタデータストア２３０に格納する。
【００８１】
一方、第２の実行制御部１１０４によって新メタデータが複数作成された場合には、新データに対応するメタデータを一意に決定することができない。この場合、設定部１１０５は、例えば、複数作成された新メタデータそれぞれをメタデータ候補として、新データに設定することにしてもよい。
【００８２】
具体的には、例えば、設定部１１０５は、複数作成された新メタデータそれぞれに、新データのデータＩＤを設定するとともに候補フラグを設定する。候補フラグは、メタデータ候補であることを示す情報である。そして、設定部１１０５は、新メタデータを、メタデータストア２３０に格納する。
【００８３】
これにより、新データについてのメタデータ候補であることを特定可能な状態で、新メタデータをメタデータストア２３０に格納することができる。
【００８４】
表示制御部１１０６は、設定部１１０５によって新データに設定された複数のメタデータ候補を選択可能に表示する。具体的には、例えば、表示制御部１１０６は、新データに設定された複数のメタデータ候補の中から、新データのメタデータを選択する操作画面を、クライアント装置２０１に表示することにしてもよい。
【００８５】
なお、複数のメタデータ候補の中から、新データのメタデータを選択する操作画面の画面例については、図１４および図１５を用いて後述する。
【００８６】
設定部１１０５は、複数のメタデータ候補の中からいずれかのメタデータ候補が選択されたことに応じて、選択されたメタデータ候補をメタデータとして、新データに設定する。具体的には、例えば、設定部１１０５は、複数のメタデータ候補のうち選択されたメタデータ候補以外のメタデータ候補を、メタデータストア２３０から削除する。また、設定部１１０５は、メタデータストア２３０内の選択されたメタデータ候補に設定されている候補フラグを削除する。
【００８７】
これにより、複数のメタデータ候補の中からユーザにより選択されたメタデータ候補を、新メタデータとして新データに紐付けることができる。
【００８８】
なお、情報処理装置１０１の各機能部は、情報処理システム２００内の複数のコンピュータ（例えば、情報処理装置１０１とクライアント装置２０１）により実現されることにしてもよい。例えば、情報処理装置１０１により管理部１１０２を実現し、クライアント装置２０１により管理部１１０２以外の機能部を実現することにしてもよい。この場合、クライアント装置２０１は、例えば、情報処理装置１０１にアクセスして、タスクｔｋやメタタスクｍｔを登録したり、取得したりする。
【００８９】
（情報処理装置１０１の動作例）
つぎに、図１２を用いて、実施の形態１にかかる情報処理装置１０１の動作例について説明する。
【００９０】
図１２は、実施の形態１にかかる情報処理装置１０１の動作例を示す説明図である。ここでは、受付部１１０１が、タスクｔｋ１の実行を依頼するタスク実行依頼を受け付けた場合を想定する。また、処理対象のデータを「データ１〜ｎ（ｎ：２以上の自然数）」とする。
【００９１】
この場合、第１の実行制御部１１０３は、処理対象となるデータ１〜ｎに対して、タスクｔｋ１を実行する。ここでは、データ１〜ｎに対してタスクｔｋ１を実行した結果、新データ１２０１が生成された場合を想定する。新データ１２０１は、例えば、データレイク２２０に格納される。
【００９２】
第２の実行制御部１１０４は、データ１〜ｎに対してタスクｔｋ１を実行して新データ１２０１が得られた場合に、タスクリポジトリ２５０から、タスクｔｋ１に対応するメタタスクｍｔ１を取得する。また、第２の実行制御部１１０４は、メタデータストア２３０から、処理対象のデータ１〜ｎそれぞれに設定されたメタデータ１〜ｎを取得して、入力メタデータリスト１２１０に記録する。
【００９３】
そして、第２の実行制御部１１０４は、入力メタデータリスト１２１０を入力として、取得したメタタスクｍｔ１を実行する。ここでは、入力メタデータリスト１２１０を入力としてメタタスクｍｔ１を実行した結果、メタデータ１〜ｎに基づき、新メタデータ１２０２が作成された場合を想定する。
【００９４】
この場合、設定部１１０５は、作成された新メタデータ１２０２を、タスクｔｋ１を実行して得られた新データ１２０１に設定する。例えば、設定部１１０５は、新データ１２０１のデータＩＤを、新メタデータ１２０２に設定して、新メタデータ１２０２を、メタデータストア２３０に格納する。
【００９５】
これにより、データ１〜ｎに対してタスクｔｋ１を実行して得られた新データ１２０１に、データ１〜ｎにそれぞれ設定されているメタデータ１〜ｎを入力としてメタタスクｍｔ１を実行して得られた新メタデータ１２０２を設定することができる。
【００９６】
ここで、図１３を用いて、メタタスクｍｔ１の利用例について説明する。
【００９７】
図１３は、メタタスクｍｔ１の利用例を示す説明図である。ここでは、タスクｔｋ１を、２０１８年度の各月の出生率データ（例えば、データ１３０１，１３０２）を集約して、２０１８年度の合計を取得する処理とする。また、各出生率データには、年月を示すメタデータ（例えば、メタデータ１３１１，１３１２）が設定されている。また、メタタスクｍｔ１を、期間として最もふさわしいものを出力する処理とする。
【００９８】
この場合、第１の実行制御部１１０３（データ処理機構）は、２０１８年度の各月の出生率データに対して、タスクｔｋ１を実行する。ここでは、タスクｔｋ１を実行した結果、データ１３０３が生成されている。データ１３０３は、２０１８年度の各月の出生率の合計を示す情報である。
【００９９】
また、第２の実行制御部１１０４（メタ処理機構）は、データ１３０３が得られた場合、各出生データにそれぞれ設定されているメタデータ（例えば、メタデータ１３１１，１３１２）を入力として、タスクｔｋ１に対応するメタタスクｍｔ１を実行する。ここでは、メタタスクｍｔ１を実行した結果、メタデータ１３１３が生成されている。
【０１００】
メタデータ１３１３は、２０１８年度の各月の出生率データそれぞれに設定されているメタデータ（例えば、メタデータ１３１１，１３１２）から判断された、期間として最もふさわしい「２０１８年度」を示す情報である。
【０１０１】
なお、タスクｔｋの他の具体例としては、都道府県の各市区町村の人口動態のデータを結合する処理が挙げられる。この場合、タスクｔｋに対応するメタタスクｍｔとしては、各市区町村の上位の概念をタグとして出力する処理が挙げられる。例えば、神奈川県の各市（川崎市、横浜市など）の人口動態のデータをタスクｔｋに与えた場合、「神奈川県」を示すメタデータが作成される。また、兵庫県の各市（神戸市、尼崎市など）の人口動態のデータをタスクｔｋに与えた場合、「兵庫県」を示すメタデータが作成される。すなわち、同一メタタスクであっても、入力として与えるデータセットが異なれば、出力もそれに応じたものとなる。
【０１０２】
（新データのメタデータを選択する操作画面の画面例）
図１４および図１５を用いて、複数のメタデータ候補の中から、新データのメタデータを選択する操作画面の画面例について説明する。新データのメタデータを選択する操作画面は、例えば、クライアント装置２０１に表示される。
【０１０３】
図１４は、新データのメタデータを選択する操作画面の画面例を示す説明図（その１）である。図１４において、メタデータ候補リスト画面１４００は、複数のメタデータ候補の中から、データに設定するメタデータを選択するための操作画面の一例である。
【０１０４】
メタデータ候補リスト画面１４００には、アイコン１４０１〜１４０６が表示されている。アイコン１４０１は、タスクｔｋを表す。アイコン１４０２〜１４０５は、タスクｔｋに入力された処理対象のデータを表す。アイコン１４０６は、タスクｔｋを実行して得られたデータを表す。
【０１０５】
メタデータ候補リスト画面１４００において、クライアント装置２０１の入力装置（不図示）を用いたユーザの操作入力により、データを表すいずれかのアイコンを選択すると、メタデータ候補リストが表示される。メタデータ候補リストは、選択されたアイコンが表すデータに設定された複数のメタデータ候補をリスト化したものである。複数のメタデータ候補は、グループ化して表示される。
【０１０６】
例えば、アイコン１４０２を選択すると、メタデータ候補リスト１４１０が表示される。メタデータ候補リスト１４１０は、アイコン１４０２が表すデータに設定された複数のメタデータ候補（例えば、東京、神奈川、茨城、埼玉）をリスト化したものである。なお、アイコン１４０２が表すデータに設定されたメタデータ候補は、メタデータストア２３０に格納された、アイコン１４０２が表すデータのデータＩＤが設定され、かつ、候補フラグが設定されたメタデータである。
【０１０７】
メタデータ候補リスト１４１０において、ユーザの操作入力により、いずれかのメタデータ候補を選択すると、選択されたメタデータ候補がメタデータとして、アイコン１４０２が表すデータに設定される。例えば、メタデータ候補「東京」が選択されると、アイコン１４０２が表すデータに対して、メタデータ候補「東京」がメタデータとして設定される。
【０１０８】
これにより、ユーザは、メタタスクｍｔを実行して得られた複数のメタデータ候補の中から、アイコン１４０２が表すデータ（１月．ｃｓｖ）に対してメタデータとして設定するメタデータ候補を選択することができる。
【０１０９】
なお、メタデータ候補リスト画面１４００において、例えば、アイコン１４０２をダブルクリックすることで、アイコン１４０２が表すデータ（１月．ｃｓｖ）をポップアップ表示することにしてもよい。これにより、ユーザは、データ（１月．ｃｓｖ）の中身を確認しながら、メタデータとして設定するメタデータ候補を選択することができる。
【０１１０】
また、図１４の例では、別の方法（例えば、手動）で、アイコン１４０２が表すデータに対して既に設定されているタグ「人口動態」も表示されている。タグは、メタデータに相当する。これにより、ユーザは、既に設定されているタグを把握した上で、メタデータとして設定するメタデータ候補を選択することができる。
【０１１１】
図１５は、新データのメタデータを選択する操作画面の画面例を示す説明図（その２）である。図１５において、データ一覧画面１５００は、複数のメタデータ候補の中から、データに設定するメタデータを選択するための操作画面の一例である。
【０１１２】
データ一覧画面１５００には、データ一覧１５１０が表示されている。データ一覧１５１０は、データレイク２２０に格納されているデータをリスト化したものである。データ一覧画面１５００において、ユーザの操作入力により、いずれかのデータを選択すると、メタデータ候補リストが表示される。メタデータ候補リストは、選択されたデータに設定された複数のメタデータ候補をリスト化したものである。
【０１１３】
例えば、データ１５１１を選択すると、メタデータ候補リスト１５２０が表示される。メタデータ候補リスト１５２０は、データ１５１１に設定された複数のメタデータ候補をリスト化したものである。
【０１１４】
メタデータ候補リスト１５２０において、ユーザの操作入力により、いずれかのメタデータ候補を選択すると、選択されたメタデータ候補がメタデータとして、データ１５１１に設定される。例えば、メタデータ候補「神奈川」が選択されると、データ１５１１に対して、メタデータ候補「神奈川」がメタデータとして設定される。
【０１１５】
これにより、ユーザは、メタタスクｍｔを実行して得られた複数のメタデータ候補の中から、データ１５１１（１月．ｃｓｖ）に対してメタデータとして設定するメタデータ候補を選択することができる。
【０１１６】
（情報処理装置１０１の情報処理手順）
つぎに、図１６を用いて、実施の形態１にかかる情報処理装置１０１の情報処理手順について説明する。ここでは、処理対象となる１または複数のデータに対してタスクｔｋを実行して新データが得られた場合を想定する。
【０１１７】
図１６は、実施の形態１にかかる情報処理装置１０１の情報処理手順の一例を示すフローチャートである。図１６のフローチャートにおいて、まず、情報処理装置１０１は、タスクｔｋの入力となる処理対象のデータのうち選択されていない未選択のデータを選択する（ステップＳ１６０１）。
【０１１８】
つぎに、情報処理装置１０１は、メタデータストア２３０から、選択したデータに対応するメタデータを取得する（ステップＳ１６０２）。そして、情報処理装置１０１は、取得したメタデータを入力メタデータリストに記録する（ステップＳ１６０３）。つぎに、情報処理装置１０１は、処理対象のデータのうち選択されていない未選択のデータがあるか否かを判断する（ステップＳ１６０４）。
【０１１９】
ここで、未選択のデータがある場合（ステップＳ１６０４：Ｙｅｓ）、情報処理装置１０１は、ステップＳ１６０１に戻る。一方、未選択のデータがない場合（ステップＳ１６０４：Ｎｏ）、情報処理装置１０１は、タスク管理テーブル２６０を参照して、タスクリポジトリ２５０から、タスクｔｋに対応付けて管理されているメタタスクｍｔを取得する（ステップＳ１６０５）。
【０１２０】
つぎに、情報処理装置１０１は、入力メタデータリストを入力として、取得したメタタスクｍｔを実行する（ステップＳ１６０６）。そして、情報処理装置１０１は、入力メタデータリストを入力としてメタタスクｍｔを実行して出力されたメタデータを出力メタデータリストに記録する（ステップＳ１６０７）。
【０１２１】
つぎに、情報処理装置１０１は、出力メタデータリストの要素数が１つか否かを判断する（ステップＳ１６０８）。ここで、要素数が１つの場合（ステップＳ１６０８：Ｙｅｓ）、情報処理装置１０１は、タスクｔｋを実行して得られた新データに、出力メタデータリストに記録したメタデータを設定して（ステップＳ１６０９）、本フローチャートによる一連の処理を終了する。
【０１２２】
一方、要素数が複数の場合（ステップＳ１６０８：Ｎｏ）、情報処理装置１０１は、タスクｔｋを実行して得られた新データに、出力メタデータリストに記録した複数のメタデータをメタデータ候補として設定する（ステップＳ１６１０）。そして、情報処理装置１０１は、本フローチャートによる一連の処理を終了する。
【０１２３】
これにより、タスクｔｋを実行して得られた新データに対して、タスクｔｋの入力となるデータに設定されているメタデータに基づきメタタスクｍｔを実行して得られた新メタデータを設定することができる。また、メタタスクｍｔを実行して複数のメタデータが得られた場合には、当該複数のメタデータをメタデータ候補として新データに設定して、後ほどユーザが選択可能な状態にすることができる。
【０１２４】
以上説明したように、実施の形態１にかかる情報処理装置１０１によれば、処理対象のデータに対してタスクｔｋを実行して得られる新データについて、処理対象のデータに設定されたメタデータに基づき、新メタデータを作成するメタタスクｍｔを、タスクｔｋと対応付けて管理することができる。
【０１２５】
これにより、メタデータが設定されたデータに対してタスクｔｋを実行する際に、当該データに対してタスクｔｋを実行して得られる新データのメタデータを自動で作成する機能を提供することができる。
【０１２６】
また、情報処理装置１０１によれば、１または複数のデータに対してタスクｔｋを実行する際に、タスクｔｋに対応付けて管理されているメタタスクｍｔを実行して、当該１または複数のデータそれぞれに設定されたメタデータに基づき、新メタデータを作成することができる。そして、情報処理装置１０１によれば、作成した新メタデータを、当該１または複数のデータに対してタスクｔｋを実行して得られた新データに設定することができる。
【０１２７】
これにより、タスクｔｋを実行して得られる新データに対して、適切なメタデータを自動で設定することができる。例えば、メタタスクｍｔは、タスクｔｋの設計者により設計される。タスクｔｋの設計者は、タスクｔｋがどのような処理を行うかを把握しており、どのような情報をメタデータとして作成すれば、データ利活用につなげることができるのかを判断することができる。タスクｔｋの設計者のように、タスクｔｋの処理内容を把握した者がメタタスクｍｔを設計することで、データ利活用につながる適切なメタデータを自動作成することが可能となる。
【０１２８】
また、情報処理装置１０１によれば、新メタデータが複数作成された場合、複数作成された新メタデータそれぞれをメタデータ候補として、新データに設定することができる。
【０１２９】
これにより、メタタスクｍｔを実行して得られた新メタデータが複数存在する場合には、当該複数の新メタデータをメタデータ候補として新データに設定することができ、後ほどユーザがメタデータ候補の中から適切なメタデータを選択可能にすることができる。
【０１３０】
また、情報処理装置１０１によれば、新データに設定された複数のメタデータ候補を選択可能に表示し、複数のメタデータ候補の中からいずれかのメタデータ候補が選択されたことに応じて、選択されたメタデータ候補をメタデータとして、新データに設定することができる。
【０１３１】
これにより、複数のメタデータ候補の中からユーザにより選択されたメタデータ候補を、新メタデータとして新データに紐付けることができる。
【０１３２】
これらのことから、実施の形態１にかかる情報処理装置１０１および情報処理システム２００によれば、ユーザの意図通りのメタデータを、データ加工と同期的に新しいデータに設定することが可能となり、タスク実行にかかるデータに対する管理を容易にして、データの利活用を促進することができる。
【０１３３】
（実施の形態２）
つぎに、実施の形態２にかかる情報処理装置１０１について説明する。実施の形態２では、タスクｔｋの出力側のデータに設定されたメタデータから、タスクｔｋの入力側のデータにメタデータを設定する情報処理装置１０１について説明する。
【０１３４】
なお、実施の形態１で説明した箇所と同様の箇所については、同一符合を付して図示および説明を省略する。また、実施の形態２にかかる情報処理装置１０１は、実施の形態１にかかる情報処理装置１０１が有する全ての機能を有することにしてもよく、一部の機能を有しないことにしてもよい。
【０１３５】
（情報処理装置１０１の機能的構成例）
まず、実施の形態２にかかる情報処理装置１０１の機能的構成例について説明する。ただし、実施の形態２にかかる情報処理装置１０１の機能的構成例は、図１１に示した実施の形態１にかかる情報処理装置１０１の機能的構成例と同様のため、図示を省略する。以下、実施の形態１にかかる情報処理装置１０１と異なる機能を有する機能部について説明する。
【０１３６】
管理部１１０２は、第２のメタタスクを、タスクと対応付けて管理する。ここで、第２のメタタスクは、処理対象のデータに対してタスクを実行して得られる新たなデータに設定されたメタデータに基づき、処理対象のデータについて新たなメタデータを作成する処理である。
【０１３７】
具体的には、例えば、管理部１１０２は、メタタスクの登録依頼に応じて、当該メタタスクのタスク管理情報を、タスク管理テーブル２６０に格納する。また、管理部１１０２は、メタタスクの登録依頼に含まれるタスクを特定する情報を参照して、当該メタタスクに対応するタスクを特定する。そして、管理部１１０２は、特定したタスクのタスク管理情報のメタタスクフィールドに、当該メタタスクのタスクＩＤを設定する。これにより、タスクのタスクＩＤから、当該タスクに対応するメタタスクを特定可能に管理することができる。
【０１３８】
第２の実行制御部１１０４は、第１の実行制御部１１０３によって１または複数のデータに対してタスクｔｋを実行して新データが得られた場合に、タスクｔｋに対応付けて管理されている第２のメタタスクを実行して、新データに設定されたメタデータに基づき、新たなメタデータを作成する。
【０１３９】
具体的には、例えば、第２の実行制御部１１０４は、タスク管理テーブル２６０を参照して、タスクｔｋのタスク管理情報から、タスクｔｋに対応する第２のメタタスクのタスクＩＤを特定する。つぎに、第２の実行制御部１１０４は、タスクリポジトリ２５０から、特定したタスクＩＤから特定される第２のメタタスクを取得する。
【０１４０】
また、第２の実行制御部１１０４は、メタデータストア２３０から、タスクｔｋを実行して得られた新データに設定されているメタデータを取得する。タスクｔｋを実行して得られた新データには、例えば、人手によりメタデータが設定されている。そして、第２の実行制御部１１０４は、取得したメタデータを入力として、取得した第２のメタタスクを実行して得られるメタデータを、新メタデータとする。
【０１４１】
設定部１１０５は、第２の実行制御部１１０４によって作成された新メタデータを、タスクｔｋの処理対象である１または複数のデータに設定する。具体的には、例えば、設定部１１０５は、処理対象のデータが、１つのデータの場合、当該データのデータＩＤを、新メタデータに設定する。そして、設定部１１０５は、新メタデータを、メタデータストア２３０に格納する。
【０１４２】
一方、処理対象のデータが、複数のデータである場合がある。この場合、設定部１１０５は、例えば、作成された新メタデータが１つであれば、複数のデータそれぞれに、作成された新メタデータをそれぞれ設定することにしてもよい。すなわち、処理対象である複数のデータそれぞれに対して、同じ内容（同じタグ）のメタデータを設定する。
【０１４３】
また、処理対象のデータが、複数のデータである場合に、複数の異なる新メタデータが作成されることがある。この場合、複数の異なるメタデータのうちのどの新メタデータが、処理対象である複数のデータのうちのどのデータに対応しているのかを一意に決定することができない。
【０１４４】
そこで、設定部１１０５は、例えば、作成された複数の新メタデータそれぞれをメタデータ候補として、複数のデータに対して設定することにしてもよい。すなわち、設定部１１０５は、タスクｔｋを複数のデータに対して実行して新データが得られ、かつ、新メタデータが複数作成された場合、複数作成された新メタデータそれぞれをメタデータ候補として、処理対象である複数のデータに対して設定する。
【０１４５】
具体的には、例えば、設定部１１０５は、複数作成された新メタデータそれぞれに、処理対象である複数のデータそれぞれのデータＩＤを設定するとともに候補フラグを設定する。候補フラグは、メタデータ候補であることを示す情報である。そして、設定部１１０５は、新メタデータを、メタデータストア２３０に格納する。
【０１４６】
これにより、処理対象である複数のデータについてのメタデータ候補であることを特定可能な状態で、新メタデータをメタデータストア２３０に格納することができる。
【０１４７】
表示制御部１１０６は、設定部１１０５によって複数のデータに対して設定された複数のメタデータ候補を選択可能に表示する。具体的には、例えば、表示制御部１１０６は、複数のデータに設定された複数のメタデータ候補の中から、複数のデータの各データのメタデータを選択する操作画面を、クライアント装置２０１に表示することにしてもよい。
【０１４８】
設定部１１０５は、複数のデータの各データについて、複数のメタデータ候補の中からいずれかのメタデータ候補が選択されたことに応じて、選択されたメタデータ候補をメタデータとして設定する。具体的には、例えば、設定部１１０５は、各データについて選択されたメタデータ候補に設定されている当該各データ以外の他のデータのデータＩＤおよび候補フラグを削除する。
【０１４９】
これにより、複数のメタデータ候補の中からユーザにより選択されたメタデータ候補を、新メタデータとして各データに紐付けることができる。
【０１５０】
（情報処理装置１０１の動作例）
つぎに、図１７を用いて、実施の形態２にかかる情報処理装置１０１の動作例について説明する。
【０１５１】
図１７は、実施の形態２にかかる情報処理装置１０１の動作例を示す説明図である。ここでは、受付部１１０１が、タスクｔｋ２の実行を依頼するタスク実行依頼を受け付けた場合を想定する。また、処理対象のデータを「データ１〜ｎ（ｎ：２以上の自然数）」とする。
【０１５２】
この場合、第１の実行制御部１１０３は、処理対象となるデータ１〜ｎに対して、タスクｔｋ２を実行する。ここでは、データ１〜ｎに対してタスクｔｋ２を実行した結果、データＸが生成された場合を想定する。データＸは、データレイク２２０に格納される。また、データＸに、人手によりメタデータＸが設定された場合を想定する。
【０１５３】
第２の実行制御部１１０４は、データ１〜ｎに対してタスクｔｋ２を実行してデータＸが得られた場合に、タスクリポジトリ２５０から、タスクｔｋ２に対応するメタタスクｍｔ２（第２のメタタスク）を取得する。また、第２の実行制御部１１０４は、メタデータストア２３０から、データＸに設定されているメタデータＸを取得する。
【０１５４】
そして、第２の実行制御部１１０４は、メタデータＸを入力として、取得したメタタスクｍｔ２を実行する。ここでは、メタデータＸを入力としてメタタスクｍｔ２を実行した結果、メタデータＸに基づき、メタデータ１〜ｎが作成された場合を想定する。
【０１５５】
この場合、設定部１１０５は、作成されたメタデータ１〜ｎを、タスクｔｋ２の処理対象であるデータ１〜ｎに対して設定する。具体的には、例えば、設定部１１０５は、メタデータ１〜ｎをメタデータ候補として、データ１〜ｎに対して設定する。
【０１５６】
これにより、データ１〜ｎについてのメタデータ候補であることを特定可能な状態で、メタデータ１〜ｎをメタデータストア２３０に格納して、後ほどユーザが選択可能な状態にすることができる。
【０１５７】
ここで、図１８を用いて、メタタスクｍｔ２（第２のメタタスク）の利用例について説明する。
【０１５８】
図１８は、メタタスクｍｔ２の利用例を示す説明図である。ここでは、データ１〜ｎに対してタスクｔｋ２を実行した結果、データＸが得られた場合を想定する。また、データＸに、メタデータ１８０１が設定された場合を想定する。メタデータ１８０１は、関東を示す。また、メタタスクｍｔ２を、出力側のメタデータから、下記のようなＳＰＡＲＱＬで、下位の概念を探す処理とする。
【０１５９】
『ｓｅｌｅｃｔ  ？ｏ  ｗｈｅｒｅ
｛関東  ＜ｒｄｆｓ：ｓｕｂＰｒｏｐｅｒｔｙｏｆ＞  ？ｏ｝』
【０１６０】
第２の実行制御部１１０４は、データＸが得られた場合、データＸに設定されているメタデータ：関東を入力として、メタタスクｍｔ２を実行する。ここでは、メタタスクｍｔ２を実行した結果、複数のメタデータ（例えば、東京、神奈川、・・・）が作成された場合を想定する。この場合、設定部１１０５は、作成された複数のメタデータをメタデータ候補（例えば、メタデータ候補１８１０，１８２０）として、タスクｔｋ２の処理対象であるデータ１〜ｎに対して設定する。
【０１６１】
これにより、データ１〜ｎについてのメタデータ候補であることを特定可能な状態で、複数のメタデータ（例えば、東京、神奈川、・・・）をメタデータストア２３０に格納して、後ほどユーザが選択可能な状態にすることができる。
【０１６２】
（情報処理装置１０１の情報処理手順）
つぎに、図１９を用いて、実施の形態２にかかる情報処理装置１０１の情報処理手順について説明する。ここでは、処理対象となる１または複数のデータに対してタスクｔｋを実行して新データが得られた場合を想定する。
【０１６３】
図１９は、実施の形態２にかかる情報処理装置１０１の情報処理手順の一例を示すフローチャートである。図１９のフローチャートにおいて、まず、情報処理装置１０１は、メタデータストア２３０から、タスクｔｋを実行して得られた新データに設定されているメタデータを取得する（ステップＳ１９０１）。
【０１６４】
つぎに、情報処理装置１０１は、取得したメタデータを出力メタデータに記録する（ステップＳ１９０２）。そして、情報処理装置１０１は、タスク管理テーブル２６０を参照して、タスクリポジトリ２５０から、タスクｔｋに対応付けて管理されている第２のメタタスクを取得する（ステップＳ１９０３）。
【０１６５】
つぎに、情報処理装置１０１は、出力メタデータを入力として、取得した第２のメタタスクを実行する（ステップＳ１９０４）。そして、情報処理装置１０１は、出力メタデータを入力として第２のメタタスクを実行して出力されたメタデータを入力メタデータリストに記録する（ステップＳ１９０５）。
【０１６６】
つぎに、情報処理装置１０１は、タスクｔｋの入力となった処理対象のデータのうち選択されていない未選択のデータを選択する（ステップＳ１９０６）。そして、情報処理装置１０１は、入力メタデータリストの要素数が１つか否かを判断する（ステップＳ１９０７）。
【０１６７】
ここで、要素数が１つの場合（ステップＳ１９０７：Ｙｅｓ）、情報処理装置１０１は、選択したデータに、入力メタデータリストに記録したメタデータを設定して（ステップＳ１９０８）、ステップＳ１９１０に移行する。一方、要素数が複数の場合（ステップＳ１９０７：Ｎｏ）、情報処理装置１０１は、選択したデータに、入力メタデータリストに記録した複数のメタデータをメタデータ候補として設定する（ステップＳ１９０９）。
【０１６８】
そして、情報処理装置１０１は、処理対象のデータのうち選択されていない未選択のデータがあるか否かを判断する（ステップＳ１９１０）。ここで、未選択のデータがある場合（ステップＳ１９１０：Ｙｅｓ）、情報処理装置１０１は、ステップＳ１９０６に戻る。一方、未選択のデータがない場合（ステップＳ１９１０：Ｎｏ）、情報処理装置１０１は、本フローチャートによる一連の処理を終了する。
【０１６９】
これにより、タスクｔｋの入力となったデータに対して、タスクｔｋを実行して得られた新データに設定されているメタデータに基づき第２のメタタスクを実行して得られた新メタデータを設定することができる。また、第２のメタタスクを実行して複数のメタデータが得られた場合には、当該複数のメタデータをメタデータ候補として、タスクｔｋの入力となった各データに設定して、後ほどユーザが選択可能な状態にすることができる。
【０１７０】
以上説明したように、実施の形態２にかかる情報処理装置１０１によれば、タスクｔｋを実行して得られた新データ（出力側のデータ）に設定されたメタデータから、処理対象のデータ（入力側のデータ）に適切なメタデータを自動で設定することができる。これにより、ユーザの意図通りのメタデータを、データ加工と同期的にデータに設定することが可能となり、データの利活用を促進することができる。
【０１７１】
（実施の形態３）
つぎに、実施の形態３にかかる情報処理装置１０１について説明する。実施の形態３では、タスク（データ処理機構）とメタタスク（メタ処理機構）とが連携して新メタデータを作成する場合について説明する。
【０１７２】
なお、実施の形態１，２で説明した箇所と同様の箇所については、同一符合を付して図示および説明を省略する。また、実施の形態３にかかる情報処理装置１０１は、実施の形態１，２にかかる情報処理装置１０１が有する全ての機能を有することにしてもよく、一部の機能を有しないことにしてもよい。
【０１７３】
（情報処理装置１０１の機能的構成例）
まず、実施の形態３にかかる情報処理装置１０１の機能的構成例について説明する。ただし、実施の形態３にかかる情報処理装置１０１の機能的構成例は、図１１に示した実施の形態１にかかる情報処理装置１０１の機能的構成例と同様のため、図示を省略する。以下、実施の形態１にかかる情報処理装置１０１と異なる機能を有する機能部について説明する。
【０１７４】
管理部１１０２は、第３のメタタスクを、タスクｔｋ’と対応付けて管理する。ここで、タスクｔｋ’は、処理対象のデータを処理して得られる新データのメタデータに利用可能な情報を、タスクｔｋ’の実行中に出力する機能を有するタスクである。メタデータに利用可能な情報は、例えば、メタデータの候補であってもよく、また、加工や演算をしてメタデータを作成するための情報であってもよい。また、第３のメタタスクは、処理対象のデータに対してタスクｔｋ’を実行して得られる新データについて、タスクｔｋ’から出力される情報に基づき、新メタデータを作成する処理である。
【０１７５】
第１の実行制御部１１０３は、タスク実行依頼に応じて、タスクｔｋ’を実行する。具体的には、例えば、第１の実行制御部１１０３は、タスクリポジトリ２５０から、タスク実行依頼から特定される実行対象となるタスクｔｋ’を取得する。また、第１の実行制御部１１０３は、データ管理テーブル２４０を参照して、データレイク２２０から、タスク実行依頼から特定される処理対象のデータを取得する。そして、第１の実行制御部１１０３は、取得した１または複数のデータに対して、取得したタスクｔｋ’を実行する。
【０１７６】
第２の実行制御部１１０４は、第１の実行制御部１１０３によって１または複数のデータに対してタスクｔｋ’が実行されたことに応じて、タスクｔｋ’に対応付けて管理されている第３のメタタスクを実行して、タスクｔｋ’を実行中にタスクｔｋ’から出力される情報に基づき、新たなメタデータを作成する。
【０１７７】
具体的には、例えば、第２の実行制御部１１０４は、タスク管理テーブル２６０を参照して、タスクｔｋ’のタスク管理情報から、タスクｔｋ’に対応する第３のメタタスクのタスクＩＤを特定する。つぎに、第２の実行制御部１１０４は、タスクリポジトリ２５０から、特定したタスクＩＤから特定される第３のメタタスクを取得する。
【０１７８】
そして、第２の実行制御部１１０４は、タスクｔｋ’から出力される情報を入力として、取得した第３のメタタスクを実行して、新メタデータを作成する。設定部１１０５は、第２の実行制御部１１０４によって作成された新メタデータを、第１の実行制御部１１０３によって１または複数のデータに対してタスクｔｋを実行して得られた新データに設定する。
【０１７９】
（情報処理装置１０１の動作例）
つぎに、図２０を用いて、実施の形態３にかかる情報処理装置１０１の動作例について説明する。
【０１８０】
図２０は、実施の形態３にかかる情報処理装置１０１の動作例を示す説明図である。ここでは、受付部１１０１が、タスクｔｋ３の実行を依頼するタスク実行依頼を受け付けた場合を想定する。タスクｔｋ３は、処理対象のデータを処理して得られる新データのメタデータに利用可能な情報を出力する機能を有するタスクである。また、処理対象のデータを「データ１〜ｎ（ｎ：２以上の自然数）」とする。
【０１８１】
この場合、第１の実行制御部１１０３は、処理対象となるデータ１〜ｎに対して、タスクｔｋ３の実行を開始する。また、第２の実行制御部１１０４は、第１の実行制御部１１０３によってデータ１〜ｎに対するタスクｔｋ３の実行が開始されたことに応じて、タスクｔｋ３に対応付けて管理されているメタタスクｍｔ３の実行を開始する。メタタスクｍｔ３は、処理対象のデータに対してタスクｔｋ３を実行して得られる新データについて、タスクｔｋ３から出力される情報に基づき、新メタデータを作成する処理である。
【０１８２】
タスクｔｋ３は、例えば、川崎市高津区内の保育所の住所を座標（緯度、経度）に変換する処理である。この場合、タスクｔｋ３から出力されるメタデータに利用可能な情報は、例えば、変換後の座標である。メタタスクｍｔ３は、例えば、変換後の座標の重心を求め、各県／市区町村等の重心から近いものを探し、変換後の座標が最も多く含まれる区や市などを示すメタデータを作成する処理である。また、タスクｔｋ３に対応する他のメタタスクとしては、例えば、変換後の座標から、位置情報であることを示すメタデータを作成する処理が挙げられる。
【０１８３】
ここでは、データ１〜ｎに対してタスクｔｋ３を実行した結果、新データ２００１が生成された場合を想定する。新データ２００１は、データレイク２２０に格納される。また、タスクｔｋ３から出力される情報に基づき、新メタデータ２００２が作成された場合を想定する。新メタデータ２００２は、例えば、タスクｔｋ３から出力される変換後の座標が最も多く含まれる「川崎市」を示す情報である。
【０１８４】
この場合、設定部１１０５は、作成された新メタデータ２００２を、タスクｔｋ３を実行して得られた新データ２００１に設定する。例えば、設定部１１０５は、新データ２００１のデータＩＤを、新メタデータ２００２に対応付けて、新メタデータ２００２を、メタデータストア２３０に格納する。
【０１８５】
これにより、データ１〜ｎに対してタスクｔｋ３を実行して得られた新データ２００１に、タスクｔｋ３から出力された情報（変換後の座標）を入力としてメタタスクｍｔ３を実行して得られた新メタデータ２００２を設定することができる。
【０１８６】
（情報処理装置１０１の情報処理手順）
つぎに、図２１および図２２を用いて、実施の形態３にかかる情報処理装置１０１の第１および第２の情報処理手順について説明する。
【０１８７】
図２１は、実施の形態３にかかる情報処理装置１０１の第１の情報処理手順の一例を示すフローチャートである。図２１のフローチャートにおいて、まず、情報処理装置１０１は、処理対象となる１または複数のデータに対するタスクｔｋ’の実行を開始する（ステップＳ２１０１）。
【０１８８】
そして、情報処理装置１０１は、処理対象となる１または複数のデータのうち未処理のデータを処理する（ステップＳ２１０２）。つぎに、情報処理装置１０１は、データを処理した結果に基づいて、タスクｔｋ’を実行して得られる新データのメタデータに利用可能な情報を出力データリストに記録する（ステップＳ２１０３）。
【０１８９】
そして、情報処理装置１０１は、処理対象となる１または複数のデータのうち未処理のデータがあるか否かを判断する（ステップＳ２１０４）。ここで、未処理のデータがある場合（ステップＳ２１０４：Ｙｅｓ）、情報処理装置１０１は、ステップＳ２１０２に戻る。一方、未処理のデータがない場合（ステップＳ２１０４：Ｎｏ）、情報処理装置１０１は、本フローチャートによる一連の処理を終了する。
【０１９０】
これにより、タスクｔｋ’の実行途中に、タスクｔｋ’を実行して得られる新データのメタデータに利用可能な情報を出力することができる。
【０１９１】
図２２は、実施の形態３にかかる情報処理装置１０１の第２の情報処理手順の一例を示すフローチャートである。図２２のフローチャートにおいて、まず、情報処理装置１０１は、タスクｔｋ’が実行されたことに応じて、タスク管理テーブル２６０を参照して、タスクリポジトリ２５０から、タスクｔｋ’に対応付けて管理されている第３のメタタスクを取得する（ステップＳ２２０１）。
【０１９２】
つぎに、情報処理装置１０１は、出力データリストを入力として、取得した第３のメタタスクを実行する（ステップＳ２２０２）。そして、情報処理装置１０１は、出力データリストを入力として第３のメタタスクを実行して出力されたメタデータを出力メタデータリストに記録する（ステップＳ２２０３）。
【０１９３】
つぎに、情報処理装置１０１は、出力メタデータリストの要素数が１つか否かを判断する（ステップＳ２２０４）。ここで、要素数が１つの場合（ステップＳ２２０４：Ｙｅｓ）、情報処理装置１０１は、タスクｔｋ’を実行して得られた新データに、出力メタデータリストに記録したメタデータを設定して（ステップＳ２２０５）、本フローチャートによる一連の処理を終了する。
【０１９４】
一方、要素数が複数の場合（ステップＳ２２０４：Ｎｏ）、情報処理装置１０１は、タスクｔｋ’を実行して得られた新データに、出力メタデータリストに記録した複数のメタデータをメタデータ候補として設定する（ステップＳ２２０６）。そして、情報処理装置１０１は、本フローチャートによる一連の処理を終了する。
【０１９５】
これにより、データ１〜ｎに対してタスクｔｋ’を実行して得られた新データに、タスクｔｋ’の実行中にタスクｔｋ’から出力された情報を入力として第３のメタタスクを実行して得られた新メタデータを設定することができる。また、第３のメタタスクを実行して複数のメタデータが得られた場合には、当該複数のメタデータをメタデータ候補として新データに設定して、後ほどユーザが選択可能な状態にすることができる。
【０１９６】
以上説明したように、実施の形態３にかかる情報処理装置１０１によれば、第３のメタタスク（メタ処理機構）がタスクｔｋ’（データ処理機構）と連携して、タスクｔｋ’（データ処理機構）から実行中に出力される情報をもとに、新しいデータに適切なメタデータを自動で設定することができる。これにより、ユーザの意図通りのメタデータを、データ加工と同期的に新しいデータに設定することが可能となり、データの利活用を促進することができる。
【０１９７】
なお、上述した各実施の形態は、矛盾のない範囲で組み合わせて実施することができる。また、本実施の形態で説明した情報処理方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本情報処理プログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＤＶＤ、ＵＳＢメモリ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、本情報処理プログラムは、インターネット等のネットワークを介して配布してもよい。
【０１９８】
また、本実施の形態で説明した情報処理装置１０１は、スタンダードセルやストラクチャードＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）などの特定用途向けＩＣやＦＰＧＡなどのＰＬＤ（Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｄｅｖｉｃｅ）によっても実現することができる。
【符号の説明】
【０１９９】
１０１  情報処理装置
１０２  設計者
１０３  ユーザ
１１１，１１２，１１３，１１４，４００  データ
１２１，１２２，１２３，１２４，５００  メタデータ
２００  情報処理システム
２０１  クライアント装置
２１０  ネットワーク
２２０  データレイク
２３０  メタデータストア
２４０  データ管理テーブル
２５０  タスクリポジトリ
２６０  タスク管理テーブル
３００  バス
３０１  ＣＰＵ
３０２  メモリ
３０３  ディスクドライブ
３０４  ディスク
３０５  通信Ｉ／Ｆ
３０６  可搬型記録媒体Ｉ／Ｆ
３０７  可搬型記録媒体
８００  タスク
９００，１０００  メタタスク
１１０１  受付部
１１０２  管理部
１１０３  第１の実行制御部
１１０４  第２の実行制御部
１１０５  設定部
１１０６  表示制御部
１２０１，２００１  新データ
１２０２，２００２  新メタデータ
１２１０  入力メタデータリスト
１４００  メタデータ候補リスト画面
１５００  データ一覧画面
【図１】
2020225925.tif 000003
【図２】
2020225925.tif 000004
【図３】
2020225925.tif 000005
【図４】
2020225925.tif 000006
【図５】
2020225925.tif 000007
【図６】
2020225925.tif 000008
【図７】
2020225925.tif 000009
【図８】
2020225925.tif 000010
【図９】
2020225925.tif 000011
【図１０】
2020225925.tif 000012
【図１１】
2020225925.tif 000013
【図１２】
2020225925.tif 000014
【図１３】
2020225925.tif 000015
【図１４】
2020225925.tif 000016
【図１５】
2020225925.tif 000017
【図１６】
2020225925.tif 000018
【図１７】
2020225925.tif 000019
【図１８】
2020225925.tif 000020
【図１９】
2020225925.tif 000021
【図２０】
2020225925.tif 000022
【図２１】
2020225925.tif 000023
【図２２】
2020225925.tif 000024
【手続補正書】
【提出日】令和3年8月4日(2021.8.4)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
処理対象のデータに対してタスクを実行して得られる新たなデータについて、前記処理対象のデータに設定されたメタデータに基づき、新たなメタデータを作成するメタタスクを、前記タスクと対応付けて管理する管理部と、
１または複数のデータに対して前記タスクを実行する際に、前記管理部によって前記タスクに対応付けて管理されている前記メタタスクを実行して、前記１または複数のデータそれぞれに設定されたメタデータに基づき、新たなメタデータを作成する実行制御部と、
前記実行制御部によって作成された前記新たなメタデータを、前記１または複数のデータに対して前記タスクを実行して得られた新たなデータに設定する設定部と、
を有することを特徴とする情報処理装置。
【請求項２】
前記設定部は、
前記実行制御部によって前記新たなメタデータが複数作成された場合、複数作成された前記新たなメタデータそれぞれをメタデータ候補として、前記新たなデータに設定する、ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記設定部によって前記新たなデータに設定された複数のメタデータ候補を選択可能に表示する表示制御部をさらに有し、
前記設定部は、
前記複数のメタデータ候補の中からいずれかのメタデータ候補が選択されたことに応じて、選択された前記メタデータ候補をメタデータとして、前記新たなデータに設定する、ことを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記管理部は、
処理対象のデータに対してタスクを実行して得られる新たなデータに設定されたメタデータに基づき、前記処理対象のデータについて、新たなメタデータを作成する第２のメタタスクを、前記タスクと対応付けて管理し、
前記実行制御部は、
１または複数のデータに対して前記タスクを実行して新たなデータが得られた場合に、前記管理部によって前記タスクに対応付けて管理されている前記第２のメタタスクを実行して、前記新たなデータに設定されたメタデータに基づき、新たなメタデータを作成し、
前記設定部は、
前記実行制御部によって作成された前記新たなメタデータを、前記１または複数のデータに設定する、ことを特徴とする請求項１に記載の情報処理装置。
【請求項５】
前記タスクは、処理対象のデータを処理して得られる新たなデータのメタデータに利用可能な情報を出力する機能を有し、
前記管理部は、
前記処理対象のデータに対して前記タスクを実行して得られる新たなデータについて、前記タスクから出力される前記情報に基づき、新たなメタデータを作成する第３のメタタスクを、前記タスクと対応付けて管理し、
前記実行制御部は、
１または複数のデータに対して前記タスクが実行されたことに応じて、前記管理部によって前記タスクに対応付けて管理されている前記第３のメタタスクを実行して、前記タスクの実行中に当該タスクから出力される情報に基づき、新たなメタデータを作成する、ことを特徴とする請求項１に記載の情報処理装置。
【請求項６】
データに対してタスクを実行して新たなデータを出力する情報処理システムにおいて、
処理対象のデータに対してタスクを実行して得られる新たなデータについて、前記処理対象のデータに設定されたメタデータに基づき、新たなメタデータを作成するメタタスクを、前記タスクと対応付けて管理する管理部と、
１または複数のデータに対して前記タスクを実行する際に、前記管理部によって前記タスクに対応付けて管理されている前記メタタスクを実行して、前記１または複数のデータそれぞれに設定されたメタデータに基づき、新たなメタデータを作成する実行制御部と、
前記実行制御部によって作成された前記新たなメタデータを、前記１または複数のデータに対して前記タスクを実行して得られた新たなデータに設定する設定部と、
を含むことを特徴とする情報処理システム。
【請求項７】
処理対象のデータに対してタスクを実行して得られる新たなデータについて、前記処理対象のデータに設定されたメタデータに基づき、新たなメタデータを作成するメタタスクを、前記タスクと対応付けて管理するコンピュータに、
１または複数のデータに対して前記タスクを実行する際に、前記タスクに対応付けて管理されている前記メタタスクを実行して、前記１または複数のデータそれぞれに設定されたメタデータに基づき、新たなメタデータを作成し、
作成した前記新たなメタデータを、前記１または複数のデータに対して前記タスクを実行して得られた新たなデータに設定する、
処理を実行させることを特徴とする情報処理プログラム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理システムおよび情報処理プログラムに関する。
【背景技術】
【０００２】
従来、データに対してタスクを実行して新たなデータを出力するシステムがある。タスクは、データを加工したり、演算したりして、新しいデータを出力する処理である。タスクとしては、例えば、関東圏の人口動態のデータを集約して、１０年分の統計データを取得する処理などが挙げられる。
【０００３】
先行技術としては、結果データを作成するための素性データを管理するシステムにおいて、結果データを作成するために使用された処理クエリの処理内容、基データ、および基データを抽出するための抽出条件を結果データの素性データとして抽出するものがある。また、入力データの項目名および出力データの項目名の両方に含まれる要素以外の要素を抽出し、抽出した要素と、入力データから出力データを生成するためのプログラムの引数とが、入力データの項目値に関連する要素を含む場合、抽出した要素のうち入力データの項目値に関連する要素が変数化されたメタデータを生成する技術がある。
【０００４】
また、複数のデータを各データの属性情報の集合として表示させる表示モードに応じて、複数のデータを表示し、その表示モードに基づいて表示されたデータに付与すべきメタデータの候補を決定する技術がある。また、分析ソースデータを読み込んでデータ格納領域に格納し、分析ソースデータに対して分析を行った結果を分析結果データとして出力し、読み込んだ分析ソースデータの所在をデータ所在情報に格納し、分析結果データと分析ソースデータを関連付けて分析結果生成元情報に格納する技術がある。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】国際公開第２０１６／０１３０９９号
【特許文献２】特開２０１８−１１２８４８号公報
【特許文献３】国際公開第２０１８／０６１０７０号
【特許文献４】特開２００９−１４０３６１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
近年、分析処理により蓄積された大量のデータのデータ利活用が注目されている。そこで、発明者らは、一連の分析処理の一または複数のタスクの実行により生成されたデータもデータの利活用の対象にすることに着目した。しかしながら、さまざまな処理過程を経たデータを再利用できるように管理するための仕組みが十分ではなかった。
【０００７】
一つの側面では、本発明は、タスクの実行にかかるデータに対する管理を容易にすることを目的とする。
【課題を解決するための手段】
【０００８】
１つの実施態様では、処理対象のデータに対してタスクを実行して得られる新たなデータについて、前記処理対象のデータに設定されたメタデータに基づき、新たなメタデータを作成するメタタスクを、前記タスクと対応付けて管理する管理部と、１または複数のデータに対して前記タスクを実行する際に、前記管理部によって前記タスクに対応付けて管理されている前記メタタスクを実行して、前記１または複数のデータそれぞれに設定されたメタデータに基づき、新たなメタデータを作成する実行制御部と、前記実行制御部によって作成された前記新たなメタデータを、前記１または複数のデータに対して前記タスクを実行して得られた新たなデータに設定する設定部と、を有する情報処理装置が提供される。
【発明の効果】
【０００９】
本発明の一側面によれば、タスクの実行にかかるデータに対する管理を容易にするという効果を奏する。
【図面の簡単な説明】
【００１０】
【図１】図１は、実施の形態１にかかる情報処理装置１０１の一実施例を示す説明図である。
【図２】図２は、情報処理システム２００のシステム構成例を示す説明図である。
【図３】図３は、情報処理装置１０１のハードウェア構成例を示すブロック図である。
【図４】図４は、処理対象のデータの具体例を示す説明図である。
【図５】図５は、メタデータの具体例を示す説明図である。
【図６】図６は、データ管理テーブル２４０の記憶内容の一例を示す説明図である。
【図７】図７は、タスク管理テーブル２６０の記憶内容の一例を示す説明図である。
【図８】図８は、タスクの具体例を示す説明図である。
【図９】図９は、メタタスクの具体例を示す説明図（その１）である。
【図１０】図１０は、メタタスクの具体例を示す説明図（その２）である。
【図１１】図１１は、情報処理装置１０１の機能的構成例を示すブロック図である。
【図１２】図１２は、実施の形態１にかかる情報処理装置１０１の動作例を示す説明図である。
【図１３】図１３は、メタタスクｍｔ１の利用例を示す説明図である。
【図１４】図１４は、新データのメタデータを選択する操作画面の画面例を示す説明図（その１）である。
【図１５】図１５は、新データのメタデータを選択する操作画面の画面例を示す説明図（その２）である。
【図１６】図１６は、実施の形態１にかかる情報処理装置１０１の情報処理手順の一例を示すフローチャートである。
【図１７】図１７は、実施の形態２にかかる情報処理装置１０１の動作例を示す説明図である。
【図１８】図１８は、メタタスクｍｔ２の利用例を示す説明図である。
【図１９】図１９は、実施の形態２にかかる情報処理装置１０１の情報処理手順の一例を示すフローチャートである。
【図２０】図２０は、実施の形態３にかかる情報処理装置１０１の動作例を示す説明図である。
【図２１】図２１は、実施の形態３にかかる情報処理装置１０１の第１の情報処理手順の一例を示すフローチャートである。
【図２２】図２２は、実施の形態３にかかる情報処理装置１０１の第２の情報処理手順の一例を示すフローチャートである。
【発明を実施するための形態】
【００１１】
以下に図面を参照して、本発明にかかる情報処理装置、情報処理システムおよび情報処理プログラムの実施の形態を詳細に説明する。
【００１２】
（実施の形態１）
図１は、実施の形態１にかかる情報処理装置１０１の一実施例を示す説明図である。図１において、情報処理装置１０１は、タスクの実行にかかるデータに対して、メタデータを設定するコンピュータである。タスクは、データを加工したり、演算したりして、新しいデータを出力する処理である。タスクの実行にかかるデータは、例えば、処理対象のデータに対してタスクを実行して得られる新たなデータである。
【００１３】
処理対象のデータは、タスクの入力となる１または複数のデータである。処理対象のデータは、例えば、ＣＳＶ（Ｃｏｍｍａ−Ｓｅｐａｒａｔｅｄ  Ｖａｌｕｅ）ファイル、ＪＳＯＮ（ＪａｖａＳｃｒｉｐｔ  Ｏｂｊｅｃｔ  Ｎｏｔａｔｉｏｎ）ファイルなどである。ＪａｖａＳｃｒｉｐｔは、登録商標である。メタデータは、データに対して設定される、データの意味を説明するための情報群である。
【００１４】
メタデータは、データの分析等を行うにあたり、処理対象のデータを判断するための有用な情報である。例えば、データに対してタスクを実行して新たなデータを出力するようなシステムにおいて、ユーザは、メタデータを頼りに、タスクに与えるデータを検索したり、選択したりすることが多い。
【００１５】
一方で、従来のシステムでは、タスクによってデータを加工し、新たなデータを生成するような処理を行った場合に、新たに生成されたデータにはメタデータは付与されていない。このため、例えば、新たに生成されたデータの中身を人手で確認してメタデータを付与することが考えられる。
【００１６】
しかし、人手によりデータの中身を一つ一つ確認してメタデータを作成するには、時間や手間がかかる。また、ユーザによっては、データの中身を見ても、どのような情報をメタデータとして付与すればよいか判断できない場合がある。また、データ中に出現する頻出語彙からメタデータを類推して付与することも考えられるが、タスクがどのような処理を行っているのかを反映した適切なメタデータを付与することは難しい。
【００１７】
そこで、本実施の形態では、タスクを実行して得られる新たなデータに対して、適切なメタデータを自動で設定する情報処理装置１０１について説明する。以下、情報処理装置１０１の処理例について説明する。
【００１８】
（１）情報処理装置１０１は、メタタスクｍｔを、タスクｔｋと対応付けて管理する。ここで、メタタスクｍｔは、処理対象のデータに対してタスクｔｋを実行して得られる新たなデータについて、処理対象のデータに設定されたメタデータに基づき、新たなメタデータを作成する処理である。
【００１９】
メタタスクｍｔは、例えば、タスクｔｋの設計者１０２によって作成される。設計者１０２は、タスクｔｋがどのような処理を行うかを把握しているため、タスクｔｋの処理内容を反映した適切なメタデータが作成されるように、メタタスクｍｔを設計することができる。
【００２０】
具体的には、例えば、情報処理装置１０１は、タスクｔｋに対応するメタタスクｍｔの登録を受け付ける。情報処理装置１０１は、メタタスクｍｔの登録を受け付けると、受け付けたメタタスクｍｔを、タスクｔｋと対応付けて管理する。メタタスクｍｔをタスクｔｋと対応付けて管理するとは、例えば、タスクｔｋの識別情報からメタタスクｍｔを特定可能に管理することである。
【００２１】
（２）情報処理装置１０１は、１または複数のデータに対してタスクｔｋを実行する際に、タスクｔｋに対応付けて管理されているメタタスクｍｔを実行して、１または複数のデータそれぞれに設定されたメタデータに基づき、新たなメタデータを作成する。１または複数のデータは、タスクｔｋに入力として与える処理対象のデータである。
【００２２】
図１の例では、タスクｔｋの実行依頼は、ユーザ１０３によって行われる。この際、タスクｔｋに入力として与える処理対象のデータの指定も行われる。ここでは、ユーザ１０３によって指定された処理対象のデータ１１１，１１２，１１３に対してタスクｔｋが実行された結果、新たなデータ１１４が生成された場合を想定する。
【００２３】
この場合、情報処理装置１０１は、タスクｔｋに対応付けて管理されているメタタスクｍｔを実行して、データ１１１，１１２，１１３それぞれに設定されたメタデータ１２１，１２２，１２３に基づき、新たなメタデータを作成する。ここでは、新たなメタデータ１２４が作成された場合を想定する。なお、タスクｔｋの実行は、情報処理装置１０１とは異なる他のコンピュータで実行することにしてもよい。
【００２４】
（３）情報処理装置１０１は、作成した新たなメタデータを、１または複数のデータに対してタスクｔｋを実行して得られた新たなデータに設定する。新たなメタデータを新たなデータに設定するとは、例えば、新たなメタデータと新たなデータとの対応関係を特定可能にすることである。
【００２５】
図１の例では、新たなメタデータ１２４が、データ１１１，１１２，１１３に対してタスクｔｋを実行して得られた新たなデータ１１４に設定される。
【００２６】
このように、情報処理装置１０１によれば、メタデータが設定されたデータに対してタスクｔｋを実行する際に、タスクｔｋを実行して得られる新たなデータのメタデータを、メタタスクｍｔにより作成して設定することができる。また、タスクｔｋがどのような処理を行うかを把握した上で、メタタスクｍｔを設計することができるため、タスクｔｋが持つデータ加工の意味をメタタスクｍｔとして明示的に設定可能となる。
【００２７】
これにより、ユーザの意図通りのメタデータを、データ加工と同期的に新しいデータに設定することが可能となり、タスクの実行にかかるデータに対する管理を容易にして、データの利活用を促進することができる。また、人手によりデータの中身を一つ一つ確認してメタデータを設定する場合に比べて、ユーザの手間や時間を削減することができる。
【００２８】
（情報処理システム２００のシステム構成例）
つぎに、実施の形態１にかかる情報処理システム２００のシステム構成例について説明する。情報処理システム２００は、図１に示した情報処理装置１０１を含むコンピュータシステムであり、例えば、データ加工・分析での試行錯誤を通して生成される生産物を一元的に管理するシステムに適用される。
【００２９】
図２は、情報処理システム２００のシステム構成例を示す説明図である。図２において、情報処理システム２００は、情報処理装置１０１と、複数のクライアント装置２０１と、を含む。情報処理システム２００において、情報処理装置１０１および複数のクライアント装置２０１は、有線または無線のネットワーク２１０を介して接続される。ネットワーク２１０は、例えば、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、インターネットなどである。
【００３０】
ここで、情報処理装置１０１は、データレイク２２０、メタデータストア２３０、データ管理テーブル２４０、タスクリポジトリ２５０およびタスク管理テーブル２６０を有する。例えば、情報処理装置１０１は、サーバである。データレイク２２０は、処理対象のデータを格納する。処理対象のデータの具体例については、図４を用いて後述する。
【００３１】
メタデータストア２３０は、メタデータを格納する。メタデータストア２３０は、例えば、メタデータ（ＪＳＯＮオブジェクト）を格納するＭｏｎｇｏＤＢなどのオブジェクトＤＢである。メタデータの具体例については、図５を用いて後述する。データ管理テーブル２４０は、処理対象のデータを管理するためのテーブルである。データ管理テーブル２４０の記憶内容については、図６を用いて後述する。
【００３２】
タスクリポジトリ２５０は、タスクやメタタスクの実体を格納するリポジトリである。タスクの具体例については、図８を用いて後述する。また、メタタスクの具体例については、図９および図１０を用いて後述する。タスク管理テーブル２６０は、タスクやメタタスクを管理するためのテーブルである。タスク管理テーブル２６０の記憶内容については、図７を用いて後述する。
【００３３】
クライアント装置２０１は、情報処理システム２００のユーザが使用するコンピュータである。ユーザは、例えば、データの分析、解析等を行うデータサイエンティストや、タスクやメタタスクの設計者などである。クライアント装置２０１は、例えば、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）、タブレットＰＣ、スマートフォンなどである。
【００３４】
なお、ここでは、情報処理装置１０１とクライアント装置２０１とを別体に設けることにしたが、これに限らない。例えば、情報処理装置１０１は、クライアント装置２０１により実現されることにしてもよい。
【００３５】
また、情報処理システム２００には、ＲＤＢ（Ｒｅｌａｔｉｏｎａｌ  Ｄａｔａｂａｓｅ）、ファイルシステム、クラウドストレージ、分散処理基盤などが含まれていてもよい。この場合、情報処理装置１０１は、例えば、ＲＤＢ、ファイルシステム、クラウドストレージ等から各種データを取得したり、分散処理基盤を利用して各種タスクを実行したりすることができる。
【００３６】
（情報処理装置１０１のハードウェア構成例）
つぎに、図３を用いて、情報処理装置１０１のハードウェア構成例について説明する。
【００３７】
図３は、情報処理装置１０１のハードウェア構成例を示すブロック図である。図３において、情報処理装置１０１は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）３０１と、メモリ３０２と、ディスクドライブ３０３と、ディスク３０４と、通信Ｉ／Ｆ（Ｉｎｔｅｒｆａｃｅ）３０５と、可搬型記録媒体Ｉ／Ｆ３０６と、可搬型記録媒体３０７と、を有する。また、各構成部は、バス３００によってそれぞれ接続される。
【００３８】
ここで、ＣＰＵ３０１は、情報処理装置１０１の全体の制御を司る。ＣＰＵ３０１は、複数のコアを有していてもよい。メモリ３０２は、例えば、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）およびフラッシュＲＯＭなどを有する。具体的には、例えば、フラッシュＲＯＭがＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）のプログラムを記憶し、ＲＯＭがアプリケーションプログラムを記憶し、ＲＡＭがＣＰＵ３０１のワークエリアとして使用される。メモリ３０２に記憶されるプログラムは、ＣＰＵ３０１にロードされることで、コーディングされている処理をＣＰＵ３０１に実行させる。
【００３９】
ディスクドライブ３０３は、ＣＰＵ３０１の制御に従ってディスク３０４に対するデータのリード／ライトを制御する。ディスク３０４は、ディスクドライブ３０３の制御で書き込まれたデータを記憶する。ディスク３０４としては、例えば、磁気ディスク、光ディスクなどが挙げられる。
【００４０】
通信Ｉ／Ｆ３０５は、通信回線を通じてネットワーク２１０に接続され、ネットワーク２１０を介して外部のコンピュータ（例えば、図２に示したクライアント装置２０１）に接続される。そして、通信Ｉ／Ｆ３０５は、ネットワーク２１０と装置内部とのインターフェースを司り、外部のコンピュータからのデータの入出力を制御する。通信Ｉ／Ｆ３０５には、例えば、モデムやＬＡＮアダプタなどを採用することができる。
【００４１】
可搬型記録媒体Ｉ／Ｆ３０６は、ＣＰＵ３０１の制御に従って可搬型記録媒体３０７に対するデータのリード／ライトを制御する。可搬型記録媒体３０７は、可搬型記録媒体Ｉ／Ｆ３０６の制御で書き込まれたデータを記憶する。可搬型記録媒体３０７としては、例えば、ＣＤ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ）−ＲＯＭ、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）メモリなどが挙げられる。
【００４２】
なお、情報処理装置１０１は、上述した構成部のほかに、例えば、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）、入力装置、ディスプレイ等を有することにしてもよい。また、情報処理装置１０１は、上述した構成部のうち、例えば、ディスクドライブ３０３、ディスク３０４、可搬型記録媒体Ｉ／Ｆ３０６、可搬型記録媒体３０７を有していなくてもよい。また、図２に示したクライアント装置２０１についても、情報処理装置１０１と同様のハードウェア構成により実現することができる。ただし、クライアント装置２０１は、上述した構成部のほかに、入力装置およびディスプレイを有する。
【００４３】
（処理対象のデータの具体例）
つぎに、図４を用いて、処理対象のデータの具体例について説明する。
【００４４】
図４は、処理対象のデータの具体例を示す説明図である。図４において、データ４００は、データレイク２２０（図２参照）に格納されるデータの一例であり、各区の出生、死亡、転入、転出の人数を示す。なお、図４の例では、データ４００をテーブル形式で表記したが、データ４００は、例えば、ＣＳＶ形式のファイルである。
【００４５】
（メタデータの具体例）
つぎに、図５を用いて、メタデータの具体例について説明する。
【００４６】
図５は、メタデータの具体例を示す説明図である。図５において、メタデータ５００は、メタデータストア２３０（図２参照）に格納されるメタデータの一例であり、図４に示したデータ４００の意味を説明するための情報群（例えば、ｔａｇｓ）である。
【００４７】
メタデータ５００には、例えば、メタデータ５００の識別子（ｉｄ）や、メタデータ５００が作成された日時（ＣｒｅａｔｅｄＤａｔａ）を示す情報が含まれる。また、メタデータ５００には、メタデータ５００が設定されたデータ４００の識別子（ｆｉｌｅ＿ｉｄ）や作成者（ａｕｔｈｏｒ）などを示す情報が含まれる。メタデータ５００によれば、例えば、データ４００が、平成２８年度１０月の川崎市の人口動態を区別にまとめた統計データであることがわかる。
【００４８】
（データ管理テーブル２４０の記憶内容）
つぎに、図６を用いて、情報処理装置１０１が有するデータ管理テーブル２４０の記憶内容について説明する。なお、図２に示した各種テーブル等２２０，２３０，２４０，２５０，２６０は、例えば、図３に示した情報処理装置１０１のメモリ３０２、ディスク３０４などの記憶装置により実現される。
【００４９】
図６は、データ管理テーブル２４０の記憶内容の一例を示す説明図である。図６において、データ管理テーブル２４０は、データＩＤ、パス、ユーザ名、グループ名およびｃｒｅａｔｅｄ  ｄａｔａのフィールドを有する。各フィールドに情報を設定することで、データ管理情報（例えば、データ管理情報６００−１，６００−２）がレコードとして記憶される。
【００５０】
ここで、データＩＤは、処理対象のデータを一意に識別する識別子である。図５に示した「ｆｉｌｅ＿ｉｄ」は、データＩＤに相当する。パスは、処理対象のデータの格納場所を示す。ユーザ名は、処理対象のデータを登録したユーザの名称である。グループ名は、ユーザが属するグループの名称である。ｃｒｅａｔｅｄ  ｄａｔａは、処理対象のデータが生成（登録）された日付を示す。
【００５１】
（タスク管理テーブル２６０の記憶内容）
つぎに、図７を用いて、タスク管理テーブル２６０の記憶内容について説明する。
【００５２】
図７は、タスク管理テーブル２６０の記憶内容の一例を示す説明図である。図７において、タスク管理テーブル２６０は、タスクＩＤ、タスク名、ディスクリプション、タイプ、ｉｎ、ｏｕｔおよびメタタスクのフィールドを有する。各フィールドに情報を設定することで、タスク管理情報（例えば、タスク管理情報７００−１〜７００−１１）がレコードとして記憶される。
【００５３】
ここで、タスクＩＤは、タスクまたはメタタスクの処理を一意に識別する識別子である。タスク名は、タスクまたはメタタスクの処理の名称である。タスク名は、例えば、ユーザ名とリポジトリ名との組み合わせによって表現される。ディスクリプションは、タスクまたはメタタスクの処理の説明である。タイプは、タスクＩＤにより識別される処理が、タスクまたはメタタスクのいずれであるかを示す。タイプ「タスク」は、タスクであることを示す。タイプ「メタタスク」は、メタタスクであることを示す。
【００５４】
ｉｎは、タスクＩＤにより識別される処理に入力されるデータ形式を示す。ｏｕｔは、タスクＩＤにより識別される処理から出力されるデータ形式を示す。メタタスクは、タスクＩＤにより識別される処理に対応するメタタスクのタスクＩＤを示す。なお、タスクに対応するメタタスクが存在しない、あるいは、タスクＩＤにより識別される処理がメタタスクの場合、メタタスクフィールドには「ｎｕｌｌ」が設定される。
【００５５】
（タスクの具体例）
つぎに、図８を用いて、タスクの具体例について説明する。
【００５６】
図８は、タスクの具体例を示す説明図である。図８において、タスク８００は、タスクリポジトリ２５０に格納されるタスクの一例である。タスク８００には、ＣＳＶファイルのリストを受け取り、ＣＳＶファイルを返す関数が記述されている。ただし、ＣＳＶファイルを取り扱うための処理は隠蔽されているものとする。
【００５７】
具体的には、タスク８００には、区名をキーとして、各統計情報（出生、死亡、転入、転出の人数）を合計するための処理が記述されている。タスク８００は、例えば、タスクＩＤ「Ｔ５」のタスクに相当する。
【００５８】
（メタタスクの具体例）
つぎに、図９および図１０を用いて、メタタスクの具体例について説明する。
【００５９】
図９は、メタタスクの具体例を示す説明図（その１）である。図９において、メタタスク９００は、タスクリポジトリ２５０に格納されるメタタスクの一例である。メタタスク９００には、期間として最もふさわしそうなものを返す処理が記述されている。メタタスク９００は、例えば、図８に示したタスク８００（タスクＩＤ：Ｔ５）に対応する、タスクＩＤ「Ｔ８」のメタタスクに相当する。
【００６０】
図１０は、メタタスクの具体例を示す説明図（その２）である。図１０において、メタタスク１０００は、タスクリポジトリ２５０に格納されるメタタスクの一例である。メタタスク１０００には、県として最もふさわしそうなものを返す処理が記述されている。メタタスク１０００は、例えば、図８に示したタスク８００（タスクＩＤ：Ｔ５）に対応する、タスクＩＤ「Ｔ９」のメタタスクに相当する。
【００６１】
（情報処理装置１０１の機能的構成例）
つぎに、実施の形態１にかかる情報処理装置１０１の機能的構成例について説明する。
【００６２】
図１１は、情報処理装置１０１の機能的構成例を示すブロック図である。図１１において、情報処理装置１０１は、受付部１１０１と、管理部１１０２と、第１の実行制御部１１０３と、第２の実行制御部１１０４と、設定部１１０５と、表示制御部１１０６と、を含む。具体的には、例えば、受付部１１０１〜表示制御部１１０６は、図３に示したメモリ３０２、ディスク３０４、可搬型記録媒体３０７などの記憶装置に記憶されたプログラムをＣＰＵ３０１に実行させることにより、または、通信Ｉ／Ｆ３０５により、その機能を実現する。各機能部の処理結果は、例えば、メモリ３０２、ディスク３０４などの記憶装置に記憶される。
【００６３】
受付部１１０１は、タスクの登録依頼を受け付ける。ここで、タスクの登録依頼とは、情報処理システム２００へのタスクの登録を依頼するものである。タスクの登録依頼には、例えば、登録対象のタスク（例えば、図８に示したタスク８００）と、タスク名、ディスクリプション、タイプ、入出力データなどを示す情報とが含まれる。
【００６４】
タスクの登録依頼は、例えば、タスクの設計者が使用するクライアント装置２０１（図２参照）において行われる。この場合、受付部１１０１は、例えば、クライアント装置２０１からタスクの登録依頼を受信することにより、当該タスクの登録依頼を受け付ける。登録依頼されたタスクは、例えば、タスクリポジトリ２５０に格納される。
【００６５】
また、受付部１１０１は、メタタスクの登録依頼を受け付ける。ここで、メタタスクの登録依頼とは、情報処理システム２００へのメタタスクの登録を依頼するものである。メタタスクの登録依頼には、例えば、登録対象のメタタスク（例えば、図９、図１０に示したメタタスク９００，１０００）と、タスク名、ディスクリプション、タイプ、入出力データなどを示す情報とが含まれる。また、メタタスクの登録依頼には、メタタスクに対応するタスクを特定する情報、例えば、タスクＩＤ、タスク名、ディスクリプションなどが含まれる。
【００６６】
メタタスクの登録依頼は、例えば、メタタスクの設計者が使用するクライアント装置２０１において行われる。この場合、受付部１１０１は、例えば、クライアント装置２０１からメタタスクの登録依頼を受信することにより、当該メタタスクの登録依頼を受け付ける。登録依頼されたメタタスクは、例えば、タスクリポジトリ２５０に格納される。
【００６７】
管理部１１０２は、メタタスクを、タスクと対応付けて管理する。ここで、タスクは、データを加工したり、演算したりして、新しいデータを出力する処理である。メタタスクは、処理対象のデータに対してタスクを実行して得られる新たなデータについて、処理対象のデータに設定されたメタデータに基づき、新たなメタデータを作成する処理である。
【００６８】
具体的には、例えば、管理部１１０２は、タスクの登録依頼に応じて、当該タスクのタスク管理情報を、図７に示したタスク管理テーブル２６０に格納する。この際、タスクには、当該タスクを一意に識別するタスクＩＤが付与される。また、タスク管理情報の各フィールドに設定される情報は、例えば、タスクの登録依頼に含まれる情報から特定される。ただし、この時点では、メタタスクフィールドは「ｎｕｌｌ」である。
【００６９】
また、例えば、管理部１１０２は、メタタスクの登録依頼に応じて、当該メタタスクのタスク管理情報を、タスク管理テーブル２６０に格納する。この際、メタタスクには、当該メタタスクを一意に識別するタスクＩＤが付与される。また、タスク管理情報の各フィールドに設定される情報は、例えば、メタタスクの登録依頼に含まれる情報から特定される。ただし、メタタスクフィールドには「ｎｕｌｌ」が設定される。
【００７０】
また、管理部１１０２は、メタタスクの登録依頼に含まれるタスクを特定する情報を参照して、当該メタタスクに対応するタスクを特定する。そして、管理部１１０２は、特定したタスクのタスク管理情報のメタタスクフィールドに、当該メタタスクのタスクＩＤを設定する。これにより、タスクのタスクＩＤから、当該タスクに対応するメタタスクを特定可能に管理することができる。
【００７１】
また、受付部１１０１は、タスク実行依頼を受け付ける。ここで、タスク実行依頼とは、タスクの実行を依頼するものである。タスク実行依頼には、例えば、実行対象のタスクを特定する情報（例えば、タスクＩＤ、タスク名など）と、処理対象のデータを特定する情報（例えば、データＩＤ）が含まれる。
【００７２】
以下の説明では、実行対象のタスクを「タスクｔｋ」と表記する場合がある。また、タスクｔｋに対応するメタタスクを「メタタスクｍｔ」と表記する場合がある。
【００７３】
第１の実行制御部１１０３は、タスク実行依頼に応じて、タスクｔｋを実行する。具体的には、例えば、第１の実行制御部１１０３は、タスクリポジトリ２５０から、タスク実行依頼から特定される実行対象となるタスクｔｋを取得する。また、第１の実行制御部１１０３は、図６に示したデータ管理テーブル２４０を参照して、データレイク２２０（図２参照）から、タスク実行依頼から特定される処理対象のデータを取得する。そして、第１の実行制御部１１０３は、取得した１または複数のデータに対して、取得したタスクｔｋを実行する。なお、１または複数のデータに対してタスクｔｋを実行して得られた新たなデータは、例えば、データレイク２２０に格納される。
【００７４】
第２の実行制御部１１０４は、第１の実行制御部１１０３によって１または複数のデータに対してタスクｔｋを実行する際に、タスクｔｋに対応付けて管理されているメタタスクｍｔを実行して、１または複数のデータそれぞれに設定されたメタデータに基づき、新たなメタデータを作成する。
【００７５】
具体的には、例えば、第２の実行制御部１１０４は、１または複数のデータに対してタスクｔｋを実行して新たなデータが得られた場合に、タスクｔｋに対応するメタタスクｍｔを特定する。より詳細に説明すると、例えば、第２の実行制御部１１０４は、タスク管理テーブル２６０を参照して、タスクｔｋのタスク管理情報から、タスクｔｋに対応するメタタスクｍｔのタスクＩＤを特定する。
【００７６】
つぎに、第２の実行制御部１１０４は、タスクリポジトリ２５０から、特定したタスクＩＤから特定されるメタタスクｍｔを取得する。また、第２の実行制御部１１０４は、メタデータストア２３０（図２参照）から、タスクｔｋの処理対象である１または複数のデータそれぞれのメタデータを取得する。各データに対応するメタデータは、例えば、各データのデータＩＤから特定される。
【００７７】
すなわち、第２の実行制御部１１０４は、メタデータストア２３０から、処理対象のデータそれぞれのデータＩＤを含むメタデータを、当該データのメタデータとして取得する。そして、第２の実行制御部１１０４は、取得した１または複数のメタデータを入力として、取得したメタタスクｍｔを実行して得られるメタデータを、新たなメタデータとする。なお、新たなメタデータに含まれるａｕｔｈｏｒ（作成者）は、例えば、新たなデータのデータ管理情報（例えば、図６参照）をさらに参照して特定されることにしてもよい。また、新たなメタデータに含まれるｄｅｓｃｒｉｐｔｉｏｎは、例えば、メタタスクｍｔのタスク管理情報（例えば、図７参照）をさらに参照して特定されることにしてもよい。
【００７８】
また、タスクｔｋに対応付けて管理されているメタタスクｍｔが複数取得された場合には、第２の実行制御部１１０４は、例えば、複数のメタタスクｍｔそれぞれを実行する。この場合、複数のメタタスクｍｔそれぞれにより、１または複数のデータそれぞれに設定されたメタデータに基づき、新たなメタデータがそれぞれ作成される。例えば、タスクＩＤ「Ｔ５」のタスクｔｋには、タスクＩＤ「Ｔ８」のメタタスクｍｔと、タスクＩＤ「Ｔ９」のメタタスクｍｔとが対応付けて管理されている。この場合、第２の実行制御部１１０４は、例えば、タスクＩＤ「Ｔ８」のメタタスクｍｔと、タスクＩＤ「Ｔ９」のメタタスクｍｔとを実行する。
【００７９】
以下の説明では、タスクｔｋを実行して得られた新たなデータを「新データ」と表記する場合がある。また、メタタスクｍｔを実行して作成された新たなメタデータを「新メタデータ」と表記する場合がある。
【００８０】
設定部１１０５は、第２の実行制御部１１０４によって作成された新メタデータを、第１の実行制御部１１０３によって１または複数のデータに対してタスクｔｋを実行して得られた新データに設定する。具体的には、例えば、設定部１１０５は、作成された新メタデータが１つの場合、新データのデータＩＤを、新メタデータに設定する。より詳細に説明すると、例えば、設定部１１０５は、新メタデータのｆｉｌｅ＿ｉｄ（図５参照）に、新データのデータＩＤを設定する。そして、設定部１１０５は、新メタデータを、メタデータストア２３０に格納する。
【００８１】
一方、第２の実行制御部１１０４によって新メタデータが複数作成された場合には、新データに対応するメタデータを一意に決定することができない。この場合、設定部１１０５は、例えば、複数作成された新メタデータそれぞれをメタデータ候補として、新データに設定することにしてもよい。
【００８２】
具体的には、例えば、設定部１１０５は、複数作成された新メタデータそれぞれに、新データのデータＩＤを設定するとともに候補フラグを設定する。候補フラグは、メタデータ候補であることを示す情報である。そして、設定部１１０５は、新メタデータを、メタデータストア２３０に格納する。
【００８３】
これにより、新データについてのメタデータ候補であることを特定可能な状態で、新メタデータをメタデータストア２３０に格納することができる。
【００８４】
表示制御部１１０６は、設定部１１０５によって新データに設定された複数のメタデータ候補を選択可能に表示する。具体的には、例えば、表示制御部１１０６は、新データに設定された複数のメタデータ候補の中から、新データのメタデータを選択する操作画面を、クライアント装置２０１に表示することにしてもよい。
【００８５】
なお、複数のメタデータ候補の中から、新データのメタデータを選択する操作画面の画面例については、図１４および図１５を用いて後述する。
【００８６】
設定部１１０５は、複数のメタデータ候補の中からいずれかのメタデータ候補が選択されたことに応じて、選択されたメタデータ候補をメタデータとして、新データに設定する。具体的には、例えば、設定部１１０５は、複数のメタデータ候補のうち選択されたメタデータ候補以外のメタデータ候補を、メタデータストア２３０から削除する。また、設定部１１０５は、メタデータストア２３０内の選択されたメタデータ候補に設定されている候補フラグを削除する。
【００８７】
これにより、複数のメタデータ候補の中からユーザにより選択されたメタデータ候補を、新メタデータとして新データに紐付けることができる。
【００８８】
なお、情報処理装置１０１の各機能部は、情報処理システム２００内の複数のコンピュータ（例えば、情報処理装置１０１とクライアント装置２０１）により実現されることにしてもよい。例えば、情報処理装置１０１により管理部１１０２を実現し、クライアント装置２０１により管理部１１０２以外の機能部を実現することにしてもよい。この場合、クライアント装置２０１は、例えば、情報処理装置１０１にアクセスして、タスクｔｋやメタタスクｍｔを登録したり、取得したりする。
【００８９】
（情報処理装置１０１の動作例）
つぎに、図１２を用いて、実施の形態１にかかる情報処理装置１０１の動作例について説明する。
【００９０】
図１２は、実施の形態１にかかる情報処理装置１０１の動作例を示す説明図である。ここでは、受付部１１０１が、タスクｔｋ１の実行を依頼するタスク実行依頼を受け付けた場合を想定する。また、処理対象のデータを「データ１〜ｎ（ｎ：２以上の自然数）」とする。
【００９１】
この場合、第１の実行制御部１１０３は、処理対象となるデータ１〜ｎに対して、タスクｔｋ１を実行する。ここでは、データ１〜ｎに対してタスクｔｋ１を実行した結果、新データ１２０１が生成された場合を想定する。新データ１２０１は、例えば、データレイク２２０に格納される。
【００９２】
第２の実行制御部１１０４は、データ１〜ｎに対してタスクｔｋ１を実行して新データ１２０１が得られた場合に、タスクリポジトリ２５０から、タスクｔｋ１に対応するメタタスクｍｔ１を取得する。また、第２の実行制御部１１０４は、メタデータストア２３０から、処理対象のデータ１〜ｎそれぞれに設定されたメタデータ１〜ｎを取得して、入力メタデータリスト１２１０に記録する。
【００９３】
そして、第２の実行制御部１１０４は、入力メタデータリスト１２１０を入力として、取得したメタタスクｍｔ１を実行する。ここでは、入力メタデータリスト１２１０を入力としてメタタスクｍｔ１を実行した結果、メタデータ１〜ｎに基づき、新メタデータ１２０２が作成された場合を想定する。
【００９４】
この場合、設定部１１０５は、作成された新メタデータ１２０２を、タスクｔｋ１を実行して得られた新データ１２０１に設定する。例えば、設定部１１０５は、新データ１２０１のデータＩＤを、新メタデータ１２０２に設定して、新メタデータ１２０２を、メタデータストア２３０に格納する。
【００９５】
これにより、データ１〜ｎに対してタスクｔｋ１を実行して得られた新データ１２０１に、データ１〜ｎにそれぞれ設定されているメタデータ１〜ｎを入力としてメタタスクｍｔ１を実行して得られた新メタデータ１２０２を設定することができる。
【００９６】
ここで、図１３を用いて、メタタスクｍｔ１の利用例について説明する。
【００９７】
図１３は、メタタスクｍｔ１の利用例を示す説明図である。ここでは、タスクｔｋ１を、２０１８年度の各月の出生率データ（例えば、データ１３０１，１３０２）を集約して、２０１８年度の合計を取得する処理とする。また、各出生率データには、年月を示すメタデータ（例えば、メタデータ１３１１，１３１２）が設定されている。また、メタタスクｍｔ１を、期間として最もふさわしいものを出力する処理とする。
【００９８】
この場合、第１の実行制御部１１０３（データ処理機構）は、２０１８年度の各月の出生率データに対して、タスクｔｋ１を実行する。ここでは、タスクｔｋ１を実行した結果、データ１３０３が生成されている。データ１３０３は、２０１８年度の各月の出生率の合計を示す情報である。
【００９９】
また、第２の実行制御部１１０４（メタ処理機構）は、データ１３０３が得られた場合、各出生データにそれぞれ設定されているメタデータ（例えば、メタデータ１３１１，１３１２）を入力として、タスクｔｋ１に対応するメタタスクｍｔ１を実行する。ここでは、メタタスクｍｔ１を実行した結果、メタデータ１３１３が生成されている。
【０１００】
メタデータ１３１３は、２０１８年度の各月の出生率データそれぞれに設定されているメタデータ（例えば、メタデータ１３１１，１３１２）から判断された、期間として最もふさわしい「２０１８年度」を示す情報である。
【０１０１】
なお、タスクｔｋの他の具体例としては、都道府県の各市区町村の人口動態のデータを結合する処理が挙げられる。この場合、タスクｔｋに対応するメタタスクｍｔとしては、各市区町村の上位の概念をタグとして出力する処理が挙げられる。例えば、神奈川県の各市（川崎市、横浜市など）の人口動態のデータをタスクｔｋに与えた場合、「神奈川県」を示すメタデータが作成される。また、兵庫県の各市（神戸市、尼崎市など）の人口動態のデータをタスクｔｋに与えた場合、「兵庫県」を示すメタデータが作成される。すなわち、同一メタタスクであっても、入力として与えるデータセットが異なれば、出力もそれに応じたものとなる。
【０１０２】
（新データのメタデータを選択する操作画面の画面例）
図１４および図１５を用いて、複数のメタデータ候補の中から、新データのメタデータを選択する操作画面の画面例について説明する。新データのメタデータを選択する操作画面は、例えば、クライアント装置２０１に表示される。
【０１０３】
図１４は、新データのメタデータを選択する操作画面の画面例を示す説明図（その１）である。図１４において、メタデータ候補リスト画面１４００は、複数のメタデータ候補の中から、データに設定するメタデータを選択するための操作画面の一例である。
【０１０４】
メタデータ候補リスト画面１４００には、アイコン１４０１〜１４０６が表示されている。アイコン１４０１は、タスクｔｋを表す。アイコン１４０２〜１４０５は、タスクｔｋに入力された処理対象のデータを表す。アイコン１４０６は、タスクｔｋを実行して得られたデータを表す。
【０１０５】
メタデータ候補リスト画面１４００において、クライアント装置２０１の入力装置（不図示）を用いたユーザの操作入力により、データを表すいずれかのアイコンを選択すると、メタデータ候補リストが表示される。メタデータ候補リストは、選択されたアイコンが表すデータに設定された複数のメタデータ候補をリスト化したものである。複数のメタデータ候補は、グループ化して表示される。
【０１０６】
例えば、アイコン１４０２を選択すると、メタデータ候補リスト１４１０が表示される。メタデータ候補リスト１４１０は、アイコン１４０２が表すデータに設定された複数のメタデータ候補（例えば、東京、神奈川、茨城、埼玉）をリスト化したものである。なお、アイコン１４０２が表すデータに設定されたメタデータ候補は、メタデータストア２３０に格納された、アイコン１４０２が表すデータのデータＩＤが設定され、かつ、候補フラグが設定されたメタデータである。
【０１０７】
メタデータ候補リスト１４１０において、ユーザの操作入力により、いずれかのメタデータ候補を選択すると、選択されたメタデータ候補がメタデータとして、アイコン１４０２が表すデータに設定される。例えば、メタデータ候補「東京」が選択されると、アイコン１４０２が表すデータに対して、メタデータ候補「東京」がメタデータとして設定される。
【０１０８】
これにより、ユーザは、メタタスクｍｔを実行して得られた複数のメタデータ候補の中から、アイコン１４０２が表すデータ（１月．ｃｓｖ）に対してメタデータとして設定するメタデータ候補を選択することができる。
【０１０９】
なお、メタデータ候補リスト画面１４００において、例えば、アイコン１４０２をダブルクリックすることで、アイコン１４０２が表すデータ（１月．ｃｓｖ）をポップアップ表示することにしてもよい。これにより、ユーザは、データ（１月．ｃｓｖ）の中身を確認しながら、メタデータとして設定するメタデータ候補を選択することができる。
【０１１０】
また、図１４の例では、別の方法（例えば、手動）で、アイコン１４０２が表すデータに対して既に設定されているタグ「人口動態」も表示されている。タグは、メタデータに相当する。これにより、ユーザは、既に設定されているタグを把握した上で、メタデータとして設定するメタデータ候補を選択することができる。
【０１１１】
図１５は、新データのメタデータを選択する操作画面の画面例を示す説明図（その２）である。図１５において、データ一覧画面１５００は、複数のメタデータ候補の中から、データに設定するメタデータを選択するための操作画面の一例である。
【０１１２】
データ一覧画面１５００には、データ一覧１５１０が表示されている。データ一覧１５１０は、データレイク２２０に格納されているデータをリスト化したものである。データ一覧画面１５００において、ユーザの操作入力により、いずれかのデータを選択すると、メタデータ候補リストが表示される。メタデータ候補リストは、選択されたデータに設定された複数のメタデータ候補をリスト化したものである。
【０１１３】
例えば、データ１５１１を選択すると、メタデータ候補リスト１５２０が表示される。メタデータ候補リスト１５２０は、データ１５１１に設定された複数のメタデータ候補をリスト化したものである。
【０１１４】
メタデータ候補リスト１５２０において、ユーザの操作入力により、いずれかのメタデータ候補を選択すると、選択されたメタデータ候補がメタデータとして、データ１５１１に設定される。例えば、メタデータ候補「神奈川」が選択されると、データ１５１１に対して、メタデータ候補「神奈川」がメタデータとして設定される。
【０１１５】
これにより、ユーザは、メタタスクｍｔを実行して得られた複数のメタデータ候補の中から、データ１５１１（１月．ｃｓｖ）に対してメタデータとして設定するメタデータ候補を選択することができる。
【０１１６】
（情報処理装置１０１の情報処理手順）
つぎに、図１６を用いて、実施の形態１にかかる情報処理装置１０１の情報処理手順について説明する。ここでは、処理対象となる１または複数のデータに対してタスクｔｋを実行して新データが得られた場合を想定する。
【０１１７】
図１６は、実施の形態１にかかる情報処理装置１０１の情報処理手順の一例を示すフローチャートである。図１６のフローチャートにおいて、まず、情報処理装置１０１は、タスクｔｋの入力となる処理対象のデータのうち選択されていない未選択のデータを選択する（ステップＳ１６０１）。
【０１１８】
つぎに、情報処理装置１０１は、メタデータストア２３０から、選択したデータに対応するメタデータを取得する（ステップＳ１６０２）。そして、情報処理装置１０１は、取得したメタデータを入力メタデータリストに記録する（ステップＳ１６０３）。つぎに、情報処理装置１０１は、処理対象のデータのうち選択されていない未選択のデータがあるか否かを判断する（ステップＳ１６０４）。
【０１１９】
ここで、未選択のデータがある場合（ステップＳ１６０４：Ｙｅｓ）、情報処理装置１０１は、ステップＳ１６０１に戻る。一方、未選択のデータがない場合（ステップＳ１６０４：Ｎｏ）、情報処理装置１０１は、タスク管理テーブル２６０を参照して、タスクリポジトリ２５０から、タスクｔｋに対応付けて管理されているメタタスクｍｔを取得する（ステップＳ１６０５）。
【０１２０】
つぎに、情報処理装置１０１は、入力メタデータリストを入力として、取得したメタタスクｍｔを実行する（ステップＳ１６０６）。そして、情報処理装置１０１は、入力メタデータリストを入力としてメタタスクｍｔを実行して出力されたメタデータを出力メタデータリストに記録する（ステップＳ１６０７）。
【０１２１】
つぎに、情報処理装置１０１は、出力メタデータリストの要素数が１つか否かを判断する（ステップＳ１６０８）。ここで、要素数が１つの場合（ステップＳ１６０８：Ｙｅｓ）、情報処理装置１０１は、タスクｔｋを実行して得られた新データに、出力メタデータリストに記録したメタデータを設定して（ステップＳ１６０９）、本フローチャートによる一連の処理を終了する。
【０１２２】
一方、要素数が複数の場合（ステップＳ１６０８：Ｎｏ）、情報処理装置１０１は、タスクｔｋを実行して得られた新データに、出力メタデータリストに記録した複数のメタデータをメタデータ候補として設定する（ステップＳ１６１０）。そして、情報処理装置１０１は、本フローチャートによる一連の処理を終了する。
【０１２３】
これにより、タスクｔｋを実行して得られた新データに対して、タスクｔｋの入力となるデータに設定されているメタデータに基づきメタタスクｍｔを実行して得られた新メタデータを設定することができる。また、メタタスクｍｔを実行して複数のメタデータが得られた場合には、当該複数のメタデータをメタデータ候補として新データに設定して、後ほどユーザが選択可能な状態にすることができる。
【０１２４】
以上説明したように、実施の形態１にかかる情報処理装置１０１によれば、処理対象のデータに対してタスクｔｋを実行して得られる新データについて、処理対象のデータに設定されたメタデータに基づき、新メタデータを作成するメタタスクｍｔを、タスクｔｋと対応付けて管理することができる。
【０１２５】
これにより、メタデータが設定されたデータに対してタスクｔｋを実行する際に、当該データに対してタスクｔｋを実行して得られる新データのメタデータを自動で作成する機能を提供することができる。
【０１２６】
また、情報処理装置１０１によれば、１または複数のデータに対してタスクｔｋを実行する際に、タスクｔｋに対応付けて管理されているメタタスクｍｔを実行して、当該１または複数のデータそれぞれに設定されたメタデータに基づき、新メタデータを作成することができる。そして、情報処理装置１０１によれば、作成した新メタデータを、当該１または複数のデータに対してタスクｔｋを実行して得られた新データに設定することができる。
【０１２７】
これにより、タスクｔｋを実行して得られる新データに対して、適切なメタデータを自動で設定することができる。例えば、メタタスクｍｔは、タスクｔｋの設計者により設計される。タスクｔｋの設計者は、タスクｔｋがどのような処理を行うかを把握しており、どのような情報をメタデータとして作成すれば、データ利活用につなげることができるのかを判断することができる。タスクｔｋの設計者のように、タスクｔｋの処理内容を把握した者がメタタスクｍｔを設計することで、データ利活用につながる適切なメタデータを自動作成することが可能となる。
【０１２８】
また、情報処理装置１０１によれば、新メタデータが複数作成された場合、複数作成された新メタデータそれぞれをメタデータ候補として、新データに設定することができる。
【０１２９】
これにより、メタタスクｍｔを実行して得られた新メタデータが複数存在する場合には、当該複数の新メタデータをメタデータ候補として新データに設定することができ、後ほどユーザがメタデータ候補の中から適切なメタデータを選択可能にすることができる。
【０１３０】
また、情報処理装置１０１によれば、新データに設定された複数のメタデータ候補を選択可能に表示し、複数のメタデータ候補の中からいずれかのメタデータ候補が選択されたことに応じて、選択されたメタデータ候補をメタデータとして、新データに設定することができる。
【０１３１】
これにより、複数のメタデータ候補の中からユーザにより選択されたメタデータ候補を、新メタデータとして新データに紐付けることができる。
【０１３２】
これらのことから、実施の形態１にかかる情報処理装置１０１および情報処理システム２００によれば、ユーザの意図通りのメタデータを、データ加工と同期的に新しいデータに設定することが可能となり、タスク実行にかかるデータに対する管理を容易にして、データの利活用を促進することができる。
【０１３３】
（実施の形態２）
つぎに、実施の形態２にかかる情報処理装置１０１について説明する。実施の形態２では、タスクｔｋの出力側のデータに設定されたメタデータから、タスクｔｋの入力側のデータにメタデータを設定する情報処理装置１０１について説明する。
【０１３４】
なお、実施の形態１で説明した箇所と同様の箇所については、同一符合を付して図示および説明を省略する。また、実施の形態２にかかる情報処理装置１０１は、実施の形態１にかかる情報処理装置１０１が有する全ての機能を有することにしてもよく、一部の機能を有しないことにしてもよい。
【０１３５】
（情報処理装置１０１の機能的構成例）
まず、実施の形態２にかかる情報処理装置１０１の機能的構成例について説明する。ただし、実施の形態２にかかる情報処理装置１０１の機能的構成例は、図１１に示した実施の形態１にかかる情報処理装置１０１の機能的構成例と同様のため、図示を省略する。以下、実施の形態１にかかる情報処理装置１０１と異なる機能を有する機能部について説明する。
【０１３６】
管理部１１０２は、第２のメタタスクを、タスクと対応付けて管理する。ここで、第２のメタタスクは、処理対象のデータに対してタスクを実行して得られる新たなデータに設定されたメタデータに基づき、処理対象のデータについて新たなメタデータを作成する処理である。
【０１３７】
具体的には、例えば、管理部１１０２は、メタタスクの登録依頼に応じて、当該メタタスクのタスク管理情報を、タスク管理テーブル２６０に格納する。また、管理部１１０２は、メタタスクの登録依頼に含まれるタスクを特定する情報を参照して、当該メタタスクに対応するタスクを特定する。そして、管理部１１０２は、特定したタスクのタスク管理情報のメタタスクフィールドに、当該メタタスクのタスクＩＤを設定する。これにより、タスクのタスクＩＤから、当該タスクに対応するメタタスクを特定可能に管理することができる。
【０１３８】
第２の実行制御部１１０４は、第１の実行制御部１１０３によって１または複数のデータに対してタスクｔｋを実行して新データが得られた場合に、タスクｔｋに対応付けて管理されている第２のメタタスクを実行して、新データに設定されたメタデータに基づき、新たなメタデータを作成する。
【０１３９】
具体的には、例えば、第２の実行制御部１１０４は、タスク管理テーブル２６０を参照して、タスクｔｋのタスク管理情報から、タスクｔｋに対応する第２のメタタスクのタスクＩＤを特定する。つぎに、第２の実行制御部１１０４は、タスクリポジトリ２５０から、特定したタスクＩＤから特定される第２のメタタスクを取得する。
【０１４０】
また、第２の実行制御部１１０４は、メタデータストア２３０から、タスクｔｋを実行して得られた新データに設定されているメタデータを取得する。タスクｔｋを実行して得られた新データには、例えば、人手によりメタデータが設定されている。そして、第２の実行制御部１１０４は、取得したメタデータを入力として、取得した第２のメタタスクを実行して得られるメタデータを、新メタデータとする。
【０１４１】
設定部１１０５は、第２の実行制御部１１０４によって作成された新メタデータを、タスクｔｋの処理対象である１または複数のデータに設定する。具体的には、例えば、設定部１１０５は、処理対象のデータが、１つのデータの場合、当該データのデータＩＤを、新メタデータに設定する。そして、設定部１１０５は、新メタデータを、メタデータストア２３０に格納する。
【０１４２】
一方、処理対象のデータが、複数のデータである場合がある。この場合、設定部１１０５は、例えば、作成された新メタデータが１つであれば、複数のデータそれぞれに、作成された新メタデータをそれぞれ設定することにしてもよい。すなわち、処理対象である複数のデータそれぞれに対して、同じ内容（同じタグ）のメタデータを設定する。
【０１４３】
また、処理対象のデータが、複数のデータである場合に、複数の異なる新メタデータが作成されることがある。この場合、複数の異なるメタデータのうちのどの新メタデータが、処理対象である複数のデータのうちのどのデータに対応しているのかを一意に決定することができない。
【０１４４】
そこで、設定部１１０５は、例えば、作成された複数の新メタデータそれぞれをメタデータ候補として、複数のデータに対して設定することにしてもよい。すなわち、設定部１１０５は、タスクｔｋを複数のデータに対して実行して新データが得られ、かつ、新メタデータが複数作成された場合、複数作成された新メタデータそれぞれをメタデータ候補として、処理対象である複数のデータに対して設定する。
【０１４５】
具体的には、例えば、設定部１１０５は、複数作成された新メタデータそれぞれに、処理対象である複数のデータそれぞれのデータＩＤを設定するとともに候補フラグを設定する。候補フラグは、メタデータ候補であることを示す情報である。そして、設定部１１０５は、新メタデータを、メタデータストア２３０に格納する。
【０１４６】
これにより、処理対象である複数のデータについてのメタデータ候補であることを特定可能な状態で、新メタデータをメタデータストア２３０に格納することができる。
【０１４７】
表示制御部１１０６は、設定部１１０５によって複数のデータに対して設定された複数のメタデータ候補を選択可能に表示する。具体的には、例えば、表示制御部１１０６は、複数のデータに設定された複数のメタデータ候補の中から、複数のデータの各データのメタデータを選択する操作画面を、クライアント装置２０１に表示することにしてもよい。
【０１４８】
設定部１１０５は、複数のデータの各データについて、複数のメタデータ候補の中からいずれかのメタデータ候補が選択されたことに応じて、選択されたメタデータ候補をメタデータとして設定する。具体的には、例えば、設定部１１０５は、各データについて選択されたメタデータ候補に設定されている当該各データ以外の他のデータのデータＩＤおよび候補フラグを削除する。
【０１４９】
これにより、複数のメタデータ候補の中からユーザにより選択されたメタデータ候補を、新メタデータとして各データに紐付けることができる。
【０１５０】
（情報処理装置１０１の動作例）
つぎに、図１７を用いて、実施の形態２にかかる情報処理装置１０１の動作例について説明する。
【０１５１】
図１７は、実施の形態２にかかる情報処理装置１０１の動作例を示す説明図である。ここでは、受付部１１０１が、タスクｔｋ２の実行を依頼するタスク実行依頼を受け付けた場合を想定する。また、処理対象のデータを「データ１〜ｎ（ｎ：２以上の自然数）」とする。
【０１５２】
この場合、第１の実行制御部１１０３は、処理対象となるデータ１〜ｎに対して、タスクｔｋ２を実行する。ここでは、データ１〜ｎに対してタスクｔｋ２を実行した結果、データＸが生成された場合を想定する。データＸは、データレイク２２０に格納される。また、データＸに、人手によりメタデータＸが設定された場合を想定する。
【０１５３】
第２の実行制御部１１０４は、データ１〜ｎに対してタスクｔｋ２を実行してデータＸが得られた場合に、タスクリポジトリ２５０から、タスクｔｋ２に対応するメタタスクｍｔ２（第２のメタタスク）を取得する。また、第２の実行制御部１１０４は、メタデータストア２３０から、データＸに設定されているメタデータＸを取得する。
【０１５４】
そして、第２の実行制御部１１０４は、メタデータＸを入力として、取得したメタタスクｍｔ２を実行する。ここでは、メタデータＸを入力としてメタタスクｍｔ２を実行した結果、メタデータＸに基づき、メタデータ１〜ｎが作成された場合を想定する。
【０１５５】
この場合、設定部１１０５は、作成されたメタデータ１〜ｎを、タスクｔｋ２の処理対象であるデータ１〜ｎに対して設定する。具体的には、例えば、設定部１１０５は、メタデータ１〜ｎをメタデータ候補として、データ１〜ｎに対して設定する。
【０１５６】
これにより、データ１〜ｎについてのメタデータ候補であることを特定可能な状態で、メタデータ１〜ｎをメタデータストア２３０に格納して、後ほどユーザが選択可能な状態にすることができる。
【０１５７】
ここで、図１８を用いて、メタタスクｍｔ２（第２のメタタスク）の利用例について説明する。
【０１５８】
図１８は、メタタスクｍｔ２の利用例を示す説明図である。ここでは、データ１〜ｎに対してタスクｔｋ２を実行した結果、データＸが得られた場合を想定する。また、データＸに、メタデータ１８０１が設定された場合を想定する。メタデータ１８０１は、関東を示す。また、メタタスクｍｔ２を、出力側のメタデータから、下記のようなＳＰＡＲＱＬで、下位の概念を探す処理とする。
【０１５９】
『ｓｅｌｅｃｔ  ？ｏ  ｗｈｅｒｅ
｛関東  ＜ｒｄｆｓ：ｓｕｂＰｒｏｐｅｒｔｙｏｆ＞  ？ｏ｝』
【０１６０】
第２の実行制御部１１０４は、データＸが得られた場合、データＸに設定されているメタデータ：関東を入力として、メタタスクｍｔ２を実行する。ここでは、メタタスクｍｔ２を実行した結果、複数のメタデータ（例えば、東京、神奈川、・・・）が作成された場合を想定する。この場合、設定部１１０５は、作成された複数のメタデータをメタデータ候補（例えば、メタデータ候補１８１０，１８２０）として、タスクｔｋ２の処理対象であるデータ１〜ｎに対して設定する。
【０１６１】
これにより、データ１〜ｎについてのメタデータ候補であることを特定可能な状態で、複数のメタデータ（例えば、東京、神奈川、・・・）をメタデータストア２３０に格納して、後ほどユーザが選択可能な状態にすることができる。
【０１６２】
（情報処理装置１０１の情報処理手順）
つぎに、図１９を用いて、実施の形態２にかかる情報処理装置１０１の情報処理手順について説明する。ここでは、処理対象となる１または複数のデータに対してタスクｔｋを実行して新データが得られた場合を想定する。
【０１６３】
図１９は、実施の形態２にかかる情報処理装置１０１の情報処理手順の一例を示すフローチャートである。図１９のフローチャートにおいて、まず、情報処理装置１０１は、メタデータストア２３０から、タスクｔｋを実行して得られた新データに設定されているメタデータを取得する（ステップＳ１９０１）。
【０１６４】
つぎに、情報処理装置１０１は、取得したメタデータを出力メタデータに記録する（ステップＳ１９０２）。そして、情報処理装置１０１は、タスク管理テーブル２６０を参照して、タスクリポジトリ２５０から、タスクｔｋに対応付けて管理されている第２のメタタスクを取得する（ステップＳ１９０３）。
【０１６５】
つぎに、情報処理装置１０１は、出力メタデータを入力として、取得した第２のメタタスクを実行する（ステップＳ１９０４）。そして、情報処理装置１０１は、出力メタデータを入力として第２のメタタスクを実行して出力されたメタデータを入力メタデータリストに記録する（ステップＳ１９０５）。
【０１６６】
つぎに、情報処理装置１０１は、タスクｔｋの入力となった処理対象のデータのうち選択されていない未選択のデータを選択する（ステップＳ１９０６）。そして、情報処理装置１０１は、入力メタデータリストの要素数が１つか否かを判断する（ステップＳ１９０７）。
【０１６７】
ここで、要素数が１つの場合（ステップＳ１９０７：Ｙｅｓ）、情報処理装置１０１は、選択したデータに、入力メタデータリストに記録したメタデータを設定して（ステップＳ１９０８）、ステップＳ１９１０に移行する。一方、要素数が複数の場合（ステップＳ１９０７：Ｎｏ）、情報処理装置１０１は、選択したデータに、入力メタデータリストに記録した複数のメタデータをメタデータ候補として設定する（ステップＳ１９０９）。
【０１６８】
そして、情報処理装置１０１は、処理対象のデータのうち選択されていない未選択のデータがあるか否かを判断する（ステップＳ１９１０）。ここで、未選択のデータがある場合（ステップＳ１９１０：Ｙｅｓ）、情報処理装置１０１は、ステップＳ１９０６に戻る。一方、未選択のデータがない場合（ステップＳ１９１０：Ｎｏ）、情報処理装置１０１は、本フローチャートによる一連の処理を終了する。
【０１６９】
これにより、タスクｔｋの入力となったデータに対して、タスクｔｋを実行して得られた新データに設定されているメタデータに基づき第２のメタタスクを実行して得られた新メタデータを設定することができる。また、第２のメタタスクを実行して複数のメタデータが得られた場合には、当該複数のメタデータをメタデータ候補として、タスクｔｋの入力となった各データに設定して、後ほどユーザが選択可能な状態にすることができる。
【０１７０】
以上説明したように、実施の形態２にかかる情報処理装置１０１によれば、タスクｔｋを実行して得られた新データ（出力側のデータ）に設定されたメタデータから、処理対象のデータ（入力側のデータ）に適切なメタデータを自動で設定することができる。これにより、ユーザの意図通りのメタデータを、データ加工と同期的にデータに設定することが可能となり、データの利活用を促進することができる。
【０１７１】
（実施の形態３）
つぎに、実施の形態３にかかる情報処理装置１０１について説明する。実施の形態３では、タスク（データ処理機構）とメタタスク（メタ処理機構）とが連携して新メタデータを作成する場合について説明する。
【０１７２】
なお、実施の形態１，２で説明した箇所と同様の箇所については、同一符合を付して図示および説明を省略する。また、実施の形態３にかかる情報処理装置１０１は、実施の形態１，２にかかる情報処理装置１０１が有する全ての機能を有することにしてもよく、一部の機能を有しないことにしてもよい。
【０１７３】
（情報処理装置１０１の機能的構成例）
まず、実施の形態３にかかる情報処理装置１０１の機能的構成例について説明する。ただし、実施の形態３にかかる情報処理装置１０１の機能的構成例は、図１１に示した実施の形態１にかかる情報処理装置１０１の機能的構成例と同様のため、図示を省略する。以下、実施の形態１にかかる情報処理装置１０１と異なる機能を有する機能部について説明する。
【０１７４】
管理部１１０２は、第３のメタタスクを、タスクｔｋ’と対応付けて管理する。ここで、タスクｔｋ’は、処理対象のデータを処理して得られる新データのメタデータに利用可能な情報を、タスクｔｋ’の実行中に出力する機能を有するタスクである。メタデータに利用可能な情報は、例えば、メタデータの候補であってもよく、また、加工や演算をしてメタデータを作成するための情報であってもよい。また、第３のメタタスクは、処理対象のデータに対してタスクｔｋ’を実行して得られる新データについて、タスクｔｋ’から出力される情報に基づき、新メタデータを作成する処理である。
【０１７５】
第１の実行制御部１１０３は、タスク実行依頼に応じて、タスクｔｋ’を実行する。具体的には、例えば、第１の実行制御部１１０３は、タスクリポジトリ２５０から、タスク実行依頼から特定される実行対象となるタスクｔｋ’を取得する。また、第１の実行制御部１１０３は、データ管理テーブル２４０を参照して、データレイク２２０から、タスク実行依頼から特定される処理対象のデータを取得する。そして、第１の実行制御部１１０３は、取得した１または複数のデータに対して、取得したタスクｔｋ’を実行する。
【０１７６】
第２の実行制御部１１０４は、第１の実行制御部１１０３によって１または複数のデータに対してタスクｔｋ’が実行されたことに応じて、タスクｔｋ’に対応付けて管理されている第３のメタタスクを実行して、タスクｔｋ’を実行中にタスクｔｋ’から出力される情報に基づき、新たなメタデータを作成する。
【０１７７】
具体的には、例えば、第２の実行制御部１１０４は、タスク管理テーブル２６０を参照して、タスクｔｋ’のタスク管理情報から、タスクｔｋ’に対応する第３のメタタスクのタスクＩＤを特定する。つぎに、第２の実行制御部１１０４は、タスクリポジトリ２５０から、特定したタスクＩＤから特定される第３のメタタスクを取得する。
【０１７８】
そして、第２の実行制御部１１０４は、タスクｔｋ’から出力される情報を入力として、取得した第３のメタタスクを実行して、新メタデータを作成する。設定部１１０５は、第２の実行制御部１１０４によって作成された新メタデータを、第１の実行制御部１１０３によって１または複数のデータに対してタスクｔｋを実行して得られた新データに設定する。
【０１７９】
（情報処理装置１０１の動作例）
つぎに、図２０を用いて、実施の形態３にかかる情報処理装置１０１の動作例について説明する。
【０１８０】
図２０は、実施の形態３にかかる情報処理装置１０１の動作例を示す説明図である。ここでは、受付部１１０１が、タスクｔｋ３の実行を依頼するタスク実行依頼を受け付けた場合を想定する。タスクｔｋ３は、処理対象のデータを処理して得られる新データのメタデータに利用可能な情報を出力する機能を有するタスクである。また、処理対象のデータを「データ１〜ｎ（ｎ：２以上の自然数）」とする。
【０１８１】
この場合、第１の実行制御部１１０３は、処理対象となるデータ１〜ｎに対して、タスクｔｋ３の実行を開始する。また、第２の実行制御部１１０４は、第１の実行制御部１１０３によってデータ１〜ｎに対するタスクｔｋ３の実行が開始されたことに応じて、タスクｔｋ３に対応付けて管理されているメタタスクｍｔ３の実行を開始する。メタタスクｍｔ３は、処理対象のデータに対してタスクｔｋ３を実行して得られる新データについて、タスクｔｋ３から出力される情報に基づき、新メタデータを作成する処理である。
【０１８２】
タスクｔｋ３は、例えば、川崎市高津区内の保育所の住所を座標（緯度、経度）に変換する処理である。この場合、タスクｔｋ３から出力されるメタデータに利用可能な情報は、例えば、変換後の座標である。メタタスクｍｔ３は、例えば、変換後の座標の重心を求め、各県／市区町村等の重心から近いものを探し、変換後の座標が最も多く含まれる区や市などを示すメタデータを作成する処理である。また、タスクｔｋ３に対応する他のメタタスクとしては、例えば、変換後の座標から、位置情報であることを示すメタデータを作成する処理が挙げられる。
【０１８３】
ここでは、データ１〜ｎに対してタスクｔｋ３を実行した結果、新データ２００１が生成された場合を想定する。新データ２００１は、データレイク２２０に格納される。また、タスクｔｋ３から出力される情報に基づき、新メタデータ２００２が作成された場合を想定する。新メタデータ２００２は、例えば、タスクｔｋ３から出力される変換後の座標が最も多く含まれる「川崎市」を示す情報である。
【０１８４】
この場合、設定部１１０５は、作成された新メタデータ２００２を、タスクｔｋ３を実行して得られた新データ２００１に設定する。例えば、設定部１１０５は、新データ２００１のデータＩＤを、新メタデータ２００２に対応付けて、新メタデータ２００２を、メタデータストア２３０に格納する。
【０１８５】
これにより、データ１〜ｎに対してタスクｔｋ３を実行して得られた新データ２００１に、タスクｔｋ３から出力された情報（変換後の座標）を入力としてメタタスクｍｔ３を実行して得られた新メタデータ２００２を設定することができる。
【０１８６】
（情報処理装置１０１の情報処理手順）
つぎに、図２１および図２２を用いて、実施の形態３にかかる情報処理装置１０１の第１および第２の情報処理手順について説明する。
【０１８７】
図２１は、実施の形態３にかかる情報処理装置１０１の第１の情報処理手順の一例を示すフローチャートである。図２１のフローチャートにおいて、まず、情報処理装置１０１は、処理対象となる１または複数のデータに対するタスクｔｋ’の実行を開始する（ステップＳ２１０１）。
【０１８８】
そして、情報処理装置１０１は、処理対象となる１または複数のデータのうち未処理のデータを処理する（ステップＳ２１０２）。つぎに、情報処理装置１０１は、データを処理した結果に基づいて、タスクｔｋ’を実行して得られる新データのメタデータに利用可能な情報を出力データリストに記録する（ステップＳ２１０３）。
【０１８９】
そして、情報処理装置１０１は、処理対象となる１または複数のデータのうち未処理のデータがあるか否かを判断する（ステップＳ２１０４）。ここで、未処理のデータがある場合（ステップＳ２１０４：Ｙｅｓ）、情報処理装置１０１は、ステップＳ２１０２に戻る。一方、未処理のデータがない場合（ステップＳ２１０４：Ｎｏ）、情報処理装置１０１は、本フローチャートによる一連の処理を終了する。
【０１９０】
これにより、タスクｔｋ’の実行途中に、タスクｔｋ’を実行して得られる新データのメタデータに利用可能な情報を出力することができる。
【０１９１】
図２２は、実施の形態３にかかる情報処理装置１０１の第２の情報処理手順の一例を示すフローチャートである。図２２のフローチャートにおいて、まず、情報処理装置１０１は、タスクｔｋ’が実行されたことに応じて、タスク管理テーブル２６０を参照して、タスクリポジトリ２５０から、タスクｔｋ’に対応付けて管理されている第３のメタタスクを取得する（ステップＳ２２０１）。
【０１９２】
つぎに、情報処理装置１０１は、出力データリストを入力として、取得した第３のメタタスクを実行する（ステップＳ２２０２）。そして、情報処理装置１０１は、出力データリストを入力として第３のメタタスクを実行して出力されたメタデータを出力メタデータリストに記録する（ステップＳ２２０３）。
【０１９３】
つぎに、情報処理装置１０１は、出力メタデータリストの要素数が１つか否かを判断する（ステップＳ２２０４）。ここで、要素数が１つの場合（ステップＳ２２０４：Ｙｅｓ）、情報処理装置１０１は、タスクｔｋ’を実行して得られた新データに、出力メタデータリストに記録したメタデータを設定して（ステップＳ２２０５）、本フローチャートによる一連の処理を終了する。
【０１９４】
一方、要素数が複数の場合（ステップＳ２２０４：Ｎｏ）、情報処理装置１０１は、タスクｔｋ’を実行して得られた新データに、出力メタデータリストに記録した複数のメタデータをメタデータ候補として設定する（ステップＳ２２０６）。そして、情報処理装置１０１は、本フローチャートによる一連の処理を終了する。
【０１９５】
これにより、データ１〜ｎに対してタスクｔｋ’を実行して得られた新データに、タスクｔｋ’の実行中にタスクｔｋ’から出力された情報を入力として第３のメタタスクを実行して得られた新メタデータを設定することができる。また、第３のメタタスクを実行して複数のメタデータが得られた場合には、当該複数のメタデータをメタデータ候補として新データに設定して、後ほどユーザが選択可能な状態にすることができる。
【０１９６】
以上説明したように、実施の形態３にかかる情報処理装置１０１によれば、第３のメタタスク（メタ処理機構）がタスクｔｋ’（データ処理機構）と連携して、タスクｔｋ’（データ処理機構）から実行中に出力される情報をもとに、新しいデータに適切なメタデータを自動で設定することができる。これにより、ユーザの意図通りのメタデータを、データ加工と同期的に新しいデータに設定することが可能となり、データの利活用を促進することができる。
【０１９７】
なお、上述した各実施の形態は、矛盾のない範囲で組み合わせて実施することができる。また、本実施の形態で説明した情報処理方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本情報処理プログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＤＶＤ、ＵＳＢメモリ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、本情報処理プログラムは、インターネット等のネットワークを介して配布してもよい。
【０１９８】
また、本実施の形態で説明した情報処理装置１０１は、スタンダードセルやストラクチャードＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）などの特定用途向けＩＣやＦＰＧＡなどのＰＬＤ（Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｄｅｖｉｃｅ）によっても実現することができる。
【０１９９】
上述した実施の形態に関し、さらに以下の付記を開示する。
【０２００】
（付記１）処理対象のデータに対してタスクを実行して得られる新たなデータについて、前記処理対象のデータに設定されたメタデータに基づき、新たなメタデータを作成するメタタスクを、前記タスクと対応付けて管理する管理部と、
１または複数のデータに対して前記タスクを実行する際に、前記管理部によって前記タスクに対応付けて管理されている前記メタタスクを実行して、前記１または複数のデータそれぞれに設定されたメタデータに基づき、新たなメタデータを作成する実行制御部と、
前記実行制御部によって作成された前記新たなメタデータを、前記１または複数のデータに対して前記タスクを実行して得られた新たなデータに設定する設定部と、
を有することを特徴とする情報処理装置。
【０２０１】
（付記２）前記設定部は、
前記実行制御部によって前記新たなメタデータが複数作成された場合、複数作成された前記新たなメタデータそれぞれをメタデータ候補として、前記新たなデータに設定する、ことを特徴とする付記１に記載の情報処理装置。
【０２０２】
（付記３）前記設定部によって前記新たなデータに設定された複数のメタデータ候補を選択可能に表示する表示制御部をさらに有し、
前記設定部は、
前記複数のメタデータ候補の中からいずれかのメタデータ候補が選択されたことに応じて、選択された前記メタデータ候補をメタデータとして、前記新たなデータに設定する、ことを特徴とする付記２に記載の情報処理装置。
【０２０３】
（付記４）前記管理部は、
処理対象のデータに対してタスクを実行して得られる新たなデータに設定されたメタデータに基づき、前記処理対象のデータについて、新たなメタデータを作成する第２のメタタスクを、前記タスクと対応付けて管理し、
前記実行制御部は、
１または複数のデータに対して前記タスクを実行して新たなデータが得られた場合に、前記管理部によって前記タスクに対応付けて管理されている前記第２のメタタスクを実行して、前記新たなデータに設定されたメタデータに基づき、新たなメタデータを作成し、
前記設定部は、
前記実行制御部によって作成された前記新たなメタデータを、前記１または複数のデータに設定する、ことを特徴とする付記１に記載の情報処理装置。
【０２０４】
（付記５）前記設定部は、
前記タスクを複数のデータに対して実行して前記新たなデータが得られ、かつ、前記新たなメタデータが複数作成された場合、複数作成された前記新たなメタデータそれぞれをメタデータ候補として、前記複数のデータに対して設定する、ことを特徴とする付記４に記載の情報処理装置。
【０２０５】
（付記６）前記設定部によって前記複数のデータに対して設定された複数のメタデータ候補を選択可能に表示する表示制御部をさらに有し、
前記設定部は、
前記複数のデータの各データについて、前記複数のメタデータ候補の中からいずれかのメタデータ候補が選択されたことに応じて、選択された前記メタデータ候補をメタデータとして設定する、ことを特徴とする付記５に記載の情報処理装置。
【０２０６】
（付記７）前記タスクは、処理対象のデータを処理して得られる新たなデータのメタデータに利用可能な情報を出力する機能を有し、
前記管理部は、
前記処理対象のデータに対して前記タスクを実行して得られる新たなデータについて、前記タスクから出力される前記情報に基づき、新たなメタデータを作成する第３のメタタスクを、前記タスクと対応付けて管理し、
前記実行制御部は、
１または複数のデータに対して前記タスクが実行されたことに応じて、前記管理部によって前記タスクに対応付けて管理されている前記第３のメタタスクを実行して、前記タスクの実行中に当該タスクから出力される情報に基づき、新たなメタデータを作成する、ことを特徴とする付記１に記載の情報処理装置。
【０２０７】
（付記８）データに対してタスクを実行して新たなデータを出力する情報処理システムにおいて、
処理対象のデータに対してタスクを実行して得られる新たなデータについて、前記処理対象のデータに設定されたメタデータに基づき、新たなメタデータを作成するメタタスクを、前記タスクと対応付けて管理する管理部と、
１または複数のデータに対して前記タスクを実行する際に、前記管理部によって前記タスクに対応付けて管理されている前記メタタスクを実行して、前記１または複数のデータそれぞれに設定されたメタデータに基づき、新たなメタデータを作成する実行制御部と、
前記実行制御部によって作成された前記新たなメタデータを、前記１または複数のデータに対して前記タスクを実行して得られた新たなデータに設定する設定部と、
を含むことを特徴とする情報処理システム。
【０２０８】
（付記９）前記設定部は、
前記実行制御部によって前記新たなメタデータが複数作成された場合、複数作成された前記新たなメタデータそれぞれをメタデータ候補として、前記新たなデータに設定する、ことを特徴とする付記８に記載の情報処理システム。
【０２０９】
（付記１０）前記設定部によって前記新たなデータに設定された複数のメタデータ候補を選択可能に表示する表示制御部をさらに有し、
前記設定部は、
前記複数のメタデータ候補の中からいずれかのメタデータ候補が選択されたことに応じて、選択された前記メタデータ候補をメタデータとして、前記新たなデータに設定する、ことを特徴とする付記９に記載の情報処理システム。
【０２１０】
（付記１１）前記管理部は、
処理対象のデータに対してタスクを実行して得られる新たなデータに設定されたメタデータに基づき、前記処理対象のデータについて、新たなメタデータを作成する第２のメタタスクを、前記タスクと対応付けて管理し、
前記実行制御部は、
１または複数のデータに対して前記タスクを実行して新たなデータが得られた場合に、前記管理部によって前記タスクに対応付けて管理されている前記第２のメタタスクを実行して、前記新たなデータに設定されたメタデータに基づき、新たなメタデータを作成し、
前記設定部は、
前記実行制御部によって作成された前記新たなメタデータを、前記１または複数のデータに設定する、ことを特徴とする付記８に記載の情報処理システム。
【０２１１】
（付記１２）処理対象のデータに対してタスクを実行して得られる新たなデータについて、前記処理対象のデータに設定されたメタデータに基づき、新たなメタデータを作成するメタタスクを、前記タスクと対応付けて管理するコンピュータに、
１または複数のデータに対して前記タスクを実行する際に、前記タスクに対応付けて管理されている前記メタタスクを実行して、前記１または複数のデータそれぞれに設定されたメタデータに基づき、新たなメタデータを作成し、
作成した前記新たなメタデータを、前記１または複数のデータに対して前記タスクを実行して得られた新たなデータに設定する、
処理を実行させることを特徴とする情報処理プログラム。
【０２１２】
（付記１３）前記新たなメタデータが複数作成された場合、複数作成された前記新たなメタデータそれぞれをメタデータ候補として、前記新たなデータに設定する、処理を前記コンピュータに実行させることを特徴とする付記１２に記載の情報処理プログラム。
【０２１３】
（付記１４）前記新たなデータに設定された複数のメタデータ候補を選択可能に表示し、
前記複数のメタデータ候補の中からいずれかのメタデータ候補が選択されたことに応じて選択された前記メタデータ候補をメタデータとして、前記新たなデータに設定する、
処理を前記コンピュータに実行させることを特徴とする付記１３に記載の情報処理プログラム。
【０２１４】
（付記１５）処理対象のデータに対してタスクを実行して得られる新たなデータに設定されたメタデータに基づき、前記処理対象のデータについて、新たなメタデータを作成する第２のメタタスクを、前記タスクと対応付けて管理し、
１または複数のデータに対して前記タスクを実行して新たなデータが得られた場合に、前記タスクに対応付けて管理されている前記第２のメタタスクを実行して、前記新たなデータに設定されたメタデータに基づき、新たなメタデータを作成し、
作成した前記新たなメタデータを、前記１または複数のデータに設定する、
処理を前記コンピュータに実行させることを特徴とする付記１２に記載の情報処理プログラム。
【符号の説明】
【０２１５】
１０１  情報処理装置
１０２  設計者
１０３  ユーザ
１１１，１１２，１１３，１１４，４００  データ
１２１，１２２，１２３，１２４，５００  メタデータ
２００  情報処理システム
２０１  クライアント装置
２１０  ネットワーク
２２０  データレイク
２３０  メタデータストア
２４０  データ管理テーブル
２５０  タスクリポジトリ
２６０  タスク管理テーブル
３００  バス
３０１  ＣＰＵ
３０２  メモリ
３０３  ディスクドライブ
３０４  ディスク
３０５  通信Ｉ／Ｆ
３０６  可搬型記録媒体Ｉ／Ｆ
３０７  可搬型記録媒体
８００  タスク
９００，１０００  メタタスク
１１０１  受付部
１１０２  管理部
１１０３  第１の実行制御部
１１０４  第２の実行制御部
１１０５  設定部
１１０６  表示制御部
１２０１，２００１  新データ
１２０２，２００２  新メタデータ
１２１０  入力メタデータリスト
１４００  メタデータ候補リスト画面
１５００  データ一覧画面
【国際調査報告】
2020225925.tif 000025
2020225925.tif 000026