JP6764115B2 - 表示プログラム、表示方法および表示装置 - Google Patents

表示プログラム、表示方法および表示装置 Download PDF

Info

Publication number
JP6764115B2
JP6764115B2 JP2017015567A JP2017015567A JP6764115B2 JP 6764115 B2 JP6764115 B2 JP 6764115B2 JP 2017015567 A JP2017015567 A JP 2017015567A JP 2017015567 A JP2017015567 A JP 2017015567A JP 6764115 B2 JP6764115 B2 JP 6764115B2
Authority
JP
Japan
Prior art keywords
query
data
identifiers
visualization
data items
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2017015567A
Other languages
English (en)
Other versions
JP2018124728A (ja
Inventor
西野 文人
文人 西野
裕章 森川
裕章 森川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2017015567A priority Critical patent/JP6764115B2/ja
Priority to PCT/JP2018/001281 priority patent/WO2018142942A1/ja
Publication of JP2018124728A publication Critical patent/JP2018124728A/ja
Priority to US16/447,916 priority patent/US10956505B2/en
Application granted granted Critical
Publication of JP6764115B2 publication Critical patent/JP6764115B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/90335Query processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9024Graphs; Linked lists
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/9032Query formulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/9038Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units

Description

本発明は表示プログラム、表示方法および表示装置に関する。
ユーザが閲覧するWebページを動的に生成する技術として、ダイナミックパブリッシングと呼ばれる技術がある。ダイナミックパブリッシングは、ダイナミックセマンティックパブリッシング、動的配信システム、データ駆動型コンテンツサービスなど様々な名称で呼ばれることがある。ダイナミックパブリッシングでは、最終的な表示画面を静的ファイルとして保持するのではなく、テンプレートを用意しておき、それに指定された具体的なデータを適用することで、グラフやピンを埋め込んだ地図、データを埋め込んだ一覧表などの表示画面を動的に生成することができる。このために、ユーザの要求に応じてデータベースから関連するデータを抽出し、抽出したデータを可視化する仕組みが構築される。
ダイナミックパブリッシングを実現するプログラムの少なくとも一部は、Webページを表示するクライアント上で実行されることがある。例えば、クライアントは、Webサーバからプログラムファイル(スクリプトファイルなど)をダウンロードする。プログラムファイルには、データファイルの中からユーザの入力に応じたデータを検索する検索モジュールや、検索されたデータを加工して可視化コンテンツを生成する可視化モジュールなどが含まれる。クライアントは、ユーザの入力に応じてプログラムモジュールを呼び出して、必要なデータを検索して取り出し、そのデータを使って可視化コンテンツを動的に生成する。生成された可視化コンテンツはレンダリングされてWebページとして表示される。
なお、無線端末に対してマルチメディア機能を提供するパブリッシングシステムが提案されている。提案のパブリッシングシステムでは、サーバがシーン記述データに基づいてアプリケーションデータを動的に生成して無線端末に送信する。アプリケーションデータは、コンテンツデータ、レイアウトデータおよび制御ロジックデータを含む。無線端末は、イベントに応答して、受信したアプリケーションデータを用いて表示を制御する。
また、Webサイトの階層構造に基づいて動的にナビゲーションリンクを生成する統合ナビゲーションシステムが提案されている。
また、メモリコピーの処理コストを低減させるWebアプリケーションサーバが提案されている。提案のWebアプリケーションサーバは、スクリプトプログラムを実行しているとき、他のファイルのデータを埋め込む命令を検出する。当該命令を検出すると、Webアプリケーションサーバは、その段階では当該他のファイルのデータを読み込まずに当該他のファイルの識別情報を記録しておく。Webアプリケーションサーバは、スクリプトプログラムによって生成されたHTML(HyperText Markup Language)ファイルと併せて、上記の識別情報が示す他のファイルをクライアントに送信する。
また、複数のデータベースを仮想的に統合した仮想データベースの機能をクライアントに対して提供する仮想データベースシステムが提案されている。提案の仮想データベースシステムは、クライアントから認識される仮想データベースのスキーマと、複数のデータベースのスキーマと、両者を変換するマッピングルールとを記憶する。仮想データベースシステムは、クライアントから受信した仮想クエリを、マッピングルールに基づいて複数のデータベースに対するクエリに変換し、それら複数のデータベースに送信する。
国際公開第2003/052626号 特開2006−107429号公報 特開2009−289153号公報 特開2014−241042号公報
典型的なダイナミックパブリッシングでは、ユーザが1つのデータ要素(エンティティと呼ぶことがある)の識別子を指定する。すると、検索モジュールが当該1つの識別子に関連するデータを検索し、可視化モジュールが当該1つの識別子に対応する可視化コンテンツを生成する。例えば、データファイルに都市と年度と人口の関係が記載されているとする。この場合に、ユーザが「東京」の識別子を指定すると、東京の各年度の人口が検索されて東京の人口変化を示すグラフが生成される。また、ユーザが「大阪」の識別子を指定すると、大阪の各年度の人口が検索されて大阪の人口変化を示すグラフが生成される。
ここで、ユーザは複数の識別子に関連するデータを視覚的に比較したいことがある。このとき、複数の識別子に対応する複数の可視化コンテンツを並べて表示するよりも、これら複数の可視化コンテンツが統合された単一の可視化コンテンツを表示する方が好ましいことがある。例えば、東京の人口変化を示すグラフと大阪の人口変化を示すグラフと名古屋の人口変化を示すグラフの3つを並べて表示するよりも、東京と大阪と名古屋の3都市の人口変化を重ねて表した単一のグラフを表示した方が好ましいことがある。
しかし、ユーザが指定する識別子の組み合わせや識別子の個数には様々なバリエーションが考えられる。よって、ユーザが複数の識別子を指定する場合において、どのようにすれば単一の可視化コンテンツを生成する仕組みを効率的に実現できるかが問題となる。
1つの方法としては、ユーザが指定した個々の識別子毎に検索モジュールを呼び出して複数の識別子に対応する複数の検索結果を取得し、それら複数の検索結果を統合して可視化モジュールに入力するデータを生成する方法が考えられる。しかしながら、この方法では、検索モジュールの呼び出し回数の増加や検索結果の事後的な統合によってデータ抽出の負荷が高くなり遅延時間が大きくなるおそれがある。
1つの側面では、本発明は、複数の識別子に関連するデータの可視化処理を効率化する表示プログラム、表示方法および表示装置を提供することを目的とする。
1つの態様では、コンピュータに以下の処理を実行させる表示プログラムが提供される。出力する1以上のデータ項目を示す出力定義文と、指定される識別子を示すパラメータを用いて指定される識別子と1以上のデータ項目との間の関係を記載した検索条件文と、を含むクエリテンプレートを取得する。複数の識別子が指定された場合に、取り得る値の範囲が複数の識別子の集合である変数を検索条件文の中に定義してパラメータを変数に置換すると共に、変数の値に応じた他のデータ項目を出力定義文に追加することで、クエリテンプレートと複数の識別子とに基づくクエリを生成する。クエリに基づいて検索された1以上のデータ項目と他のデータ項目とを含む検索結果データを取得し、検索結果データを視覚的情報に変換して表示させる。
また、1つの態様では、コンピュータが実行する表示方法が提供される。また、1つの態様では、記憶部と処理部とを有する表示装置が提供される。
1つの側面では、複数の識別子に関連するデータの可視化処理が効率化される。
第1の実施の形態の表示装置の例を示す図である。 第2の実施の形態の情報処理システムの例を示す図である。 クライアント装置のハードウェア例を示すブロック図である。 クライアント装置の機能例を示すブロック図である。 RDFデータを表すグラフ例を示す図である。 RDFデータの記載例を示す図である。 クエリテンプレートの例を示す図である。 第1のクエリおよび第1の検索結果の例を示す図である。 第2のクエリおよび第2の検索結果の例を示す図である。 検索結果を可視化したグラフの表示例を示す図である。 動的可視化の手順例を示すフローチャートである。 動的可視化の手順例を示すフローチャート(続き)である。
以下、本実施の形態を図面を参照して説明する。
[第1の実施の形態]
第1の実施の形態を説明する。
図1は、第1の実施の形態の表示装置の例を示す図である。
第1の実施の形態の表示装置10は、テキストデータなどの非図形的データからグラフや地図などの図形的データを可視化結果として動的に生成して表示させる。表示装置10は、ユーザが操作する端末装置であってもよいし、端末装置からの要求に応じて図形的データを生成して端末装置に送信するサーバ装置であってもよい。
表示装置10は、記憶部11および処理部12を有する。記憶部11は、RAM(Random Access Memory)などの揮発性の記憶装置、または、HDD(Hard Disk Drive)やフラッシュメモリなどの不揮発性の記憶装置である。処理部12は、例えば、CPU(Central Processing Unit)やDSP(Digital Signal Processor)などのプロセッサである。ただし、処理部12は、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などの特定用途の電子回路を含んでもよい。プロセッサは、RAMなどのメモリに記憶されたプログラムを実行する。例えば、プロセッサは表示プログラムを実行する。なお、複数のプロセッサの集合を「マルチプロセッサ」または単に「プロセッサ」と言うことがある。
記憶部11は、クエリテンプレート13を記憶する。クエリテンプレート13は、可視化に使用するデータをデータベースから検索するクエリ(検索要求文)を生成するためのテンプレート(雛形)である。クエリテンプレート13は、1つの識別子に着目して当該1つの識別子に関連するデータを検索することを想定して作成されている。
クエリテンプレート13は、出力定義文と検索条件文とを含む。出力定義文は、出力する1以上のデータ項目を定義する。図1の例では、変数「?value」を用いてデータ項目15bが定義されている。検索条件文は、指定される1つの識別子を示すパラメータ13a(引数)を用いて、当該指定される識別子と出力定義文に定義されたデータ項目15bとの間の関係を記載している。検索条件部は、データ項目15bに該当するデータの条件を示していると言うこともできる。パラメータ13aは、指定される識別子を埋め込むべき位置に「%URI%」などの所定の文字列として表記されている。図1の例では、指定される識別子と「ex:hasValue」という関係をもつデータが変数「?value」の値としてデータベースから抽出されることになる。
処理部12は、1以上の識別子を受け付ける。受け付ける識別子は、データベース内のデータ単位を識別するものであり、例えば、URI(Uniform Resource Identifier)やIRI(Internationalized Resource Identifier)である。識別子は、例えば、ユーザから指定される。1以上の識別子を受け付けることは、当該1以上の識別子に関連するデータをデータベースから検索して可視化する要求を受け付けることに相当する。
1つの識別子のみを受け付けた場合、処理部12は、クエリテンプレート13のパラメータ13aを当該1つの識別子に置換したクエリを生成すればよい。これにより、検索条件は「<uri> ex:hasValue ?value」のようになる。処理部12は、このクエリに基づいて、指定された1つの識別子に関する検索結果データを取得することができる。データベースのデータは、例えば、RDF(Resource Description Framework)に従って記述されている。クエリは、例えば、SPARQL(SPARQL Protocol and RDF Query Language)によって記述される。処理部12は、1つの識別子に関する検索結果データを、当該1つの識別子に関するグラフなどの視覚的情報に変換して表示させることができる。一方、複数の識別子を受け付けた場合、処理部12は、クエリテンプレート13をそのまま使用しても複数の識別子に関連するデータを1回で検索することはできない。そこで、処理部12は、以下のようにしてクエリ14を生成する。
処理部12は、クエリテンプレート13と指定された複数の識別子とに基づいてクエリ14を生成する。このとき、処理部12は、取り得る値の範囲が複数の識別子の集合となるような変数14aを、クエリ14の検索条件文の中に定義する。図1の例では、「<uri1>」と「<uri2>」と「<uri3>」の3つの識別子の何れかを取る新たな変数「?uri」が定義されている。変数14aの名称は、クエリテンプレート13の中で使用されていない名称であればよい。また、処理部12は、検索条件文の中のパラメータ13aを変数14aに置換する。例えば、処理部12は、3つの識別子が指定されると、「VALUES(?uri){(%URI1%)(%URI2%)(%URI3%)}のように、取り得る値が3つ存在する変数「?uri」を定義する。また、処理部12は、この変数を用いて、検索条件を「?uri ex:hasValue ?value」のように変更する。処理部12は、「%URI1%」と「%URI2%」と「%URI3%」を具体的な識別子に置換することで、クエリ14を生成できる。
また、処理部12は、出力されるデータが複数の識別子のうちの何れの識別子に関するデータであるか判別できるように、変数14aの値に応じたデータ項目15aが検索結果に含まれるよう変数を出力定義文に追加する。データ項目15aとして出力する値は、識別子自体でもよいし当該識別子と所定の関係をもつ値でもよい。すなわち、出力定義文に追加する変数は、指定された識別子を示す変数「?uri」でもよいし、「?uri」に依存する別の変数でもよい。
処理部12は、クエリ14に基づいて検索結果データ15を取得する。検索結果データ15は、クエリ14が示す検索条件に適合する複数のレコードを含み、各レコードはデータ項目15a,15bを含む。検索結果データ15は、論理的にはテーブル構造をもつ。処理部12は、例えば、クエリ14に適合するレコードをデータベースから抽出する。データベースは表示装置10が有していてもよいし表示装置10の外部に存在してもよい。
検索結果データ15は、複数の識別子に関連するデータを別個に検索した場合に得られる複数の検索結果データを統合したものに相当する。例えば、検索結果データ15は、(uri1,10),(uri2,20),(uri3,30)という3つのレコードを含む。1つ目のレコードの「10」は、クエリテンプレート13のパラメータ13aに「<uri1>」を代入することで検索されるデータである。2つ目のレコードの「20」は、クエリテンプレート13のパラメータ13aに「<uri2>」を代入することで検索されるデータである。3つ目のレコードの「30」は、クエリテンプレート13のパラメータ13aに「<uri3>」を代入することで検索されるデータである。
処理部12は、検索結果データ15を視覚的情報16に変換して表示させる。視覚的情報16は、グラフや地図など図形的要素を含む可視化コンテンツである。例えば、視覚的情報16は、複数の識別子に対応する複数の折れ線や複数の棒など、複数の識別子に対応する複数の図形的要素を含む。視覚的情報16は、複数の識別子に関連するデータを別個に可視化した場合に得られる複数の可視化結果を重ね合わせたものに相当する。検索結果データ15は複数の識別子に関するデータを区別可能な形式で含んでいるため、処理部12は、複数の識別子の可視化結果を重ね合わせた単一のグラフや単一の地図などを検索結果データ15から生成することが可能である。
第1の実施の形態の表示装置10によれば、複数の識別子が指定された場合、取り得る値の範囲が識別子の集合である変数14aが定義されてパラメータ13aが変数14aに置換されると共に、変数14aの値に応じたデータ項目15aが出力定義文に追加される。このようにして生成されたクエリ14に基づいて検索された検索結果データ15が取得され、検索結果データ15が視覚的情報16に変換されて表示される。
これにより、単一のグラフや単一の地図などの単一の可視化結果が表示され、複数のグラフや複数の地図などの複数の可視化結果を単純に並べて表示する場合と比べて、複数の識別子の間のデータの比較が容易となる。また、単一の識別子用のクエリテンプレート13から複数の識別子に対応したクエリ14が生成される。これにより、クエリ14を1回実行することで可視化に用いる全てのデータをデータベースから抽出することが可能となり、識別子毎にクエリを実行しなくてよく、検索回数を削減できる。また、事後的に検索結果を統合しなくてよい。よって、検索の負荷を軽減することができる。
[第2の実施の形態]
次に、第2の実施の形態を説明する。
図2は、第2の実施の形態の情報処理システムの例を示す図である。
第2の実施の形態の情報処理システムは、ダイナミックパブリッシングサービスを提供するシステムであり、可視化コンテンツを含むWebページを動的に生成して表示する。この情報処理システムは、クライアント装置100およびサーバ装置200を含む。クライアント装置100とサーバ装置200は、ネットワーク30に接続されている。ネットワーク30は、例えば、インターネットなどの広域ネットワークである。
クライアント装置100は、ユーザが使用するクライアントコンピュータである。クライアント装置100は、ユーザの入力に応じてWebページを表示するWebブラウザを実行する。クライアント装置100は、ネットワーク30を介してサーバ装置200にアクセスし、サーバ装置200から各種のファイルをダウンロードする。ダウンロードされるファイルには、スクリプトプログラムを記載したスクリプトファイルや、データを記載したデータファイルが含まれる。クライアント装置100は、スクリプトプログラムを実行することでデータを加工し、Webページを動的に生成することができる。
サーバ装置200は、Webサーバとして機能するサーバコンピュータである。サーバ装置200は、スクリプトファイルやデータファイルなどの各種のファイルを不揮発性の記憶装置に記憶している。サーバ装置200は、クライアント装置100からのアクセスに応じて、要求されたファイルをクライアント装置100に送信する。ただし、サーバ装置200は、アクセスに応じてサーバプログラムを実行することで、クライアント装置100に送信するファイルを動的に生成することもできる。
ここで、第2の実施の形態のダイナミックパブリッシングでは、クライアント装置100は、テキストデータなどの非図形的データから、グラフや地図や一覧表などの図形要素を含む図形的データを可視化コンテンツとして動的に生成することができる。図形的データの生成は、スクリプトプログラムによって実装される。クライアント装置100は、図形的データとしてピクセルの集合であるラスター画像(ビットマップ画像)を生成してもよいし、数式などで定義された線の集合であるベクトル画像を生成してもよい。クライアント装置100は、ダウンロードしたデータファイルの中から可視化に使用するデータを検索し、検索されたデータを可視化コンテンツに変換して表示する。
なお、第2の実施の形態ではクライアント装置100が可視化コンテンツを生成しているが、サーバ装置200がサーバプログラムを実行することで可視化コンテンツを動的に生成してクライアント装置100に提供することも可能である。以下では、クライアント装置100がスクリプトプログラムを実行することでテキストデータからグラフを生成することを想定して、主にクライアント装置100の処理について説明する。
図3は、クライアント装置のハードウェア例を示すブロック図である。
クライアント装置100は、CPU101、RAM102、HDD103、画像信号処理部104、入力信号処理部105、媒体リーダ106および通信インタフェース107を有する。上記ユニットはバスに接続される。サーバ装置200も、クライアント装置100と同様のハードウェアを用いて実装できる。
CPU101は、プログラムの命令を実行する演算回路を含むプロセッサである。CPU101は、HDD103に記憶されたプログラムやデータの少なくとも一部をRAM102にロードし、プログラムを実行する。なお、CPU101は複数のプロセッサコアを備えてもよく、クライアント装置100は複数のプロセッサを備えてもよく、以下の処理を複数のプロセッサまたはプロセッサコアを用いて並列に実行してもよい。また、複数のプロセッサの集合を「マルチプロセッサ」または単に「プロセッサ」と呼ぶことがある。
RAM102は、CPU101が実行するプログラムやCPU101が演算に用いるデータを一時的に記憶する揮発性の半導体メモリである。なお、クライアント装置100は、RAM以外の種類のメモリを備えてもよく、複数個のメモリを備えてもよい。
HDD103は、OS(Operating System)やアプリケーションソフトウェアなどのソフトウェアのプログラム、および、データを記憶する不揮発性の記憶装置である。なお、クライアント装置100は、フラッシュメモリやSSD(Solid State Drive)などの他の種類の記憶装置を備えてもよく、複数の不揮発性の記憶装置を備えてもよい。
画像信号処理部104は、CPU101からの命令に従って、クライアント装置100に接続されたディスプレイ41に画像を出力する。ディスプレイ41としては、CRT(Cathode Ray Tube)ディスプレイ、液晶ディスプレイ(LCD:Liquid Crystal Display)、プラズマディスプレイ、有機EL(OEL:Organic Electro-Luminescence)ディスプレイなど、任意の種類のディスプレイを用いることができる。
入力信号処理部105は、クライアント装置100に接続された入力デバイス42から入力信号を取得し、CPU101に出力する。入力デバイス42としては、マウスやタッチパネルやタッチパッドやトラックボールなどのポインティングデバイス、キーボード、リモートコントローラ、ボタンスイッチなどを用いることができる。また、クライアント装置100に複数の種類の入力デバイスが接続されていてもよい。
媒体リーダ106は、記録媒体43に記録されたプログラムやデータを読み取る読み取り装置である。記録媒体43として、例えば、磁気ディスク、光ディスク、光磁気ディスク(MO:Magneto-Optical disk)、半導体メモリなどを使用できる。磁気ディスクには、フレキシブルディスク(FD:Flexible Disk)やHDDが含まれる。光ディスクには、CD(Compact Disc)やDVD(Digital Versatile Disc)が含まれる。
媒体リーダ106は、例えば、記録媒体43から読み取ったプログラムやデータを、RAM102やHDD103などの他の記録媒体にコピーする。読み取られたプログラムは、例えば、CPU101によって実行される。なお、記録媒体43は可搬型記録媒体であってもよく、プログラムやデータの配布に用いられることがある。また、記録媒体43やHDD103を、コンピュータ読み取り可能な記録媒体と言うことがある。
通信インタフェース107は、ネットワーク30に接続され、ネットワーク30を介して他のノードと通信を行うインタフェースである。通信インタフェース107は、例えば、スイッチなどの通信装置とケーブルで接続される有線通信インタフェースである。ただし、基地局と無線リンクで接続される無線通信インタフェースでもよい。
図4は、クライアント装置の機能例を示すブロック図である。
クライアント装置100は、テンプレート記憶部111、RDFデータ記憶部112、URIコレクション取得部113、可視化部114,114a,114bおよびレンダリング部115を有する。テンプレート記憶部111およびRDFデータ記憶部112は、例えば、RAM102またはHDD103の記憶領域を用いて実装される。URIコレクション取得部113、可視化部114,114a,114bおよびレンダリング部115は、例えば、CPU101が実行するプログラムを用いて実装される。
テンプレート記憶部111は、データファイルの中から所定条件を満たすデータを検索するときに発行されるクエリの雛形であるクエリテンプレートを記憶する。テンプレート記憶部111に記憶されたクエリテンプレートは、可視化部114,114a,114bによって使用される。第2の実施の形態では、クエリテンプレートで使用されるクエリ言語としてSPARQLを想定している。テンプレート記憶部111に記憶されたクエリテンプレートは、サーバ装置200からダウンロードされたものである。
RDFデータ記憶部112は、Linked Dataを記載したデータファイルを記憶する。Linked Dataは、エンティティと呼ばれるデータ単位を相互にリンクした構造をもち、エンティティ間の関係を記述したデータである。1つのエンティティは、「都市」や「企業」や「特許出願」などの1つの実体(事物や概念など)に対応しており、URIやIRIなどの識別子が付与される。以下の説明では、エンティティの識別子をURIと呼ぶことがある。RDFデータ記憶部112に記憶されたデータファイルは、可視化部114,114a,114bによって使用される。第2の実施の形態では、Linked Dataの記述方法としてRDFを想定している。RDFについては後述する。RDFデータ記憶部112に記憶されたデータファイルは、サーバ装置200からダウンロードされたものである。
URIコレクション取得部113は、可視化対象とする1以上のエンティティに対応する1以上のURIを取得する。URIコレクション取得部113は、単一のエンティティを示す単一のURIを取得することもあるし、複数のエンティティの集合(コレクションエンティティシーケンス)を示す複数のURIを同時に取得することもある。複数のURIの取得は、複数のエンティティに関するデータを統合して可視化することを示す。
例えば、「東京」の人口変化を可視化したい場合に、「東京」のURIが取得される。また、「東京」と「大阪」と「名古屋」の人口変化を合わせて可視化したい場合に、「東京」のURIと「大阪」のURIと「名古屋」のURIが取得される。URIコレクション取得部113は、ユーザから直接的に指定されたURIを取得することがある。また、URIコレクション取得部113は、ユーザが指定した条件を満たすエンティティを検索することで、ユーザから間接的に指定されたURIを取得することもある。例えば、ユーザが「人口1千万以上の都市」という条件を指定した場合、URIコレクション取得部113は、指定された条件を満たす都市をデータファイルから検索し、検索された都市のURIをデータファイルから取得するようにしてもよい。
URIコレクション取得部113は、URIを取得すると、可視化部114,114a,114bなどの複数の可視化部の中から、取得したURIの種類(例えば、都市を示すURIや企業を示すURIなど)に応じた可視化部を選択する。URIコレクション取得部113は、URIの種類と選択する可視化部との対応関係を示す情報を保持している。各可視化部はスクリプトプログラムによって実装されている。使用すべきスクリプトプログラムがクライアント装置100に存在しない場合、URIコレクション取得部113は、当該スクリプトプログラムをサーバ装置200からダウンロードする。そして、URIコレクション取得部113は、選択した可視化部を呼び出す。
可視化部114,114a,114bは、URIコレクション取得部113から1以上のURIを取得し、可視化コンテンツを生成する。可視化部114は、クエリ生成部121、検索部122、可視化設定部123および可視化処理部124を有する。他の可視化部も、可視化部114と同様のモジュールを有する。
クエリ生成部121は、可視化部114に対応付けられたクエリテンプレートをテンプレート記憶部111から読み出す。所望のクエリテンプレートがテンプレート記憶部111に存在しない場合、クエリ生成部121は、当該クエリテンプレートをサーバ装置200からダウンロードする。クエリ生成部121は、URIコレクション取得部113から取得したURIとクエリテンプレートとに基づいてクエリを生成する。生成されるクエリは、取得したURIが示すエンティティを基点として、当該エンティティと所定の関係を満たす関連データをデータファイルから抽出するものである。
ここで、クエリ生成部121は、URIコレクション取得部113から単一のURIを取得したか複数のURIを取得したかに応じて、異なる方法でクエリを生成する。テンプレート記憶部111に記憶されたクエリテンプレートは、単一のエンティティを基点として関連データを検索する方法を規定している。単一のURIを取得した場合、クエリ生成部121は、クエリテンプレートの中の特定位置に当該URIを挿入することでクエリを生成する。一方、複数のURIを取得した場合、クエリ生成部121は、複数のURIに対応する複数のクエリを生成する代わりに、クエリテンプレートを編集することで、複数のエンティティそれぞれを基点として関連データを検索する単一のクエリを生成する。このクエリを実行することで得られる検索結果は、複数のURIに対応する複数のクエリを個別に実行して得られる複数の検索結果を合成したものに相当する。
検索部122は、RDFデータ記憶部112からデータファイルを読み出し、クエリ生成部121が生成したクエリを実行する。所望のデータファイルがRDFデータ記憶部112に存在しない場合、検索部122は、当該データファイルをサーバ装置200からダウンロードする。検索部122は、クエリ生成部121から取得したクエリを解釈し、クエリが示す検索条件に該当するデータをデータファイルの中から抽出する。なお、データファイルに記載されたデータは論理的にはグラフ構造(ネットワーク構造)をもつが、検索部122によって生成される検索結果は論理的にはテーブル構造(関係構造)をもつ。
可視化設定部123は、検索部122で実行されたクエリが複数のURIを指定したクエリである場合、すなわち、検索結果が複数のエンティティの関連データを含む場合、可視化処理部124に対して設定(コンフィグレーション)の変更を通知する。コンフィグレーションには、検索結果に含まれる複数のデータ項目(カラム)のうち基点となったエンティティを示すデータ項目の指定など、検索結果に含まれる複数のレコードの分類方法に関する情報が含まれることがある。また、コンフィグレーションには、グラフの凡例を表示するか否かを示すフラグなど、可視化コンテンツの表示形態に関する情報が含まれることがある。なお、可視化処理部124の設定の初期値は、検索結果が単一のエンティティの関連データのみを含む場合に適するように与えられている。よって、複数のURIが取得されなかった場合にはコンフィグレーションを変更しなくてもよい。
可視化処理部124は、検索部122から検索結果を取得し、取得した検索結果からグラフや地図や一覧表などの図形要素を含む可視化コンテンツを生成する。生成され得るグラフとしては、折れ線グラフ(ラインチャート)、棒グラフ(バーチャート)、バブルチャート、レーダーチャートなどが挙げられる。例えば、可視化処理部124は、データ項目として年度と人口を含むテーブル型の検索結果から、横軸を年度とし縦軸を人口とする棒グラフを生成する。可視化処理部124が生成する可視化コンテンツの種類は、可視化部114が担当するURIの種類に依存しており、可視化部114a,114bなどの他の可視化部が生成する可視化コンテンツの種類と異なってよい。
可視化処理部124は、単一のエンティティを基点とした検索結果の可視化と、複数のエンティティを基点とした検索結果の可視化の両方に対応するように、汎用的に実装されている。可視化処理部124は、デフォルトの設定に従い、単一のエンティティに関するグラフや地図などの可視化コンテンツを生成することができる。また、可視化処理部124は、可視化設定部123から通知された設定に従い、複数のエンティティに関するグラフや地図などを重ね合わせた統合型の可視化コンテンツを生成することができる。統合型の可視化コンテンツには、複数のエンティティに対応する複数の折れ線を含む折れ線グラフや、複数のエンティティに対応する複数の棒を横方向に並べるかまたは縦方向に積み上げた棒グラフなどが含まれる。また、統合型の可視化コンテンツには、複数のエンティティに対応する複数の場所をマッピングした地図などが含まれる。
レンダリング部115は、何れかの可視化部から可視化コンテンツを取得する。取得する可視化コンテンツには、図形情報や画像情報が含まれることがある。レンダリング部115は、取得した可視化コンテンツとHTMLテンプレートを用いて、可視化コンテンツを表示するWebページを生成してディスプレイ41に表示させる。
次に、RDFデータおよびクエリについて説明する。
図5は、RDFデータを表すグラフ例を示す図である。
RDFデータは、ステートメントの集合である。1つのステートメントは、1つの事実を主語と述語と目的語の3つ組(トリプル)として表現する。例えば、「東京の人口は1300万である」という事実は、主語が「東京」、述語が「人口」、目的語が「1300万」というトリプルによって表現される。RDFデータは、主語や目的語に対応するノードと述語に対応するエッジとを含む有向グラフとして表現することが可能である。
一例として、特許出願の書誌事項を記載したRDFデータを考える。このRDFデータを示すグラフは、ノード131a〜131gを含む。ノード131a,131bはそれぞれ、ある特許出願を示すエンティティに相当する。ノード131aのエンティティは、「ns2:JP2006−XXXX01」というURIで識別される(「ns2」は別途定義された名前空間である)。ノード131bのエンティティは、「ns2:JP2007−XXXX03」というURIで識別される。ノード131cは、ある企業を示すエンティティに相当する。ノード131cのエンティティは、「ns1:companyA」というURIで識別される(「ns1」は別途定義された名前空間である)。
ノード131d〜131gはそれぞれ、数値や文字列などの固定値(リテラル)を示す。ノード131dは「2006」を示す。ノード131e,131gは「G06N3/00 560A」を示す。ノード131fは「2007」を示す。
ノード131aとノード131cは、「ex:applicant−name」という述語で結合されている(「ex」は別途定義された名前空間である)。これは、「JP2006−XXXX01の出願人はcompanyAである」という事実を表現している。ノード131aとノード131dは、「ex:application−year」という述語で結合されている。これは、「JP2006−XXXX01の出願年は2006年である」という事実を表現している。ノード131aとノード131eは、「ex:ficlass」という述語で結合されている。これは、「JP2006−XXXX01の技術分類はG06N3/00 560Aである」という事実を表現している。
同様に、ノード131bとノード131cは、「ex:applicant−name」という述語で結合されている。これは、「JP2007−XXXX03の出願人はcompanyAである」という事実を表現している。ノード131bとノード131fは、「ex:application−year」という述語で結合されている。これは、「JP2007−XXXX03の出願年は2007年である」という事実を表現している。ノード131bとノード131gは、「ex:ficlass」という述語で結合されている。これは、「JP2007−XXXX03の技術分類はG06N3/00 560Aである」という事実を表現している。
このように、RDFデータでは各エンティティにURIなどの識別子が付与される。1つのエンティティは複数のステートメントの主語になることがある。また、1つのエンティティは複数のステートメントの目的語になることがある。
図6は、RDFデータの記載例を示す図である。
RDFデータ132は、図5のグラフをXML(Extensible Markup Language)を用いてテキストデータとして記述したものである。RDFデータ132は、RDFデータ記憶部112に記憶される。RDFデータ132では、「rdf:Description」というタグが1つの主語に相当する。主語に相当するタグの直下にある「ex:applicant−name」、「ex:application−year」および「ex:ficlass」というタグがそれぞれ述語に相当する。タグ「ex:applicant−name」に含まれる属性「rdf:resource」が目的語に相当する。また、タグ「ex:application−year」の直下にある数値が目的語に相当する。また、タグ「ex:ficlass」の直下にある文字列が目的語に相当する。RDFデータ132は、このような階層的なタグ構造によって、複数の特許出願それぞれの書誌事項を記述している。
図7は、クエリテンプレートの例を示す図である。
クエリテンプレート133は、RDFデータ132からデータを検索するためのクエリ(検索要求文)の生成に用いられるテンプレートである。クエリテンプレート133は、テンプレート記憶部111に記憶される。クエリテンプレート133は、1つのエンティティのURIをパラメータとして受け付け、当該1つのエンティティを基点として関連データを検索することを想定して作成されている。ここでは、1つの企業を示すエンティティのURIをパラメータとして受け付け、当該企業の特許出願に関するデータを検索することを想定している。クエリテンプレート133ではパラメータが「%URI%」として表記されている。この文字列を1つのURIに置換することで、当該1つのURIに関連するデータを検索するクエリを生成することができる。
クエリテンプレート133は、検索条件を示す条件部と、検索条件に合致するデータのグループ化方法を示すグループ化部と、検索結果の出力形式を示す出力部とを含む。クエリテンプレート133には、パラメータ以外に3つの変数が使用されている。「?year」は年を示す変数である。「?id」は特許出願を示す変数である。「?value」は特許出願の件数を示す変数である。条件部は、「?id」の出願人が「%URI%」であり、「?id」の出願年が「?year」であり、「?id」の技術分類が「G06N3/00 560A」であるという検索条件を示している。この検索条件では、出願人と技術分類が所与であり、特許出願と出願年が不定である。この検索条件に合致する特許出願と出願年の組がRDFデータ132から抽出されることになる。
また、グループ化部は、グループ化に使用する変数として「?year」を指定している。すなわち、グループ化部は、検索条件に合致する特許出願と出願年の組を、出願年でグループ化することを示している。また、出力部は、検索結果の各レコードが有するデータ項目(カラム)として「?year」と「?value」を指定している。「?value」の値は、出願年毎に特許出願の件数をカウントしたものである。これにより、出願年と特許出願件数をデータ項目にもつテーブル形式の検索結果が生成される。すなわち、クエリテンプレート133は、出願人が「%URI%」であり技術分類が「G06N3/00 560A」である特許出願の各年の件数を検索することを示している。
図8は、第1のクエリおよび第1の検索結果の例を示す図である。
クエリ134は、クエリテンプレート133のパラメータ部である「%URI%」を、1つの企業を示すURIである「<ns1:companyA>」に置換することで生成したものである。クエリ134は、出願人が「companyA」であり技術分類が「G06N3/00 560A」である特許出願の各年の件数を検索することを示している。クエリ134を実行することで、検索結果135が生成される。検索結果135は、出願年を示す「year」と出願件数を示す「value」とをデータ項目として含む。検索結果135は、例えば、2006年の出願件数が10件、2007年の出願件数が13件、2008年の出願件数が20件というレコードを含む。
このように、基点となるエンティティが1つである場合、クエリテンプレート133のパラメータ部を単一のURIに置換して実行すればよい。一方、基点となるエンティティが複数ある場合、クエリテンプレート133は複数のエンティティを基点とした検索に対応していないため、クエリテンプレート133を変換することになる。
図9は、第2のクエリおよび第2の検索結果の例を示す図である。
クエリ136は、複数の企業についての特許出願の各年の件数を1回で検索することができるように、クエリテンプレート133を変形して生成したクエリである。クエリ136には、クエリテンプレート133で使用されていなかった新たな変数「?applicant」が追加されている。「?applicant」は、その取り得る値の範囲(値域)が、指定されたURIの集合となる変数である。ここでは、「?applicant」の値は、「<ns1:companyA>」、「<ns1:companyB>」および「<ns1:companyC>」の3つのURIの中から選択される。
条件部には、この新たな変数を定義する変数定義文が追加されている。また、条件部に記載された「%URI%」が「?applicant」に置換されている。よって、クエリ136の条件部によれば、検索条件に合致する出願人と出願件数と出願年の組がRDFデータ132から抽出される。また、グループ化部には、グループ化に使用する変数として「?applicant」が追加されている。よって、クエリ136のグループ化部によれば、検索条件に合致する出願人と特許出願と出願年の組を、出願人と出願年の組でグループ化することになる。また、出力部には、検索結果の各レコードが有するデータ項目として「?applicant」が追加されている。よって、クエリ136の出力部によれば、出願人と出願年と特許出願件数をデータ項目にもつ検索結果が生成される。
すなわち、クエリ136は、出願人が3つのエンティティの何れかであり技術分類が「G06N3/00 560A」である特許出願について、出願人と出願年の組毎の件数を検索することを示している。基準となるエンティティを示す変数をグループ化部に追加しているのは、異なるエンティティに関するデータが合算されないようにするためである。ここでは、グループ化部に「?applicant」を追加することで、3つの出願人の出願件数が合算されないようにしている。また、基準となるエンティティを示す変数を出力部に追加しているのは、検索結果に含まれる複数のレコードがそれぞれ何れのエンティティに関するレコードであるか区別できるようにするためである。ここでは、1回の検索結果の中に3つの出願人の出願件数が混在することになるため、出力部に「?applicant」を追加することで出願人を区別できるようにしている。
クエリ136を実行することで、検索結果137が生成される。検索結果137は、出願人を示す「applicant」と出願年を示す「year」と出願件数を示す「value」とをデータ項目として含む。例えば、検索結果137は、companyAの2006年の出願件数が10件、companyBの2006年の出願件数が12件、companyCの2006年の出願件数が13件というレコードを含む。また、検索結果137は、companyAの2007年の出願件数が13件、companyBの2007年の出願件数が7件、companyCの2007年の出願件数が20件というレコードを含む。また、検索結果137は、companyAの2008年の出願件数が20件、companyBの2008年の出願件数が21件、companyCの2008年の出願件数が5件というレコードを含む。なお、クエリ136は、検索結果137のレコードを出願年の昇順にソートすることを示している。
クエリ136を生成するにあたり、クエリ生成部121は、クエリテンプレート133からパラメータ部とグループ化部と出力部を検出することになる。クエリ生成部121は、クエリテンプレート133を構文解析(パージング)してもよいし、パターンマッチングによりこれら3つの部位を探してもよい。パラメータ部は、「%URI%」など、テンプレート記述言語によって予め決められた文字列である。グループ化部は、通常、「GROUP BY」に続く1つの変数または2以上の変数の列である。出力部は、通常、「SELECT」と「WHERE」に挟まれた1つの変数または2以上の変数の列である。ただし、クエリテンプレートによっては「WHERE」が無い場合もある。
なお、上記のクエリ136では指定されたURIを示す変数を出力部に追加しているが、指定されたURIと関連する値を取る他の変数を出力部に追加するようにしてもよい。これにより、検索結果137の可読性が向上することがある。例えば、基点となるエンティティとリンクされた他のエンティティまたは他のリテラルを示す他の変数を条件部に定義し、当該他の変数を出力部に追加することが考えられる。「?applicant ex:label ?applicant−label」のように変数「?applicant−label」を定義して出力部に追加することが考えられる。これにより、基点となるエンティティのURIに代えてそのラベル(略称など)が出力される。
また、上記のクエリ136では指定されたURIを示す変数そのものを出力部に追加しているが、指定されたURIを加工して得られる値を取る他の変数を出力部に追加するようにしてもよい。例えば、指定されたURIと他の文字列とを結合した値を取る他の変数を出力部に追加することが考えられる。「CONCAT(str(?applicant),str(?year)) AS ?newlabel」のように変数「?newlabel」を定義して出力部に追加することが考えられる。「?newlabel」の値は、企業を示すURIと出願年とを連結した文字列となる。また、上記を組み合わせて、指定されたURIと関連する値を加工して得られる値を取る他の変数を定義してもよい。
図10は、検索結果を可視化したグラフの表示例を示す図である。
クエリ134が実行された場合、例えば、可視化処理部124によってグラフ141が生成される。グラフ141は、「companyA」の特許出願件数の時系列変化を示す折れ線グラフである。グラフ141の横軸は出願年を示し、縦軸は出願件数を示す。「companyB」についてクエリ134と同様のクエリが実行された場合、グラフ142が生成される。また、「companyC」についてクエリ134と同様のクエリが実行された場合、グラフ143が生成される。グラフ141〜143はそれぞれ、1つのエンティティを基点とする検索結果から生成された可視化コンテンツである。
これに対し、クエリ136が実行された場合、例えば、可視化処理部124によってグラフ144が生成される。グラフ144は、「companyA」と「companyB」と「companyC」の3つの企業の特許出願件数の時系列変化を示す折れ線グラフである。グラフ141〜143と同様、グラフ144の横軸は出願年を示し、縦軸は出願件数を示す。グラフ144は、グラフ141〜143の折れ線を重ね合わせたグラフに相当する。3つの折れ線と3つのエンティティとの間の対応関係を示すため、グラフ144には凡例が追加されている。グラフ144は、3つのエンティティを基点とする検索結果から生成された統合型の可視化コンテンツである。
次に、クライアント装置100の処理手順について説明する。
図11は、動的可視化の手順例を示すフローチャートである。
(S10)URIコレクション取得部113は、着目する1以上のエンティティを示す1以上のURIを取得する。2以上のエンティティの集合(コレクションエンティティシーケンス)を示す2以上のURIを同時に取得する場合、それら2以上のURIは、通常は同じ種類のエンティティを示すURIである。例えば、2以上の都市を示すURIや2以上の企業を示すURIが同時に取得されることがある。
(S11)URIコレクション取得部113は、都市に対応する可視化プログラムや企業に対応する可視化プログラムなど、取得したURIの種類に対応する可視化プログラムを判定する。URIコレクション取得部113は、判定した可視化プログラムがクライアント装置100に存在しない場合、サーバ装置200から当該可視化プログラムをダウンロードする。URIコレクション取得部113は、判定した可視化プログラムを起動させる。以下の説明では、可視化部114が呼び出されたものと仮定する。
なお、URIコレクション取得部113は、1つのURIを取得した場合には1つの可視化部を1回呼び出せばよい。呼び出し先の可視化部には当該1つのURIが引き渡される。また、URIコレクション取得部113は、1つのコレクションエンティティシーケンスに属する2以上のURI(同じ種類の2以上のURI)を取得した場合にも1つの可視化部を1回呼び出せばよい。呼び出し先の可視化部には当該2以上のURIが引き渡される。これに対し、URIコレクション取得部113は、異なる種類の2以上のURIを取得した場合、URIの種類毎に別の可視化部を呼び出すことになる。
(S12)クエリ生成部121は、URIコレクション取得部113から指定されたURIが複数のURIの集合であるか判断する。複数のURIの集合である場合はステップS18に処理が進み、1つのURIである場合はステップS13に処理が進む。
(S13)クエリ生成部121は、可視化部114に対応するクエリテンプレート133をテンプレート記憶部111から読み出す。クエリテンプレート133がクライアント装置100に存在しない場合、クエリ生成部121はサーバ装置200からクエリテンプレート133をダウンロードする。クエリ生成部121は、クエリテンプレート133からパラメータ部(「%URI%」などの文字列)を特定する。
(S14)クエリ生成部121は、ステップS13で特定したパラメータ部を、指定された1つのURIで置換することでクエリ134を生成する。
(S15)検索部122は、指定されたURIの種類に応じたRDFデータ132をRDFデータ記憶部112から読み出す。RDFデータ132がクライアント装置100に存在しない場合、検索部122はサーバ装置200からRDFデータ132をダウンロードする。また、検索部122は、ステップS14で生成されたクエリ134をクエリ生成部121から取得する。検索部122は、RDFデータ132に対してクエリ134を実行し、1つのURIに関する検索結果135を生成する。
(S16)可視化処理部124は、ステップS15で生成された検索結果135を検索部122から取得する。可視化処理部124は、検索結果135に基づいて、図形要素を含む所定の種類の可視化コンテンツであって1つのURIに関する可視化コンテンツを生成する。例えば、可視化処理部124は、1つの都市の人口変化を示す棒グラフや、1つの企業の特許出願件数の変化を示す折れ線グラフなどを生成する。
(S17)レンダリング部115は、ステップS16で生成された可視化コンテンツを可視化処理部124から取得する。レンダリング部115は、取得した可視化コンテンツを含むWebページをレンダリングしてディスプレイ41に表示させる。
図12は、動的可視化の手順例を示すフローチャート(続き)である。
(S18)クエリ生成部121は、可視化部114に対応するクエリテンプレート133をテンプレート記憶部111から読み出す。クエリ生成部121は、クエリテンプレート133からパラメータ部とグループ化部と出力部とを特定する。なお、クエリテンプレートによってはグループ化部が存在しないこともある。
(S19)クエリ生成部121は、クエリテンプレート133で使用されていない変数であって、取り得る値の範囲(値域)がステップS12の複数のURIに限定された新変数を定義し、新変数の定義文をクエリテンプレート133の条件部に追加する。
(S20)クエリ生成部121は、ステップS18で特定したパラメータ部を、ステップS19で定義した新変数で置換する。クエリテンプレート133に複数のパラメータ部が存在する場合、各パラメータ部を新変数で置換すればよい。
(S21)クエリ生成部121は、クエリテンプレート133にグループ化部が存在するか判断する。グループ化部が存在する場合はステップS22に処理が進み、グループ化部が存在しない場合はステップS23に処理が進む。
(S22)クエリ生成部121は、ステップS18で特定したグループ化部の中に、ステップS19で定義した新変数を追加する。
(S23)クエリ生成部121は、ステップS18で特定した出力部の中に、ステップS19で定義した新変数に依存するデータ項目を追加する。例えば、クエリ生成部121は、出力部に新変数を追加する。これによりクエリ136が生成される。なお、パラメータ部とグループ化部と出力部の編集は、任意の順序で実行してよい。
(S24)検索部122は、RDFデータ132をRDFデータ記憶部112から読み出す。また、検索部122は、ステップS23で生成されたクエリ136をクエリ生成部121から取得する。検索部122は、RDFデータ132に対してクエリ136を1回実行し、複数のURIに関する検索結果137を1回で生成する。このとき、検索部122は、複数のクエリを実行しなくてよく、複数の検索結果を結合しなくてよい。
(S25)可視化設定部123は、複数のエンティティに関するデータの可視化に適するように可視化処理部124に対してコンフィグレーションを指定する。例えば、可視化設定部123は、検索結果137に含まれるデータ項目のうち着目するエンティティを区別するためのデータ項目(「applicant」など)を指定する。また、例えば、可視化設定部123は、線の種類・点の形状・ハッチングの種類・色などの表記方法とエンティティとの間の対応関係を示す凡例を表示させるためのコンフィグレーションをONに指定する。そして、前述のステップS16に処理が進む。
第2の実施の形態の情報処理システムによれば、ユーザの操作に応じて、テキストデータから図形要素を含む可視化コンテンツを動的に生成して表示することができる。1つのエンティティに着目する場合、当該1つのエンティティに関するデータを可視化した可視化コンテンツが生成される。複数のエンティティに同時に着目する場合、当該複数のエンティティに関するデータを統合的に可視化した可視化コンテンツが生成される。統合的な可視化コンテンツは、複数のエンティティに対応する複数の可視化コンテンツを単純に並べたものではなく、それら複数の可視化コンテンツを重ね合わせたものに相当する。よって、複数のエンティティに関するデータを比較することが容易となる。
また、複数のエンティティに同時に着目する場合、単一エンティティ用のクエリテンプレートを変形して複数エンティティ用のクエリが生成される。このため、複数のエンティティに関するデータを、1つのクエリを用いて1回の検索処理によって取得することができる。よって、クエリの発行回数や検索回数を削減できると共に、事後的な検索結果の統合を回避することができ、検索処理の負荷を低減できる。
また、クエリテンプレートは単一エンティティ用に作成しておけばよく、エンティティ数の違い毎に別のクエリテンプレートを作成しなくてよい。また、クエリを実行するモジュールは、着目するエンティティの数とは無関係に実装することができる。また、可視化コンテンツを生成するモジュールは、単一エンティティ用の可視化コンテンツと複数エンティティ用の可視化コンテンツの両方を生成できるように実装しておけばよい。よって、クエリテンプレートやモジュールの汎用性が向上し、プログラム実装が容易となる。
コレクションエンティティシーケンスに関するデータを可視化する他の方法として、着目する複数のエンティティを束ねる一時的なエンティティ(仮想エンティティ)をRDFデータに登録し、当該仮想エンティティを基点としてデータを検索する方法も考えられる。しかし、この場合には、可視化コンテンツを生成する毎に仮想エンティティの追加と削除を行うことになり負荷が増大してしまう。また、RDFデータを書き換える権限が無い場合には仮想エンティティの登録や削除を行えないことがある。これに対し、第2の実施の形態の方法によれば、RDFデータの書き換えは不要であり負荷が軽減される。
10 表示装置
11 記憶部
12 処理部
13 クエリテンプレート
13a パラメータ
14 クエリ
14a 変数
15 検索結果データ
15a,15b データ項目
16 視覚的情報

Claims (6)

  1. コンピュータに、
    出力する1以上のデータ項目を示す出力定義文と、指定される識別子を示すパラメータを用いて前記指定される識別子と前記1以上のデータ項目との間の関係を記載した検索条件文と、を含むクエリテンプレートを取得し、
    複数の識別子が指定された場合に、取り得る値の範囲が前記複数の識別子の集合である変数を前記検索条件文の中に定義して前記パラメータを前記変数に置換すると共に、前記変数の値に応じた他のデータ項目を前記出力定義文に追加することで、前記クエリテンプレートと前記複数の識別子とに基づくクエリを生成し、
    前記クエリに基づいて検索された前記1以上のデータ項目と前記他のデータ項目とを含む検索結果データを取得し、前記検索結果データを視覚的情報に変換して表示させる、
    処理を実行させる表示プログラム。
  2. 前記コンピュータに更に、
    指定された識別子の個数を判定し、
    単一の識別子が指定された場合、前記パラメータを前記単一の識別子に置換することで、前記クエリテンプレートと前記単一の識別子とに基づく他のクエリを生成する、
    処理を実行させる請求項1記載の表示プログラム。
  3. 前記クエリテンプレートは、前記検索条件文に適合する複数のデータレコードをグループ化して前記出力定義文とマッチングすることを示すグループ定義文を更に含み、
    前記クエリの生成では、前記変数の値が異なるデータレコードは異なるグループに分類されるように前記グループ定義文を修正する、
    請求項1記載の表示プログラム。
  4. 前記検索結果データから変換される前記視覚的情報は、前記複数の識別子に対応する複数のグラフが重ね合わされた単一のグラフである、
    請求項1記載の表示プログラム。
  5. コンピュータが実行する表示方法であって、
    出力する1以上のデータ項目を示す出力定義文と、指定される識別子を示すパラメータを用いて前記指定される識別子と前記1以上のデータ項目との間の関係を記載した検索条件文と、を含むクエリテンプレートを取得し、
    複数の識別子が指定された場合に、取り得る値の範囲が前記複数の識別子の集合である変数を前記検索条件文の中に定義して前記パラメータを前記変数に置換すると共に、前記変数の値に応じた他のデータ項目を前記出力定義文に追加することで、前記クエリテンプレートと前記複数の識別子とに基づくクエリを生成し、
    前記クエリに基づいて検索された前記1以上のデータ項目と前記他のデータ項目とを含む検索結果データを取得し、前記検索結果データを視覚的情報に変換して表示させる、
    表示方法。
  6. 出力する1以上のデータ項目を示す出力定義文と、指定される識別子を示すパラメータを用いて前記指定される識別子と前記1以上のデータ項目との間の関係を記載した検索条件文と、を含むクエリテンプレートを記憶する記憶部と、
    複数の識別子が指定された場合に、取り得る値の範囲が前記複数の識別子の集合である変数を前記検索条件文の中に定義して前記パラメータを前記変数に置換すると共に、前記変数の値に応じた他のデータ項目を前記出力定義文に追加することで、前記クエリテンプレートと前記複数の識別子とに基づくクエリを生成し、前記クエリに基づいて検索された前記1以上のデータ項目と前記他のデータ項目とを含む検索結果データを取得し、前記検索結果データを視覚的情報に変換して表示させる処理部と、
    を有する表示装置。
JP2017015567A 2017-01-31 2017-01-31 表示プログラム、表示方法および表示装置 Active JP6764115B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2017015567A JP6764115B2 (ja) 2017-01-31 2017-01-31 表示プログラム、表示方法および表示装置
PCT/JP2018/001281 WO2018142942A1 (ja) 2017-01-31 2018-01-17 表示プログラム、表示方法および表示装置
US16/447,916 US10956505B2 (en) 2017-01-31 2019-06-20 Data search method, data search apparatus, and non-transitory computer-readable storage medium storing program for data search

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017015567A JP6764115B2 (ja) 2017-01-31 2017-01-31 表示プログラム、表示方法および表示装置

Publications (2)

Publication Number Publication Date
JP2018124728A JP2018124728A (ja) 2018-08-09
JP6764115B2 true JP6764115B2 (ja) 2020-09-30

Family

ID=63040505

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017015567A Active JP6764115B2 (ja) 2017-01-31 2017-01-31 表示プログラム、表示方法および表示装置

Country Status (3)

Country Link
US (1) US10956505B2 (ja)
JP (1) JP6764115B2 (ja)
WO (1) WO2018142942A1 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11537276B2 (en) * 2018-10-22 2022-12-27 Tableau Software, Inc. Generating data visualizations according to an object model of selected data sources
JP7269765B2 (ja) * 2019-03-22 2023-05-09 三菱電機インフォメーションネットワーク株式会社 データ可視化システムおよびデータ可視化プログラム
CN111104506B (zh) * 2019-12-30 2024-02-20 深圳追一科技有限公司 人机交互的答复结果确定方法、装置及电子设备
US11570182B1 (en) * 2020-03-30 2023-01-31 Amazon Technologies, Inc. Compute-less authorization
CN111554367B (zh) * 2020-04-26 2023-05-30 贵州精准健康数据有限公司 一种数据处理方法、装置及计算机可读介质
CN111625723A (zh) * 2020-05-28 2020-09-04 北京搜狗科技发展有限公司 一种信息相关性查询方法及装置
CN113220754A (zh) * 2021-05-21 2021-08-06 中国农业银行股份有限公司 报表数据处理的方法、装置、设备、存储介质及程序产品
CN113918594A (zh) * 2021-09-27 2022-01-11 苏宁易购集团股份有限公司 结构化查询语句的生成方法、装置和计算机设备
US11899670B1 (en) 2022-01-06 2024-02-13 Splunk Inc. Generation of queries for execution at a separate system

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000003366A (ja) 1998-06-11 2000-01-07 Hitachi Ltd 文書登録方法と文書検索方法及びその実施装置並びにその処理プログラムを記録した媒体
AUPR947701A0 (en) 2001-12-14 2002-01-24 Activesky, Inc. Digital multimedia publishing system for wireless devices
FI118102B (fi) * 2003-07-04 2007-06-29 Medicel Oy Informaationhallintajärjestelmä työvirtojen hallitsemiseksi
US20060070004A1 (en) 2004-09-30 2006-03-30 Microsoft Corporation System and method for unified navigation
JP2009218711A (ja) * 2008-03-07 2009-09-24 Canon Inc 情報処理装置、画像処理装置、情報処理装置の制御方法、画像処理装置の制御方法、及び、プログラム
JP5235504B2 (ja) 2008-05-30 2013-07-10 インターナショナル・ビジネス・マシーンズ・コーポレーション 動的にウェブ・コンテンツを生成するサーバ
US8380738B2 (en) * 2009-03-17 2013-02-19 Nec Laboratories America, Inc. System and methods for database distribution and querying over key-based scalable storage
US8782081B2 (en) * 2011-05-11 2014-07-15 Google Inc. Query template definition and transformation
US9020972B1 (en) * 2011-08-02 2015-04-28 Google Inc. System and method for constructing a database instruction
JP6022409B2 (ja) 2013-06-11 2016-11-09 日本電信電話株式会社 仮想dbシステムおよび仮想dbシステムの情報処理方法
WO2016170613A1 (ja) * 2015-04-22 2016-10-27 株式会社 日立製作所 データ分析システムおよびデータ分析方法

Also Published As

Publication number Publication date
WO2018142942A1 (ja) 2018-08-09
JP2018124728A (ja) 2018-08-09
US20190303409A1 (en) 2019-10-03
US10956505B2 (en) 2021-03-23

Similar Documents

Publication Publication Date Title
JP6764115B2 (ja) 表示プログラム、表示方法および表示装置
US9665256B2 (en) Identifying selected dynamic content regions
CN102521230B (zh) 用于有条件的数据显示的结果类型
US20020143742A1 (en) Apparatus, method, and program for retrieving structured documents
Frischmuth et al. Ontowiki–an authoring, publication and visualization interface for the data web
US9910870B2 (en) System and method for creating data models from complex raw log files
AU2009238294A1 (en) Data transformation based on a technical design document
US10769216B2 (en) Data acquisition method, data acquisition apparatus, and recording medium
US20170031877A1 (en) Web Page Design System
US20020178192A1 (en) Data integrate system and data integrate method
US9081865B2 (en) Identifying selected elements in dynamic content
JP6692289B2 (ja) 画面情報生成装置、画面情報生成方法、及びプログラム
JP2008242873A (ja) ソフトウェア自動構成装置及び方法
JP6839360B2 (ja) 表示プログラム、表示方法および表示装置
JP5766651B2 (ja) 多言語対応WebサーバシステムおよびWebサーバシステムにおける多言語対応方法
JP6101880B1 (ja) Webページを表示するためのシステム、プログラムおよび記録媒体
Koch et al. Representation of CityGML instance models in BaseX
JP2006079277A (ja) 構造化文書データ変換装置及び方法
US20230350965A1 (en) System and Method for Validating a Protocol-Compliant Uniform Resource Locator
KR101768047B1 (ko) Api 독립적인 우편번호 조회 시스템, 방법 및 이를 위한 컴퓨터 프로그램
JP2007133856A (ja) 出願情報管理システム、出願情報管理方法、およびプログラム
JP2004220282A (ja) コンテンツ表示システム、コンテンツ表示方法及びコンテンツ表示プログラム
US10635455B2 (en) Simplifying understanding of procedure dependencies in a form definition
JP5253668B1 (ja) データベース構築装置、データベース構築方法、およびプログラム
JP2017204128A (ja) Cgi生成装置、ウェブコンテンツ生成システム、プログラムおよび記録媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20191008

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20191011

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20191011

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200811

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200824

R150 Certificate of patent or registration of utility model

Ref document number: 6764115

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150