(57)【要約】【課題】オープンデータを適切に流通させ、アプリケーションによるオープンデータの利用を円滑化するデータフロー制御指令発生装置、データフロー制御指令発生方法及びデータフロー制御指令発生プログラムを提供する。【解決手段】データフロー制御指令発生装置１０は、第１データに関する情報である第１データ側メタデータを取得する第１データ側メタデータ取得部と、第１データを利用してサービスを提供するアプリケーションに関する情報であるアプリ側メタデータを取得するアプリ側メタデータ取得部と、第１データ側メタデータ及びアプリ側メタデータのマッチングを行うことでアプリケーションの要求を満たす第１データを抽出するマッチング部と、抽出された第１データを格納するデータベースから第１データを取得するための情報を含むデータフロー制御指令を、アプリケーションを実行するユーザ端末装置４０に送信する送信部と、を備える。【選択図】図１
2018106493.tif 000002
【特許請求の範囲】
【請求項１】
第１データに関する情報である第１データ側メタデータを取得する第１データ側メタデータ取得部と、
前記第１データを利用してサービスを提供するアプリケーションに関する情報であるアプリ側メタデータを取得するアプリ側メタデータ取得部と、
前記第１データ側メタデータ及び前記アプリ側メタデータのマッチングを行うことで前記アプリケーションの要求を満たす第１データを抽出するマッチング部と、
前記マッチング部により抽出された第１データを格納するデータベースから前記第１データを取得するための情報を含むデータフロー制御指令を、前記アプリケーションを実行するユーザ端末装置に送信する送信部と、
を備えるデータフロー制御指令発生装置。
【請求項２】
前記送信部は、前記データフロー制御指令を、前記マッチング部により抽出された第１データを管理する第１データ管理装置に対して送信する、
請求項１に記載のデータフロー制御指令発生装置。
【請求項３】
前記第１データの内容に基づいて、前記第１データ側メタデータを生成するメタデータ生成部をさらに備える、
請求項１又は２に記載のデータフロー制御指令発生装置。
【請求項４】
前記メタデータ生成部は、前記第１データの属するジャンルに対応する語彙に基づいて前記第１データを検索し、前記第１データから前記第１データ側メタデータを抽出する、
請求項３に記載のデータフロー制御指令発生装置。
【請求項５】
前記送信部により送信される前記データフロー制御指令は、前記アプリケーションによって、前記第１データを格納するデータベースから前記第１データを取得する処理を呼び出すためのＡＰＩデータを含む、
請求項１から４のいずれか１項に記載のデータフロー制御指令発生装置。
【請求項６】
第２データに関する情報である第２データ側メタデータを取得する第２データ側メタデータ取得部をさらに備え、
前記マッチング部は、前記第２データ側メタデータ及び前記アプリ側メタデータのマッチングを行うことで前記アプリケーションの要求を満たす第２データを抽出し、
前記送信部は、前記マッチング部により抽出された第２データを管理する第２データ管理装置に対して、前記マッチング部により抽出された第２データと前記アプリケーションとを特定したデータフロー制御指令を送信し、
前記アプリ側メタデータに基づいて、前記マッチング部により、前記アプリ側メタデータに対して前記第１データ側メタデータ及び前記第２データ側メタデータのいずれをマッチングさせるか判断する判断部をさらに備える、
請求項１から５のいずれか１項に記載のデータフロー制御指令発生装置。
【請求項７】
第２データに関する第２データ側メタデータを取得する第２データ側メタデータ取得部をさらに備え、
前記マッチング部は、前記第２データ側メタデータ及び前記アプリ側メタデータのマッチングを行うことで前記アプリケーションの要求を満たす第２データを抽出し、
前記送信部は、前記マッチング部により抽出された第２データを管理する第２データ管理装置に対して、前記マッチング部により抽出された第２データと前記アプリケーションとを特定したデータフロー制御指令を送信し、
前記マッチング部は、前記アプリ側メタデータに対して、前記第２データ側メタデータより前記第１データ側メタデータを優先してマッチングさせる、
請求項１から５のいずれか１項に記載のデータフロー制御指令発生装置。
【請求項８】
前記送信部は、前記マッチング部により前記アプリ側メタデータに対して前記第２データ側メタデータがマッチングされた場合に、前記第２データ管理装置に対して、前記アプリケーションへ前記第２データをプッシュ型で送信するためのデータフロー制御指令を送信する、
請求項６又は７に記載のデータフロー制御指令発生装置。
【請求項９】
前記第１データは、データベースに格納されたデータを含み、
前記第２データは、センサから出力されるデータを含む、
請求項６から８のいずれか１項に記載のデータフロー制御指令発生装置。
【請求項１０】
前記第１データは、無償で二次利用が可能なデータを含み、
前記第２データは、二次利用が不可能又は有償で二次利用が可能なデータを含む、
請求項６から８のいずれか１項に記載のデータフロー制御指令発生装置。
【請求項１１】
第１データに関する情報である第１データ側メタデータを取得する第１ステップと、
前記第１データを利用してサービスを提供するアプリケーションに関する情報であるアプリ側メタデータを取得する第２ステップと、
前記第１データ側メタデータ及び前記アプリ側メタデータのマッチングを行うことで前記アプリケーションの要求を満たす第１データを抽出する第３ステップと、
前記第３ステップにより抽出された第１データを格納するデータベースから前記第１データを取得するための情報を含むデータフロー制御指令を、前記アプリケーションを実行するユーザ端末装置に送信する第４ステップと、
を含むデータフロー制御指令発生方法。
【請求項１２】
コンピュータを、
第１データに関する情報である第１データ側メタデータを取得する第１データ側メタデータ取得部と、
前記第１データを利用してサービスを提供するアプリケーションに関する情報であるアプリ側メタデータを取得するアプリ側メタデータ取得部と、
前記第１データ側メタデータ及び前記アプリ側メタデータのマッチングを行うことで前記アプリケーションの要求を満たす第１データを抽出するマッチング部と、
前記マッチング部により抽出された第１データを格納するデータベースから前記第１データを取得するための情報を含むデータフロー制御指令を、前記アプリケーションを実行するユーザ端末装置に送信する送信部と、
として機能させるデータフロー制御指令発生プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データフロー制御指令発生装置、データフロー制御指令発生方法及びデータフロー制御指令発生プログラムに関する。
【背景技術】
【０００２】
近年、ＩｏＴ（Ｉｎｔｅｒｎｅｔ  ｏｆ  Ｔｈｉｎｇｓ）と呼ばれる技術が発展している。ＩｏＴは、世の中に存在する様々な物に関する情報を通信ネットワーク上で組み合わせることで新しい価値を生む技術である。ＩｏＴから価値を生み出すためには、物の状態をセンサにより読み取り、センシングデータを流通させる必要がある。
【０００３】
センシングデータを流通させる仕組みに関し、特許文献１には、センシングデータを出力するセンサに関する情報であるセンサ側メタデータと、センシングデータを利用してサービスを提供するアプリケーションに関する情報であるアプリ側メタデータをマッチングして、マッチングされたセンサとアプリケーションとを特定したデータフロー制御指令を送信するデータフロー制御指令発生装置が記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第５４４４７２２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
一方、政府は、公共データである「オープンデータ」の利活用を推進している。政府によれば、オープンデータとは、「機械判読に適したデータ形式で、二次利用が可能な利用ルールで公開されたデータ」であり「人手を多くかけずにデータの二次利用を可能とするもの」のことをいう。オープンデータは、国や地方自治体によってそれぞれデータベース化されており、それらはデータカタログサイトにまとめられている。
【０００６】
しかしながら、オープンデータを利用してサービスを提供するアプリケーションを作成する場合、所望のオープンデータをデータカタログサイト等から検索し、抽出するために試行錯誤を要する場合があった。オープンデータは、誰にでもアクセス可能なものではあるが、流通環境が整備されているとは限らず、アプリケーションの要求を満たすオープンデータを探し出すことは容易でない場合がある。
【０００７】
そこで、本発明は、データを適切に流通させ、アプリケーションによるデータの利用を円滑化するデータフロー制御指令発生装置、データフロー制御指令発生方法及びデータフロー制御指令発生プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の一態様に係るデータフロー制御指令発生装置は、第１データに関する情報である第１データ側メタデータを取得する第１データ側メタデータ取得部と、第１データを利用してサービスを提供するアプリケーションに関する情報であるアプリ側メタデータを取得するアプリ側メタデータ取得部と、第１データ側メタデータ及びアプリ側メタデータのマッチングを行うことでアプリケーションの要求を満たす第１データを抽出するマッチング部と、マッチング部により抽出された第１データを格納するデータベースから第１データを取得するための情報を含むデータフロー制御指令を、アプリケーションを実行するユーザ端末装置に送信する送信部と、を備える。
【０００９】
この態様によれば、アプリケーションを実行するユーザ端末装置のプロセッサによって多くの演算を行い、多くの通信量を費やしてデータを検索せずとも、アプリケーションによる利用に適したデータが抽出され、アプリケーション側からデータを容易に取得できるようになり、ユーザ端末装置の演算負荷や通信負荷が軽減される。また、データが適切に流通され、アプリケーションによるデータの利用が円滑化される。
【００１０】
上記態様において、送信部は、データフロー制御指令を、マッチング部により抽出された第１データを管理する第１データ管理装置に対して送信してもよい。
【００１１】
この態様によれば、第１データ管理装置によって第１データを一括して管理することができ、ユーザ端末装置が第１データを利用する場合に、目的の第１データを検索するための演算負荷及び通信負荷が軽減される。
【００１２】
上記態様において、第１データの内容に基づいて、第１データ側メタデータを生成するメタデータ生成部をさらに備えてもよい。
【００１３】
この態様によれば、メタデータが付与されていない第１データであっても、新たにメタデータを生成し、第１データがアプリケーションに利用される機会を与えることができる。これにより、ユーザ端末装置の演算負荷や通信負荷を低く抑えつつ、より多くの第１データがユーザ端末装置で実行されるアプリケーションによって利用されるようにできる。
【００１４】
上記態様において、メタデータ生成部は、第１データの属するジャンルに対応する語彙に基づいて第１データを検索し、第１データから第１データ側メタデータを抽出してもよい。
【００１５】
この態様によれば、第１データの内容に適した語彙で第１データを検索することができ、第１データ側メタデータの抽出を効率良く行うことができるため、データフロー制御指令発生装置の演算負荷をより低く抑えて第１データ側メタデータを生成することができる。
【００１６】
上記態様において、送信部により送信されるデータフロー制御指令は、アプリケーションによって、第１データを格納するデータベースから第１データを取得する処理を呼び出すためのＡＰＩデータを含んでもよい。
【００１７】
この態様によれば、利用するデータ毎にデータ処理の方法を判断する必要が無くなり、アプリケーションにより実行する処理が簡略化され、ユーザ端末装置の演算負荷が軽減される。
【００１８】
上記態様において、第２データに関する情報である第２データ側メタデータを取得する第２データ側メタデータ取得部をさらに備え、マッチング部は、第２データ側メタデータ及びアプリ側メタデータのマッチングを行うことでアプリケーションの要求を満たす第２データを抽出し、送信部は、マッチング部により抽出された第２データを管理する第２データ管理装置に対して、マッチング部により抽出された第２データとアプリケーションとを特定したデータフロー制御指令を送信し、アプリ側メタデータに基づいて、マッチング部により、アプリ側メタデータに対して第１データ側メタデータ及び第２データ側メタデータのいずれをマッチングさせるか判断する判断部をさらに備えてもよい。
【００１９】
この態様によれば、アプリケーション側で求めるデータが、第１データに含まれるのか、第２データに含まれるのか予め明らかでない場合であっても、判断部により適切なマッチング対象が判断されるため、適切なデータフロー制御指令を生成することができる。これにより、アプリケーション側で求めるデータが、第１データ及び第２データのいずれに含まれるのかをユーザ端末装置によって判断する必要が無くなり、ユーザ端末装置の演算負荷や通信負荷が軽減される。
【００２０】
上記態様において、第２データに関する第２データ側メタデータを取得する第２データ側メタデータ取得部をさらに備え、マッチング部は、第２データ側メタデータ及びアプリ側メタデータのマッチングを行うことでアプリケーションの要求を満たす第２データを抽出し、送信部は、マッチング部により抽出された第２データを管理する第２データ管理装置に対して、マッチング部により抽出された第２データとアプリケーションとを特定したデータフロー制御指令を送信し、マッチング部は、アプリ側メタデータに対して、第２データ側メタデータより第１データ側メタデータを優先してマッチングさせてもよい。
【００２１】
この態様によれば、アプリケーション側で求めるデータが、第１データに含まれるのか、第２データに含まれるのか予め明らかでない場合であっても、一貫した処理によって適切なデータフロー制御指令を生成することができる。これにより、データフロー制御指令発生装置によるデータフロー制御指令の生成処理の演算及び通信が簡略化され、データフロー制御指令発生装置の演算負荷及び通信負荷が軽減される。また、アプリケーション側で求めるデータが、第１データ及び第２データのいずれに含まれるのかをユーザ端末装置によって判断する必要が無くなり、ユーザ端末装置の演算負荷や通信負荷が軽減される。
【００２２】
上記態様において、送信部は、マッチング部によりアプリ側メタデータに対して第２データ側メタデータがマッチングされた場合に、第２データ管理装置に対して、アプリケーションへ第２データをプッシュ型で送信するためのデータフロー制御指令を送信してもよい。
【００２３】
この態様によれば、アプリケーションが、リアルタイムで第２データを取得することができる。また、アプリケーションの要求を満たす第２データをユーザ端末装置のプロセッサを用いて検索する必要が無くなり、ユーザ端末装置の演算負荷及び通信負荷が軽減される。
【００２４】
上記態様において、第１データは、データベースに格納されたデータを含み、第２データは、センサから出力されるデータを含んでもよい。
【００２５】
この態様によれば、静的なデータとリアルタイムで出力される動的なデータの両方を適切に流通させ、アプリケーションによる利用を円滑化することができる。また、静的なデータと動的なデータとがメタデータにより分類されるため、ユーザ端末装置によって静的なデータと動的なデータとを分類するための処理が不要となり、ユーザ端末装置の演算負荷が軽減される。
【００２６】
上記態様において、第１データは、無償で二次利用が可能なデータを含み、第２データは、二次利用が不可能又は有償で二次利用が可能なデータを含んでもよい。
【００２７】
この態様によれば、無償のデータと有償のデータの両方を適切に流通させ、アプリケーションによる利用を円滑化することができる。また、無償のデータと有償のデータとがメタデータにより分類されるため、ユーザ端末装置によって無償のデータと有償のデータとを分類するための処理が不要となり、ユーザ端末装置の演算負荷が軽減される。
【００２８】
本発明の一態様に係るデータフロー制御指令発生方法は、第１データに関する情報である第１データ側メタデータを取得する第１ステップと、第１データを利用してサービスを提供するアプリケーションに関する情報であるアプリ側メタデータを取得する第２ステップと、第１データ側メタデータ及びアプリ側メタデータのマッチングを行うことでアプリケーションの要求を満たす第１データを抽出する第３ステップと、第３ステップにより抽出された第１データを格納するデータベースから第１データを取得するための情報を含むデータフロー制御指令を、アプリケーションを実行するユーザ端末装置に送信する第４ステップと、を含む。
【００２９】
この態様によれば、アプリケーションを実行するユーザ端末装置のプロセッサによって多くの演算を行い、多くの通信量を費やしてデータを検索せずとも、アプリケーションによる利用に適したデータが抽出され、アプリケーション側からデータを容易に取得できるようになり、ユーザ端末装置の演算負荷や通信負荷が軽減される。また、データが適切に流通され、アプリケーションによるデータの利用が円滑化される。
【００３０】
本発明の一態様に係るデータフロー制御指令発生プログラムは、コンピュータを、第１データに関する情報である第１データ側メタデータを取得する第１データ側メタデータ取得部と、第１データを利用してサービスを提供するアプリケーションに関する情報であるアプリ側メタデータを取得するアプリ側メタデータ取得部と、第１データ側メタデータ及びアプリ側メタデータのマッチングを行うことでアプリケーションの要求を満たす第１データを抽出するマッチング部と、マッチング部により抽出された第１データを格納するデータベースから第１データを取得するための情報を含むデータフロー制御指令を、直接又は間接に、アプリケーションを実行するユーザ端末装置に送信する送信部と、として機能させる。
【００３１】
この態様によれば、アプリケーションを実行するユーザ端末装置のプロセッサによって多くの演算を行い、多くの通信量を費やしてデータを検索せずとも、アプリケーションによる利用に適したデータが抽出され、アプリケーション側からデータを容易に取得できるようになり、ユーザ端末装置の演算負荷や通信負荷が軽減される。また、データが適切に流通され、アプリケーションによるデータの利用が円滑化される。
【発明の効果】
【００３２】
本発明によれば、データを適切に流通させ、アプリケーションによるデータの利用を円滑化するデータフロー制御指令発生装置、データフロー制御指令発生方法及びデータフロー制御指令発生プログラムが提供される。
【図面の簡単な説明】
【００３３】
【図１】本発明の実施形態に係るデータフロー制御指令発生装置により制御されるデータ流通の概要を示す図である。
【図２】本発明の実施形態に係るデータフロー制御指令発生装置の物理的構成を示す図である。
【図３】本発明の実施形態に係るデータフロー制御指令発生装置の機能ブロック図である。
【図４】オープンデータ側メタデータの内容の一例を示す図である。
【図５】オープンデータ側データフロー制御指令の内容を示す図である。
【図６】センサ側データフロー制御指令の内容を示す図である。
【図７】本発明の実施形態に係るデータフロー制御指令発生装置で行われる第１処理を示すフローチャートである。
【図８】本発明の実施形態に係るデータフロー制御指令発生装置で行われる第２処理を示すフローチャートである。
【図９】本発明の実施形態に係るデータフロー制御指令発生装置により取得されるオープンデータカタログの例を示す図である。
【図１０】オープンデータの公開ウェブページの例を示す図である。
【図１１】本発明の実施形態に係るデータフロー制御指令発生装置により行われるオープンデータ側メタデータ生成処理を示すフローチャートである。
【発明を実施するための形態】
【００３４】
添付図面を参照して、本発明の実施形態について説明する。なお、各図において、同一の符号を付したものは、同一又は同様の構成を有する。
【００３５】
図１は、本発明の実施形態に係るデータフロー制御指令発生装置１０により制御されるデータ流通の概要を示す図である。データフロー制御指令発生装置１０は、ユーザ端末装置４０で実行されるアプリケーションの要求に応じて、センサ群６０が出力するクローズドデータ又はデータベース群５０に含まれるデータベースに記録されているオープンデータをユーザ端末装置４０が取得できるようにデータフロー制御指令を生成する。データフロー制御指令発生装置１０は、ユーザ端末装置４０からアプリケーションに関するアプリ側メタデータを取得し、アプリ側メタデータとオープンデータ側メタデータ又はセンサ側メタデータとをマッチングさせる。データフロー制御指令発生装置１０は、マッチング結果に応じて、オープンデータ側データフロー制御指令をオープンデータ管理装置２０に送信するか又はセンサ側データフロー制御指令をセンサ管理装置３０に送信する。なお、データフロー制御指令発生装置１０は、オープンデータ側データフロー制御指令及びセンサ側データフロー制御指令を、直接又は間接にユーザ端末装置４０に送信してもよい。
【００３６】
オープンデータ管理装置２０は、第１データ管理装置に相当する。データフロー制御指令発生装置１０は、オープンデータ側データフロー制御指令をオープンデータ管理装置２０に送信し、オープンデータ管理装置２０は、少なくともオープンデータ側データフロー制御指令に含まれる条件に関するデータ（以下「第１条件データ」という。）をユーザ端末装置４０に送信する。第１条件データは、オープンデータをデータベースから取得するための情報を含み、ユーザ端末装置４０は、第１条件データに基づき、オープンデータをプル型で取得する。ここで、データをプル型で取得とは、ユーザ端末装置がデータベースにアクセスして、ユーザ端末装置からの要求に基づいて、データベースからデータを取得することをいう。
【００３７】
本明細書において、第１データはオープンデータを含む。オープンデータは、データベースに格納されている静的又は動的なデータである。例えば、公共交通分野における、鉄道運行データ及びパス・航空運行データ等は、オープンデータの一例である。また、Ｇ空間分野（地理空間情報に関する分野）における、基盤地図情報（道路地図、ハザードマップ等）、気象レーダデータ及びカープローブデータ等は、オープンデータの一例である。また、オープンデータは、任意の数のデータベースに格納され得る。本例では、オープンデータは、データベース群５０に含まれる第１データベース５１及び第２データベース５２に格納されている。オープンデータは、無償で二次利用が可能なデータであってもよい。ここで、二次利用が可能なデータとは、無制限で二次利用が認められたデータ及びデータの使用目的や改変に関する利用ルールに従う限り二次利用を認めているデータをいう。オープンデータは、必ずしもセンシングデータのみから構成される必要はなく、統計データやＰＯＳ（Ｐｏｉｎｔ  Ｏｆ  Ｓａｌｅｓ）データ等を含んでもよい。オープンデータは、例えば、官公庁により公開されているデータベースに格納され、データカタログサイトに登録されている場合がある。ここで、データカタログサイトは、登録されたオープンデータに関するオープンデータカタログを公開するウェブサイトである。オープンデータカタログ（図１において不図示）は、オープンデータの書誌情報を含み、オープンデータの概要を示すものであり、オープンデータそのものとは区別されて扱われてよい。オープンデータカタログは、オープンデータが格納されるデータベースと同じデータベースに格納されるものであってもよいし、他のデータベースに格納されるものであってもよい。
【００３８】
センサ管理装置３０は、第２データ管理装置に相当し、データフロー制御指令発生装置１０により抽出されたセンサに対し、センサからユーザ端末装置４０で実行されるアプリケーションに対してセンシングデータをプッシュ型で送信するためのセンサ側データフロー制御指令を送信する。ユーザ端末装置４０は、センサからプッシュ型で送信されたセンシングデータを取得する。ここで、データをプッシュ型で送信とは、ユーザ端末装置からデータベース等に対してデータの送信を要求せずとも、データベース等がユーザ端末装置に対して能動的にデータを送信することにより、ユーザ端末装置にデータを送信することをいう。
【００３９】
本明細書において、第２データはクローズドデータを含む。クローズドデータは、例えば、センサ群６０に含まれるセンサから出力されるセンシングデータ等の動的なデータを含む。センサ群６０は、任意の対象をセンシングする任意の数の機器から構成され、本例では第１センサ６１及び第２センサ６２を含む。センサ群６０が出力するクローズドデータは、二次利用が不可能又は有償で二次利用が可能なデータであって、利用するために個別の利用契約を必要とするものでもよい。
【００４０】
図２は、本発明の実施形態に係るデータフロー制御指令発生装置１０の物理的構成を示す図である。データフロー制御指令発生装置１０は、ハードウェアプロセッサに相当するＣＰＵ（Central Processing Unit）１０ａと、メモリに相当するＲＡＭ（Random Access Memory）１０ｂと、メモリに相当するＲＯＭ（Read only Memory）１０ｃと、通信部１０ｄと、入力部１０ｅと、表示部１０ｆとを有する。これら各構成は、バスを介して相互にデータ送受信可能に接続される。
【００４１】
ＣＰＵ１０ａは、ＲＡＭ１０ｂ又はＲＯＭ１０ｃに記憶されたプログラムの実行に関する制御やデータの演算、加工を行う制御部である。ＣＰＵ１０ａは、データフロー制御指令を生成するためのアプリケーションを実行する演算装置である。ＣＰＵ１０ａは、入力部１０ｅや通信部１０ｄから種々の入力データを受け取り、入力データの演算結果を表示部１０ｆに表示したり、ＲＡＭ１０ｂやＲＯＭ１０ｃに格納したりする。
【００４２】
ＲＡＭ１０ｂは、データの書き換えが可能な記憶部であり、例えば半導体記憶素子で構成される。ＲＡＭ１０ｂは、ＣＰＵ１０ａが実行するアプリケーション等のプログラムやデータを記憶する。
【００４３】
ＲＯＭ１０ｃは、データの読み出しのみが可能な記憶部であり、例えば半導体記憶素子で構成される。ＲＯＭ１０ｃは、例えばファームウェア等のプログラムやデータを記憶する。
【００４４】
通信部１０ｄは、データフロー制御指令発生装置１０を通信ネットワークに接続するインターフェースであり、例えば、有線又は無線回線のデータ伝送路により構成されたＬＡＮ（Local Area Network）、ＷＡＮ（Wide Area Network）、インターネット等の通信ネットワークに接続される。
【００４５】
入力部１０ｅは、ユーザからデータの入力を受け付けるものであり、例えば、キーボードやマウス、タッチパネルで構成される。
【００４６】
表示部１０ｆは、ＣＰＵ１０ａによる演算結果を視覚的に表示するものであり、例えば、ＬＣＤ（Liquid Crystal Display）により構成される。
【００４７】
データフロー制御指令発生装置１０は、一般のパーソナルコンピュータのＣＰＵ１０ａによって本実施形態に係るデータフロー制御指令発生プログラムを実行することで構成されてよい。データフロー制御指令発生プログラムは、ＲＡＭ１０ｂやＲＯＭ１０ｃ等のコンピュータによって読み取り可能な記憶媒体に記憶されて提供されてもよいし、通信部１０ｄにより接続される通信ネットワークを介して提供されてもよい。
【００４８】
なお、これらの物理的な構成は例示であって、必ずしも独立した構成でなくてもよい。例えば、データフロー制御指令発生装置１０は、ＣＰＵ１０ａとＲＡＭ１０ｂやＲＯＭ１０ｃが一体化したＬＳＩ（Large-Scale Integration）を備えてもよい。
【００４９】
図３は、本発明の実施形態に係るデータフロー制御指令発生装置１０の機能ブロック図である。データフロー制御指令発生装置１０は、センサ側メタデータ取得部１１、オープンデータ側メタデータ取得部１２、マッチング部１３、アプリ側メタデータ取得部１４、判断部１５、メタデータ生成部１６、データフロー制御指令生成部１７及び送信部１８を備える。なお、同図に示す機能ブロックは、データフロー制御指令発生装置１０の備える物理的構成を用いて発揮される機能を表すものであり、必ずしも物理的な構成と一対一に対応するものではない。
【００５０】
センサ側メタデータ取得部１１は、第２データ側メタデータ取得部に相当し、クローズドデータを出力するセンサ群６０に関する情報であるセンサ側メタデータを取得する。オープンデータ側メタデータ取得部１２は、第１データ側メタデータ取得部に相当し、オープンデータに関する情報であるオープンデータ側メタデータを取得する。本例では、センサ側メタデータをセンサ群６０から取得する（第１センサ６１及び第２センサ６２の少なくともいずれかから取得する）が、センサ側メタデータ取得部１１は、センサ側メタデータを格納したデータベースからセンサ側メタデータを取得してもよい。また、本例では、オープンデータ側メタデータを、オープンデータを格納する第１データベース５１及び第２データベース５２の少なくともいずれかから取得するが、オープンデータ側メタデータ取得部１２は、オープンデータ側メタデータのみを格納したデータベースからオープンデータ側メタデータを取得してもよい。また、後に詳細に説明するように、オープンデータ側メタデータは、予めデータベースに格納されていなくてもよく、メタデータ生成部１６により生成されるものであってもよい。メタデータ生成部１６は、オープンデータ側メタデータの一部をオープンデータカタログから取得する。また、メタデータ生成部１６は、オープンデータ側メタデータの一部をオープンデータに基づいて生成する。
【００５１】
アプリ側メタデータ取得部１４は、オープンデータを利用してサービスを提供するアプリケーションに関するアプリ側メタデータを、ユーザ端末装置４０から取得する。また、アプリ側メタデータ取得部１４は、クローズドデータを利用してサービスを提供するアプリケーションに関するアプリ側メタデータを、ユーザ端末装置４０から取得してもよい。また、アプリ側メタデータ取得部１４は、オープンデータ及びクローズドデータのいずれを利用するか明らかでないアプリケーションに関するアプリ側メタデータを取得する場合もある。
【００５２】
マッチング部１３は、オープンデータ側マッチング部１３ａと、センサ側マッチング部１３ｂとを含む。オープンデータ側マッチング部１３ａは、オープンデータ側メタデータ及びアプリ側メタデータのマッチングを行うことで、ユーザ端末装置４０で実行されるアプリケーションの要求を満たすオープンデータを抽出する。センサ側マッチング部１３ｂは、センサ側メタデータ及びアプリ側メタデータのマッチングを行うことでアプリケーションの要求を満たすクローズドデータを抽出する。より具体的には、センサ側マッチング部１３ｂは、センサ側メタデータ及びアプリ側メタデータのマッチングを行うことで、ユーザ端末装置４０で実行されるアプリケーションの要求を満たすクローズドデータを抽出し、当該クローズドデータを提供可能なセンサをセンサ群６０から抽出する。
【００５３】
判断部１５は、アプリ側メタデータに基づいて、マッチング部１３により、アプリ側メタデータに対してオープンデータ側メタデータ及びセンサ側メタデータのいずれをマッチングさせるか判断する。
【００５４】
データフロー制御指令生成部１７は、オープンデータ側データフロー制御指令生成部１７ａと、センサ側データフロー制御指令生成部１７ｂとを含む。オープンデータ側データフロー制御指令生成部１７ａは、オープンデータ側マッチング部１３ａにより抽出されたオープンデータをユーザ端末装置４０で実行されるアプリケーション側から取得するための第１条件データを含むオープンデータ側データフロー制御指令を生成する。センサ側データフロー制御指令生成部１７ｂは、センサ側マッチング部１３ｂにより抽出されたセンサと、ユーザ端末装置４０で実行されるアプリケーションとを特定したセンサ側データフロー制御指令を生成する。
【００５５】
送信部１８は、オープンデータ側データフロー制御指令生成部１７ａにより生成されたオープンデータ側データフロー制御指令を、直接又は間接に、アプリケーションを実行するユーザ端末装置４０に送信する。本実施形態に係る送信部１８は、オープンデータ側データフロー制御指令を、オープンデータを管理するオープンデータ管理装置２０に対して送信する。すなわち、送信部１８は、オープンデータ側データフロー制御指令を、間接的にユーザ端末装置４０に送信する。しかしながら、送信部１８は、オープンデータ側データフロー制御指令を、ユーザ端末装置４０に直接送信してもよい。また、送信部１８は、センサ側データフロー制御指令生成部１７ｂにより生成されたセンサ側データフロー制御指令を、マッチング部１３により抽出されたセンサ群６０を管理するセンサ管理装置３０に対して送信する。
【００５６】
メタデータ生成部１６は、オープンデータの内容に基づいて、オープンデータ側メタデータを生成する。メタデータ生成部１６は、オープンデータに含まれる文字データを解析して、以下で詳細に説明する４Ｗ２Ｈデータを抽出し、オープンデータ側メタデータを生成する。なお、メタデータ生成部１６によるオープンデータ側メタデータ生成処理については、図９から１１を用いて詳細に説明する。
【００５７】
図４は、オープンデータ側メタデータＯＭＤの内容の一例を示す図である。オープンデータ側メタデータＯＭＤは、第１データ側メタデータに相当し、オープンデータがアプリケーションの要求を満たすか否かを判断するために必要なデータであり、本例では４Ｗ２Ｈデータを含む。４Ｗ２Ｈデータは、誰が（Ｗｈｏ）、何を（Ｗｈａｔ）、いつ（Ｗｈｅｎ）、どこで（Ｗｈｅｒｅ）、どのように（Ｈｏｗ）取得し、幾らで（Ｈｏｗ  ｍｕｃｈ）提供するかを示すデータである。オープンデータ側メタデータＯＭＤは、オープンデータ自体と共にデータベースに格納されてもよいし、他のデータベースに格納されてもよいし、メタデータ生成部１６により生成されるものであってもよい。
【００５８】
オープンデータ側メタデータＯＭＤに含まれる「Ｗｈｏ」の項目は、データ提供者又はデータ提供団体に関するデータである。「Ｗｈａｔ」の項目は、データの種類、測定対象又は測定対象の属性に関するデータである。「Ｗｈｅｒｅ」の項目は、測定を行った位置や場所に関するデータである。ただし、データを取得するセンサが移動し、測定位置が変化する場合、測定位置の範囲を示す。「Ｗｈｅｎ」の項目は、測定を行った時間に関するデータである。データの取得が周期的に繰り返し行われる場合、データ取得の期間と取得間隔が示され、データの取得が単発的に行われる場合、データ取得の年月日及び時分秒が示される。「Ｈｏｗ」の項目は、データを取得するデバイスの仕様、測定条件や設置条件に関するデータである。「Ｈｏｗ  ｍｕｃｈ」の項目は、データ利用に要する金額や決済方式に関するデータである。
【００５９】
図４に示す例では、「Ｗｈｏ」の項目に「Ａ県河川管理課」と記載され、対応するオープンデータがＡ県の河川管理課により提供されたものであることを示している。「Ｗｈａｔ」の項目には「Ｘ川の水位」と記載され、測定対象がＸ川の水位であることを示している。「Ｗｈｅｎ」の項目には、「ＹＹ／ＭＭ／ＤＤ〜ｙｙ／ｍｍ／ｄｄ」と記載され、データ取得期間がＹＹ年のＭＭ月ＤＤ日からｙｙ年のｍｍ月ｄｄ日までであることを示している。なお、測定間隔が明示されていないが、測定間隔は、例えば毎日の昼１２時であってよい。また、「Ｗｈｅｎ」の項目は、各データが取得された時分秒に関するデータを含んでもよい。
【００６０】
「Ｗｈｅｒｅ」の項目には、「Ａ県Ｂ市  Ｘ川」と記載され、データ取得場所がＡ県Ｂ市を流れるＸ川であることを示している。「Ｗｈｅｒｅ」の項目には、データが取得された緯度経度に関するデータを含んでもよい。「Ｈｏｗ」の項目には、「詳細：ＵＲＬ」と記載され、詳細が記載されたデータの所在を表すＵＲＬが示されている。当該ＵＲＬにより所在を示されるデータには、例えば、データを測定するために用いられたデバイスの仕様やデバイスの設置場所、測定の目的の説明が含まれる。「Ｈｏｗ  ｍｕｃｈ」の項目には、「無償」と記載され、当該オープンデータが無償で二次利用できることを示している。
【００６１】
センサ側メタデータは、第２データ側メタデータに相当し、オープンデータ側メタデータＯＭＤと同様に、４Ｗ２Ｈデータを含む。センサ側メタデータは、二次利用に関する利用ルールを含んでもよい。また、アプリ側メタデータは、オープンデータ側メタデータＯＭＤと同様に、４Ｗ２Ｈデータを含む。アプリ側メタデータは、オープンデータ又はセンサ群６０から出力されるセンシングデータ（クローズドデータ）について利用ルールが定められている場合、どのような利用ルールであれば利用契約を結ぶかを示した利用条件データを含んでもよい。マッチング部１３により、アプリ側メタデータに対してセンサ側メタデータがマッチングされた場合、センサ側メタデータの「Ｈｏｗ  ｍｕｃｈ」の項目に示された条件でセンシングデータを利用することについて、アプリケーションのサービス提供者が同意したものとみなし、マッチングの成立をもって、センシングデータの提供者とアプリケーションのサービス提供者との間におけるデータ利用契約を結ぶこととしてもよい。なお、本実施形態では、オープンデータ側メタデータＯＭＤ及びセンサ側メタデータが、それぞれ４Ｗ２Ｈデータを含む場合について説明したが、オープンデータ側メタデータＯＭＤ及びセンサ側メタデータは、４Ｗ２Ｈデータの一部を含むものであってもよいし、４Ｗ２Ｈデータ以外のデータを含むものであってもよく、任意の項目を含むものであってよい。
【００６２】
本実施形態に係るデータフロー制御指令発生装置１０によれば、アプリケーションを実行するユーザ端末装置４０のプロセッサによって多くの演算を行い、多くの通信量を費やしてデータを検索せずとも、アプリケーションの利用に適したデータが抽出され、アプリケーション側からデータを容易に取得できるようになり、ユーザ端末装置４０の演算負荷や通信負荷が軽減される。より具体的には、データフロー制御指令発生装置１０によれば、ユーザ端末装置４０のプロセッサによって多くの演算を行い、多くの通信量を費やしてオープンデータを検索せずとも、アプリケーションによる利用に適したオープンデータが抽出され、アプリケーション側からオープンデータを容易に取得できるようになり、ユーザ端末装置４０の演算負荷や通信負荷が軽減される。データフロー制御指令発生装置１０によれば、オープンデータを適切に流通させ、アプリケーションによるオープンデータの利用を円滑化することができる。
【００６３】
本実施形態に係るデータフロー制御指令発生装置１０によれば、オープンデータ側データフロー制御指令をオープンデータ管理装置２０に送信するため、オープンデータ管理装置２０によってオープンデータを一括して管理することができ、ユーザ端末装置４０がオープンデータを利用する場合に、目的のオープンデータを検索するための演算負荷及び通信負荷が軽減される。
【００６４】
図５は、オープンデータ側データフロー制御指令ＯＣの内容を示す図である。オープンデータ側データフロー制御指令ＯＣは、第１データ側データフロー制御指令に相当し、マッチング部１３により抽出されたオープンデータを、オープンデータが格納されたデータベースから取得するための第１条件データＯＣ１を含む。第１条件データＯＣ１は、オープンデータが格納されたデータベースからオープンデータを取得するためのＡＰＩデータＯＣ２を含む。ＡＰＩデータＯＣ２は、ユーザ端末装置４０により実行されるアプリケーションによって、オープンデータを格納するデータベースからオープンデータを取得する処理を呼び出すＡＰＩ（Application Programming Interface）である。
【００６５】
オープンデータ側データフロー制御指令ＯＣが、データベースからオープンデータを取得するためのＡＰＩデータＯＣ２を含むことで、利用するオープンデータ毎にデータ処理の方法を判断する必要が無くなり、アプリケーションにより実行する処理が簡略化され、ユーザ端末装置４０の演算負荷が軽減される。
【００６６】
図６は、センサ側データフロー制御指令ＳＣの内容を示す図である。センサ側データフロー制御指令ＳＣは、第２データ側データフロー制御指令に相当し、マッチング部１３により抽出されたセンサとアプリケーションとを特定したセンサ及びアプリ特定データＳＣ１を含む。センサ及びアプリ特定データＳＣ１は、センサ管理装置３０に対して、マッチング部１３により抽出されたセンサからアプリケーションへ、センシングデータをプッシュ型で送信するための第２条件データＳＣ２を含む。送信部１８は、マッチング部１３によりアプリ側メタデータに対してセンサ側メタデータがマッチングされた場合に、第２条件データＳＣ２を含むセンサ側データフロー制御指令ＳＣを、センサ管理装置３０に送信する。
【００６７】
センサ側データフロー制御指令ＳＣが、センサ群６０に含まれるセンサからアプリケーションへ、センシングデータをプッシュ型で送信するためのデータＳＣ２（以下「第２条件データＳＣ２」という。）を含むことで、アプリケーションは、センサ群６０からリアルタイムでセンシングデータを取得することができる。これにより、アプリケーションは、センサ群６０による測定対象の現状に即した動的なサービスを提供することができる。また、センシングデータがアプリケーションに対してプッシュ型で送信されることで、アプリケーションの要求を満たすセンシングデータをユーザ端末装置４０のプロセッサを用いて検索する必要が無くなり、ユーザ端末装置４０の演算負荷及び通信負荷が軽減される。
【００６８】
なお、センサ側データフロー制御指令ＳＣは、必ずしも第２条件データＳＣ２を含まなくてもよく、センサ群６０に含まれるセンサからプル型でセンシングデータを取得するための情報を含んでもよい。その場合、センサからプル型でセンシングデータを取得するための情報は、センサ群６０（又はデータベース）からセンシングデータを取得する処理を呼び出すためのＡＰＩデータを含んでもよい。
【００６９】
図７は、本発明の実施形態に係るデータフロー制御指令発生装置１０で行われる第１処理を示すフローチャートである。第１処理は、判断部１５によって、アプリ側メタデータに対してオープンデータ側メタデータ及びセンサ側メタデータのいずれをマッチングさせるか判断する処理を含む。
【００７０】
データフロー制御指令発生装置１０は、はじめに、アプリ側メタデータ取得部１４により、ユーザ端末装置４０からアプリ側メタデータを取得する（Ｓ１０）。判断部１５は、取得したアプリ側メタデータに基づいて、マッチング部１３により、アプリ側メタデータに対してオープンデータ側メタデータ及びセンサ側メタデータのいずれをマッチングさせるか判断する（Ｓ１１）。
【００７１】
アプリ側メタデータに対してオープンデータ側メタデータをマッチングさせると判断された場合（Ｓ１１：Ｙｅｓ）、オープンデータ側マッチング部１３ａは、アプリ側メタデータとオープンデータ側メタデータのマッチング処理を行う（Ｓ１２）。オープンデータ側データフロー制御指令生成部１７ａは、マッチングされたアプリケーションとオープンデータについて、オープンデータを格納するデータベースからオープンデータを取得するための第１条件データを含むオープンデータ側データフロー制御指令を生成する（Ｓ１３）。送信部１８は、オープンデータ管理装置２０に対して、オープンデータ側データフロー制御指令を送信する（Ｓ１４）。この後、オープンデータ管理装置２０は、少なくとも第１条件データをユーザ端末装置４０に送信する。すなわち、データフロー制御指令発生装置１０は、オープンデータ側データフロー制御指令を間接的にユーザ端末装置４０に送信する。しかしながら、データフロー制御指令発生装置１０は、オープンデータ側データフロー制御指令をオープンデータ管理装置２０に送らず、ユーザ端末装置４０に直接送信してもよい。
【００７２】
一方、アプリ側メタデータに対してセンサ側メタデータをマッチングさせると判断された場合（Ｓ１１：Ｎｏ）、センサ側マッチング部１３ｂは、アプリ側メタデータとセンサ側メタデータのマッチング処理を行い（Ｓ１６）、アプリケーションの要求を満たすセンシングデータを提供可能なセンサをセンサ群６０から抽出する。センサ側データフロー制御指令生成部１７ｂは、マッチングされたアプリケーションとセンサを特定したセンサ側データフロー制御指令を生成する（Ｓ１７）。送信部１８は、センサ管理装置３０に対して、センサ側データフロー制御指令を送信する（Ｓ１８）。
【００７３】
本実施形態に係るデータフロー制御指令発生装置１０によれば、アプリケーション側で求めるデータが、オープンデータに含まれるのか、クローズドデータに含まれるのか予め明らかでない場合であっても、判断部１５により適切なマッチング対象が判断されるため、適切なデータフロー制御指令を生成することができる。これにより、アプリケーション側で求めるデータが、オープンデータ及びクローズドデータのいずれに含まれるのかをユーザ端末装置４０によって判断する必要が無くなり、ユーザ端末装置４０の演算負荷や通信負荷が軽減される。
【００７４】
図８は、本発明の実施形態に係るデータフロー制御指令発生装置１０で行われる第２処理を示すフローチャートである。第２処理は、マッチング部１３によって、アプリ側メタデータに対して、センサ側メタデータよりオープンデータ側メタデータを優先してマッチングさせる処理を含む。
【００７５】
データフロー制御指令発生装置１０は、はじめに、アプリ側メタデータ取得部１４により、ユーザ端末装置４０からアプリ側メタデータを取得する（Ｓ２０）。マッチング部１３は、取得したアプリ側メタデータに対して、センサ側メタデータよりオープンデータ側メタデータを優先してマッチングさせるよう、マッチング処理の試行を行う（Ｓ２１）。
【００７６】
アプリ側メタデータとオープンデータ側メタデータのマッチングが完了した場合（Ｓ２２：Ｙｅｓ）、オープンデータ側データフロー制御指令生成部１７ａは、マッチングされたアプリケーションとオープンデータについて、オープンデータを格納するデータベースからオープンデータを取得するための第１条件データを含むオープンデータ側データフロー制御指令を生成する（Ｓ２３）。送信部１８は、オープンデータ管理装置２０に対して、オープンデータ側データフロー制御指令を送信する（Ｓ２４）。この後、オープンデータ管理装置２０は、少なくとも第１条件データをユーザ端末装置４０に送信する。データフロー制御指令発生装置１０は、オープンデータ側データフロー制御指令をオープンデータ管理装置２０に送らず、ユーザ端末装置４０に直接送信してもよい。
【００７７】
一方、アプリ側メタデータとオープンデータ側メタデータのマッチングが完了しなかった場合、すなわちアプリ側メタデータとマッチング可能なオープンデータ側メタデータが見つからなかった場合（Ｓ２２：Ｎｏ）、センサ側マッチング部１３ｂは、アプリ側メタデータとセンサ側メタデータのマッチング処理を行い（Ｓ２６）、アプリケーションの要求を満たすセンシングデータを提供可能なセンサをセンサ群６０から抽出する。センサ側データフロー制御指令生成部１７ｂは、マッチングされたアプリケーションとセンサを特定したセンサ側データフロー制御指令を生成する（Ｓ２７）。送信部１８は、センサ管理装置３０に対して、センサ側データフロー制御指令を送信する（Ｓ２８）。
【００７８】
本実施形態に係るデータフロー制御指令発生装置１０によれば、アプリケーション側で求めるデータが、オープンデータに含まれるのか、クローズドデータに含まれるのか予め明らかでない場合であっても、一貫した処理によって適切なデータフロー制御指令を生成することができる。これにより、データフロー制御指令発生装置１０によるデータフロー制御指令の生成処理の演算及び通信が簡略化され、データフロー制御指令発生装置１０の演算負荷及び通信負荷が軽減される。また、アプリケーション側で求めるデータが、オープンデータ及びクローズドデータのいずれに含まれるのかをユーザ端末装置４０によって判断する必要が無くなり、ユーザ端末装置４０の演算負荷や通信負荷が軽減される。また、仮にクローズドデータとオープンデータの両方がアプリケーションの要求を満たすデータを含む場合に、無償で二次利用が可能なオープンデータを優先的に利用することができ、データ利用料の増加を抑え、サービスの提供に要する費用をより少なく抑えることができる。
【００７９】
本実施形態に係るデータフロー制御指令発生装置１０によれば、データベースに格納された静的なデータとリアルタイムで出力される動的なデータの両方を適切に流通させ、アプリケーションによる利用を円滑化することができる。また、静的なデータと動的なデータとがメタデータにより分類されるため、ユーザ端末装置４０によって静的なデータと動的なデータとを分類するための処理が不要となり、ユーザ端末装置４０の演算負荷が軽減される。また、無償のデータと有償のデータの両方を適切に流通させ、アプリケーションによる利用を円滑化することができる。また、無償のデータと有償のデータとがメタデータにより分類されるため、ユーザ端末装置４０によって無償のデータと有償のデータとを分類するための処理が不要となり、ユーザ端末装置４０の演算負荷が軽減される。
【００８０】
図９は、本発明の実施形態に係るデータフロー制御指令発生装置１０により取得されるオープンデータカタログＯＤＣの例を示す図である。以下では、図９から１１を用いて、本実施形態に係るメタデータ生成部１６によって、図４に示すオープンデータ側メタデータＯＭＤがどのように生成されるかについて詳細に説明する。メタデータ生成部１６は、第１データベース５１、第２データベース５２又は他のデータベースから、オープンデータカタログＯＤＣを取得する。オープンデータカタログＯＤＣの取得は、オープンデータカタログサイトから行われてよい。オープンデータカタログＯＤＣは、オープンデータに関連付けられ、オープンデータの書誌情報を含み、オープンデータの概要を示すものである。
【００８１】
オープンデータカタログＯＤＣは、「フィールド」の項目と、「タイトル」の項目ＯＤＣ１と、「公表組織名」の項目ＯＤＣ２と、「タグ」の項目と、「公開ウェブページ」の項目ＯＤＣ３と、を含む。「フィールド」の項目は、オープンデータのデータ属性を表し、本例では「値」すなわち数値である。「タイトル」の項目ＯＤＣ１は、オープンデータに付けられた題名を表し、本例の場合「Ｃバンドレーダ雨量・水位」である。「公表組織名」の項目ＯＤＣ２は、オープンデータを公表した組織の名称を表し、本例の場合「Ａ県河川管理課」である。「タグ」の項目は、オープンデータを検索するために付されたタグを表し、本例の場合「ｄｉｓａｓｔｅｒ、河川情報、災害、防災、観測」である。「公開ウェブページ」の項目ＯＤＣ３は、オープンデータが公開されているウェブページの所在を表し、本例の場合「ＵＲＬ」であり、インターネット上における所在を特定するＵＲＬ（Uniform Resource Locator）である。なお、ここで示した５つの項目は例示であり、オープンデータカタログＯＤＣは、必ずしもこれら全てを含む必要は無いし、これら以外の項目を含んでもよい。
【００８２】
メタデータ生成部１６は、「タイトル」の項目ＯＤＣ１を参照して、オープンデータのジャンルを抽出する。オープンデータのジャンルは、当該オープンデータに関連する分野を特定し得る情報であり、例えば、製造分野、モビリティ、医療・健康、公共インフラ・建設、エネルギー、農業、物流・流通、行政、産業保安、教育サービス、金融、スマートハウス及び観光等、オープンデータに関連する産業分野であってよい。メタデータ生成部１６は、「タイトル」の項目ＯＤＣ１の内容に基づいて、オープンデータがいずれのジャンルに属するものであるか判断してよい。例えば、メタデータ生成部１６は、「タイトル」の項目ＯＤＣ１について、複数のジャンルに関する従属度を算出し、従属度の最も大きいジャンルを抽出したり、従属度の大きい順に複数のジャンルを抽出したりしてよい。また、メタデータ生成部１６は、オープンデータカタログＯＤＣに含まれる「タイトル」の項目ＯＤＣ１以外の項目を参照して、オープンデータのジャンルを抽出してもよい。例えば、メタデータ生成部１６は、オープンデータカタログＯＤＣに含まれる項目からジャンルの抽出に適した項目を検索し、検索された項目からオープンデータのジャンルを抽出してもよい。
【００８３】
メタデータ生成部１６は、「公表組織名」の項目ＯＤＣ２を参照して、オープンデータ側メタデータＯＭＤの４Ｗ２Ｈデータのうち「Ｗｈｏ」の項目を抽出する。本例の場合、抽出される項目は「Ａ県河川管理課」であり、図４に示すように当該項目がオープンデータ側メタデータＯＭＤの「Ｗｈｏ」の項目となる。メタデータ生成部１６は、オープンデータカタログＯＤＣに含まれる「公表組織名」の項目ＯＤＣ２以外の項目を参照して、オープンデータ側メタデータＯＭＤの「Ｗｈｏ」の項目を抽出してもよい。例えば、メタデータ生成部１６は、オープンデータカタログＯＤＣに含まれる項目から「Ｗｈｏ」の項目の抽出に適した項目を検索し、検索された項目から「Ｗｈｏ」の項目を抽出してもよい。
【００８４】
メタデータ生成部１６は、「公開ウェブページ」の項目ＯＤＣ３を参照して、オープンデータ側メタデータＯＭＤの４Ｗ２Ｈデータのうち「Ｈｏｗ」の項目を抽出する。本例の場合、抽出される項目は「ＵＲＬ」であり、図４に示すように当該項目がオープンデータ側メタデータＯＭＤの「Ｈｏｗ」の項目となる。メタデータ生成部１６は、オープンデータカタログＯＤＣに含まれる「公開ウェブページ」の項目ＯＤＣ３以外の項目を参照して、オープンデータ側メタデータＯＭＤの「Ｈｏｗ」の項目を抽出してもよい。例えば、メタデータ生成部１６は、オープンデータカタログＯＤＣに含まれる項目から「Ｈｏｗ」の項目の抽出に適した項目を検索し、検索された項目から「Ｈｏｗ」の項目を抽出してもよい。
【００８５】
図１０は、オープンデータの公開ウェブページＤＰの例を示す図である。同図に示すオープンデータの公開ウェブページＤＰの例は、図９に示すオープンデータカタログＯＤＣの「公開ウェブページ」の項目ＯＤＣ３に記載されたＵＲＬにアクセスして得られるものである。公開ウェブページＤＰは、「河の防災情報」と題されたウェブページであり、「過去データ（河川の水位）」を公開するウェブページである。公開ウェブページＤＰは、第１項目ＤＰ１、第２項目ＤＰ２及び第３項目を含む。
【００８６】
メタデータ生成部１６は、オープンデータの属するジャンルに対応する語彙に基づいてオープンデータを検索し、オープンデータからオープンデータ側メタデータを抽出する。メタデータ生成部１６は、オープンデータカタログＯＤＣから抽出されたオープンデータのジャンルに基づいて、公開ウェブページＤＰの検索に用いる語彙を決定する。語彙は、オープンデータのジャンル毎に異なるものであってよく、当該ジャンルにおいて用いられる頻度が高い単語の集合であってよい。メタデータ生成部１６は、語彙に含まれる単語との完全一致や部分一致によって、公開ウェブページＤＰからオープンデータ側メタデータＯＭＤの４Ｗ２Ｈデータを抽出する。これにより、オープンデータの内容に適した語彙でオープンデータを検索することができ、オープンデータ側メタデータの抽出を効率良く行うことができる。そのため、データフロー制御指令発生装置１０の演算負荷をより低く抑えてオープンデータ側メタデータを生成することができる。
【００８７】
第１項目ＤＰ１は、「河川名」として「Ｘ川」を含み、「所在地」として「Ａ県Ｂ市」を含む。公開ウェブページＤＰの第１項目ＤＰ１を参照して、オープンデータ側メタデータＯＭＤの４Ｗ２Ｈデータのうち「Ｗｈｅｒｅ」の項目を抽出する。本例の場合、抽出される項目は「Ａ県Ｂ市  Ｘ川」であり、図４に示すように当該項目がオープンデータ側メタデータＯＭＤの「Ｗｈｅｒｅ」の項目となる。なお、メタデータ生成部１６は、公開ウェブページＤＰに記載された「水系名」を抽出して、「Ｙ川水系Ｘ川」という情報をオープンデータ側メタデータＯＭＤとしてもよい。
【００８８】
第２項目ＤＰ２は、「日付」として「ＹＹ／ＭＭ／ＤＤ」から「ｙｙ／ｍｍ／ｄｄ」までを含む。メタデータ生成部１６は、公開ウェブページＤＰの第２項目ＤＰ２を参照して、オープンデータ側メタデータＯＭＤの４Ｗ２Ｈデータのうち「Ｗｈｅｎ」の項目を抽出する。本例の場合、抽出される項目は「ＹＹ／ＭＭ／ＤＤ〜ｙｙ／ｍｍ／ｄｄ」であり、図３に示すように当該項目がオープンデータ側メタデータＯＭＤの「Ｗｈｅｎ」の項目となる。
【００８９】
第３項目ＤＰ３は、「観測項目」として「水位（ｍ）」を含む。メタデータ生成部１６は、公開ウェブページＤＰの第３項目ＤＰ３を参照して、オープンデータ側メタデータＯＭＤの４Ｗ２Ｈデータのうち「Ｗｈａｔ」の項目を抽出する。本例の場合、抽出される項目は「水位」であり、「Ｗｈｅｒｅ」の項目に含まれる「Ｘ川」の情報を併せて、図４に示すオープンデータ側メタデータＯＭＤの「Ｗｈａｔ」の項目となる。
【００９０】
公開ウェブページＤＰは、各日付について、１時間毎のＸ川の水位に関するデータを公開している。例えば、「ＹＹ／ＭＭ／ＤＤ」の日付について、Ｘ川の水位は、午前１時及び午前２時に「０．９８」（ｍ）であり、深夜１２時に「０．９５」（ｍ）である。また、「ｙｙ／ｍｍ／ｄｄ」の日付について、Ｘ川の水位は、午前１時及び午前２時に「０．９５」（ｍ）であり、深夜１２時に「０．９６」（ｍ）である。Ｘ川の水位に関するデータは、オープンデータであり、本実施形態に係るデータフロー制御指令発生装置１０は、メタデータ生成部１６によって当該オープンデータに対し図４に示すオープンデータ側メタデータＯＤＭを付与し、オープンデータの円滑な流通とアプリケーションによる利用を促進する。
【００９１】
図１１は、本発明の実施形態に係るデータフロー制御指令発生装置１０により行われるオープンデータ側メタデータ生成処理を示すフローチャートである。データフロー制御指令発生装置１０のメタデータ生成部１６は、はじめに、メタデータ付与の対象となるオープンデータのオープンデータカタログを取得する（Ｓ３１）。メタデータ生成部１６は、オープンデータカタログに含まれる「タイトル」の項目を参照して、オープンデータのジャンルを抽出する（Ｓ３２）。また、メタデータ生成部１６は、「公表組織名」の項目を参照して、オープンデータ側メタデータの４Ｗ２Ｈデータのうち「Ｗｈｏ」の項目を抽出する（Ｓ３３）。さらに、メタデータ生成部１６は、「公開ウェブページ」の項目を参照して、オープンデータ側メタデータの４Ｗ２Ｈデータのうち「Ｈｏｗ」の項目を抽出する（Ｓ３４）。
【００９２】
メタデータ生成部１６は、オープンデータカタログに記載された「公開ウェブページ」にアクセスすることで、オープンデータを取得（公開ウェブページを閲覧）する（Ｓ３５）。また、メタデータ生成部１６は、オープンデータカタログＯＤＣから抽出されたオープンデータのジャンルに基づいて、公開ウェブページの検索に用いる語彙リストを決定する。メタデータ生成部１６は、抽出されたジャンルに対応する語彙に基づいて、公開ウェブページからオープンデータ側メタデータの４Ｗ２Ｈデータのうち「Ｗｈｅｎ」の項目を抽出する（Ｓ３６）。また、メタデータ生成部１６は、抽出されたジャンルに対応する語彙に基づいて、公開ウェブページからオープンデータ側メタデータの４Ｗ２Ｈデータのうち「Ｗｈｅｒｅ」の項目を抽出する（Ｓ３７）。さらに、メタデータ生成部１６は、抽出されたジャンルに対応する語彙に基づいて、公開ウェブページからオープンデータ側メタデータの４Ｗ２Ｈデータのうち「Ｗｈａｔ」の項目を抽出する（Ｓ３８）。最後に、メタデータ生成部１６は、抽出した４Ｗ２Ｈデータに基づいて、オープンデータ側メタデータを生成する（Ｓ３９）。以上により、オープンデータ側メタデータ生成処理は終了する。
【００９３】
本実施形態に係るデータフロー制御指令発生装置１０は、メタデータ生成部１６を備えることで、メタデータが付与されていないオープンデータであっても、新たにメタデータを生成し、オープンデータがアプリケーションに利用される機会を与えることができる。メタデータの生成は、オープンデータの具体的内容に基づいて自動的に行われ、これにより大量のオープンデータを類別できるようになり、より多くのオープンデータの利活用が図られる。また、メタデータが付与されていないオープンデータが減ることで、ユーザ端末装置４０によってオープンデータを検索するための演算負荷や通信負荷を低く抑えつつ、より多くのオープンデータがユーザ端末装置４０で実行されるアプリケーションによって利用されるようにできる。
【００９４】
以上説明した実施形態は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。実施形態が備える各要素並びにその配置、材料、条件、形状及びサイズ等は、例示したものに限定されるわけではなく適宜変更することができる。また、異なる実施形態で示した構成同士を部分的に置換し又は組み合わせることが可能である。
【００９５】
また、上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
【００９６】
（付記１）
少なくとも１つのメモリと、前記メモリと接続された少なくとも１つのハードウェアプロセッサとを有し、
前記ハードウェアプロセッサは、
第１データに関する情報である第１データ側メタデータを取得し、
前記第１データを利用してサービスを提供するアプリケーションに関する情報であるアプリ側メタデータを取得し、
前記第１データ側メタデータ及び前記アプリ側メタデータのマッチングを行うことで前記アプリケーションの要求を満たす第１データを抽出し、
前記マッチング部により抽出された第１データを格納するデータベースから前記第１データを取得するための情報を含むデータフロー制御指令を、前記アプリケーションを実行するユーザ端末装置に送信する
ように構成されているデータフロー制御指令発生装置。
【００９７】
（付記２）
少なくとも１つのハードウェアプロセッサによって、第１データに関する情報である第１データ側メタデータを取得する第１ステップと、
前記ハードウェアプロセッサによって、前記第１データを利用してサービスを提供するアプリケーションに関する情報であるアプリ側メタデータを取得する第２ステップと、
前記ハードウェアプロセッサによって、前記第１データ側メタデータ及び前記アプリ側メタデータのマッチングを行うことで前記アプリケーションの要求を満たす第１データを抽出する第３ステップと、
前記ハードウェアプロセッサによって、前記第３ステップにより抽出された第１データを格納するデータベースから前記第１データを取得するための情報を含むデータフロー制御指令を、前記アプリケーションを実行するユーザ端末装置に送信する第４ステップと、
を実行するデータフロー制御指令発生方法。
【符号の説明】
【００９８】
１０…データフロー制御指令発生装置、１０ａ…ＣＰＵ、１０ｂ…ＲＡＭ、１０ｃ…ＲＯＭ、１０ｄ…通信部、１０ｅ…入力部、１０ｆ…表示部、１１…センサ側メタデータ取得部、１２…オープンデータ側メタデータ取得部、１３…マッチング部、１３ａ…オープンデータ側マッチング部、１３ｂ…センサ側マッチング部、１４…アプリ側メタデータ取得部、１５…判断部、１６…メタデータ生成部、１７…データフロー制御指令生成部、１７ａ…オープンデータ側データフロー制御指令生成部、１７ｂ…センサ側データフロー制御指令生成部、１８…送信部、２０…オープンデータ管理装置、３０…センサ管理装置、４０…ユーザ端末装置、５０…データベース群、５１…第１データベース、５２…第２データベース、６０…センサ群、６１…第１センサ、６２…第２センサ、ＤＰ…公開ウェブページ、ＤＰ１…第１項目、ＤＰ２…第２項目、ＤＰ３…第３項目、ＯＣ…オープンデータ側データフロー制御指令、ＯＣ１…第１条件データ、ＯＣ２…ＡＰＩデータ、ＯＤＣ…オープンデータカタログ、ＯＤＣ１…「タイトル」の項目、ＯＤＣ２…「公表組織名」の項目、ＯＤＣ３…「公開ウェブページ」の項目、ＯＭＤ…オープンデータ側メタデータ、ＳＣ…センサ側データフロー制御指令、ＳＣ１…センサ及びアプリ特定データ、ＳＣ２…第２条件データ。
【図１】
2018106493.tif 000003
【図２】
2018106493.tif 000004
【図３】
2018106493.tif 000005
【図４】
2018106493.tif 000006
【図５】
2018106493.tif 000007
【図６】
2018106493.tif 000008
【図７】
2018106493.tif 000009
【図８】
2018106493.tif 000010
【図９】
2018106493.tif 000011
【図１０】
2018106493.tif 000012
【図１１】
2018106493.tif 000013