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

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

Info

Publication number
JP6839360B2
JP6839360B2 JP2017096376A JP2017096376A JP6839360B2 JP 6839360 B2 JP6839360 B2 JP 6839360B2 JP 2017096376 A JP2017096376 A JP 2017096376A JP 2017096376 A JP2017096376 A JP 2017096376A JP 6839360 B2 JP6839360 B2 JP 6839360B2
Authority
JP
Japan
Prior art keywords
entity
query
entities
search
condition
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
JP2017096376A
Other languages
English (en)
Other versions
JP2018194944A (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 JP2017096376A priority Critical patent/JP6839360B2/ja
Priority to US15/976,153 priority patent/US11030206B2/en
Publication of JP2018194944A publication Critical patent/JP2018194944A/ja
Application granted granted Critical
Publication of JP6839360B2 publication Critical patent/JP6839360B2/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/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/248Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation
    • G06F16/24534Query rewriting; Transformation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2457Query processing with adaptation to user needs
    • 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/951Indexing; Web crawling techniques
    • 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/955Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
    • 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
    • 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
    • G06F16/972Access to data in other repository systems, e.g. legacy data or dynamic Web page generation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は表示プログラム、表示方法および表示装置に関する。
Webページを動的に生成する技術として、ダイナミックパブリッシングと言われる技術がある。ダイナミックパブリッシングは、ダイナミックセマンティックパブリッシング、動的配信システム、データ駆動型コンテンツサービスなど他の名称で呼ばれることもある。ダイナミックパブリッシングでは、Webページの表示コンテンツを静的ファイルとして直接記述しておく代わりに、要求に応じてデータベースからデータを検索して表示用テンプレートに適用することでWebページの表示コンテンツを動的に生成する。ダイナミックパブリッシングで生成される表示コンテンツには、グラフ、ピンを埋め込んだ地図、データを埋め込んだ一覧表など、図形的要素を含むものが含まれ得る。
ダイナミックパブリッシングでは、RDF(Resource Description Framework)に従って記述されたLinked Dataをデータベースとして使用することがある。Linked Dataは、企業や人物などの実体を表す複数のエンティティと、これら複数のエンティティの間の関係を表す複数のリンクとを含む。利用者の関心のある(以後、「焦点」と呼ぶ)1つのエンティティを指定すると、当該エンティティから1以上のリンクを辿ることで当該エンティティに関するデータを抽出することができる。データベースから所望のデータを抽出する際には、SPARQL(SPARQL Protocol and RDF Query Language)などのクエリ言語を用いて記述されたクエリが使用される。クエリの雛形としてクエリテンプレートを予め用意しておくことがある。クエリテンプレートでは、焦点エンティティの識別情報が代入されるパラメータ(引数)を用いて検索条件が記載されることがある。
例えば、データベースの中から互いに関連する複数種類のデータを検索し、これら複数種類のデータに対応する複数の表示領域を含むWebページを生成する検索装置が提案されている。提案の検索装置は、データベースからデータを検索するときに使用するクエリの雛形として3つのクエリテンプレートを記憶する。1番目のクエリテンプレートは、ユーザから指定される企業の合計受注金額を検索するものである。2番目のクエリテンプレートは、ユーザから指定される企業の関連企業を検索するものである。3番目のクエリテンプレートは、ユーザから指定される企業とその関連企業とを含む企業グループの合計受注金額を検索するものである。検索装置は、ユーザから1つの企業が指定されると、指定された企業の識別情報と3つのクエリテンプレートを用いて3つのクエリを生成し、生成した3つのクエリを個別に実行して3種類のデータを抽出する。
また、ユーザから入力された自然言語のクエリを、自然言語処理技術を用いてオブジェクトクエリ言語(OQL:Object Query Language)のクエリに変換し、OQLクエリを用いてオントロジ知識データベースからデータを検索するシステムが提案されている。
特開2015−125747号公報 特開2016−18566号公報
ところで、あるエンティティにユーザが焦点をあてているときに当該エンティティに関連する情報を提示したいことがある一方で、上記エンティティと所定のリンク関係をもつ他のエンティティに関連する情報をも提示したいこともある。そこで従来は、焦点をあてている当該エンティティから所定のリンクを辿って、上記他のエンティティに関するデータを抽出して関連する情報を提示するというクエリーテンプレートを作成し、それを利用することができる。しかし、これでは、上記他のエンティティが同じであっても、焦点をあてているエンティティからの所定のリンクの違いに応じて異なるクエリテンプレートを用意することになり、関連する情報を提示して可視化するソフトウェアの作成効率が低くなるという問題がある。
1つの側面では、本発明は、関連するデータを抽出して可視化するソフトウェアの作成効率を向上できる表示プログラム、表示方法および表示装置を提供することを目的とする。
1つの態様では、コンピュータに以下の処理を実行させる表示プログラムが提供される。複数のエンティティと複数のエンティティの間の関係を示す複数のリンクとを含むデータベースに含まれる第1のエンティティの指定を受け付ける。基準となるエンティティの識別情報が代入されるパラメータを用いてデータベースに対する検索条件を記載したクエリテンプレートと、基準となるエンティティとして使用可能なエンティティの条件を示す基準点条件とを取得する。第1のエンティティが基準点条件を満たさない場合、複数のエンティティのうち、第1のエンティティから1以上のリンクを介して到達可能であり基準点条件を満たす第2のエンティティを検出する。第2のエンティティの検出結果とクエリテンプレートとに基づいてクエリを生成し、表示処理に使用するデータをクエリを用いてデータベースから検索する。
また、1つの態様では、コンピュータが実行する表示方法が提供される。また、1つの態様では、記憶部と処理部とを有する表示装置が提供される。
1つの側面では、関連するデータを抽出して可視化するソフトウェアの作成効率が向上する。
第1の実施の形態の表示装置を説明する図である。 第2の実施の形態の情報処理システムの例を示す図である。 端末装置のハードウェア例を示すブロック図である。 端末装置の機能例を示すブロック図である。 RDFデータを表すグラフ例を示す図である。 RDFデータの記載例を示す図である。 クエリテンプレートの例を示す図である。 設定テーブルの例を示す図である。 第2の実施の形態のクエリ例を示す図である。 クエリ結果テーブルの例を示す図である。 可視化の手順例を示すフローチャートである。 第2の実施の形態のクエリ生成の手順例を示すフローチャートである。 クエリテンプレートの書き換え例を示す図である。 第3の実施の形態のクエリ例を示す図である。 第3の実施の形態のクエリ生成の手順例を示すフローチャートである。
以下、本実施の形態を図面を参照して説明する。
[第1の実施の形態]
第1の実施の形態を説明する。
図1は、第1の実施の形態の表示装置を説明する図である。
第1の実施の形態の表示装置10は、データベースから数値や文字列などの非図形的データを検索し、検索結果を可視化してグラフ、ピンを埋め込んだ地図、数値や文字列を埋め込んだ一覧表などの図形的データを含む表示コンテンツを生成して表示させる。表示装置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でもよい)に記憶されたプログラムを実行する。例えば、プロセッサは表示プログラムを実行する。なお、複数のプロセッサの集合を「マルチプロセッサ」または単に「プロセッサ」と言うことがある。
記憶部11は、データベース13を記憶する。データベース13は、企業、人物などの実体を表す複数のエンティティと、包含関係、所有関係、同値関係などのエンティティ間の関係を示す複数のリンクとを含む。データベース13は、例えば、RDFに従って記述されたLinked Dataであり、公開されたLinked DataであるLinked Open Dataであってもよい。データベース13には、異なる作成主体によって作成されて相互にリンクされている複数のデータセットが含まれてもよい。なお、データベース13が表示装置10の外部に記憶されていてもよい。また、表示装置10がデータベース13の少なくとも一部分を外部から受信するようにしてもよい。
また、記憶部11は、クエリテンプレート14を記憶する。クエリテンプレート14は、表示処理に使用するデータをデータベース13から検索するためのクエリ(検索要求文)の雛形である。クエリテンプレート14では、データベース13に対する検索条件がパラメータ14aを用いて記載されている。検索条件は、基準となるエンティティに関するデータをデータベース13から収集する方法を示している。パラメータ14aは、基準となるエンティティの識別情報が代入される位置を示し、例えば、「%URI%」などの所定の文字列で表記される。エンティティの識別情報は、例えば、URI(Uniform Resource Identifier)またはIRI(Internationalized Resource Identifier)である。パラメータ14aに具体的なエンティティの識別情報を代入すると、当該エンティティに関する所望のデータを検索するための実行可能なクエリが完成する。
また、記憶部11は、基準点条件15を記憶する。基準点条件15は、クエリテンプレート14において基準となるエンティティとして使用可能なエンティティの条件を示す。例えば、基準点条件15は、法人番号データセットに含まれる法人型のエンティティなど、基準となるエンティティとして使用可能なエンティティの型を規定する。記憶部11は、基準点条件15を満たすエンティティをデータベース13から検出する際に使用するリンクの条件を示す探索条件を更に記憶するようにしてもよい。
処理部12は、データベース13に含まれるエンティティのうちのエンティティ13a(第1のエンティティ)の指定を受け付ける。エンティティ13aは、例えば、ユーザが現在焦点をあてているユーザから指定されたエンティティである。すると、処理部12は、指定されたエンティティ13aが基準点条件15を満たすか判定する。例えば、処理部12は、エンティティ13aの型が基準点条件15に規定された型と一致するか判定する。
エンティティ13aが基準点条件15を満たさない場合、処理部12は、データベース13に含まれるエンティティのうち、エンティティ13aの周辺に存在するエンティティ13b(第2のエンティティ)を検出する。エンティティ13bは、指定されたエンティティ13aから1以上のリンクを介して到達可能であり、かつ、基準点条件15を満たすエンティティである。処理部12は、エンティティ13bを、記憶部11に記憶された探索条件を満たすリンクのみを辿って到達可能なエンティティに限定してもよい。
処理部12は、エンティティ13bの検出結果とクエリテンプレート14とに基づいてクエリ16を生成する。クエリ16は、指定されたエンティティ13aではなく、エンティティ13bに関するデータをデータベース13から収集するためのクエリとなる。
例えば、処理部12は、検出されたエンティティ13bの識別情報をクエリテンプレート14のパラメータ14aに代入することでクエリ16を生成する。また、例えば、処理部12は、エンティティ13aからエンティティ13bに到達する経路を示すパス情報を生成し、エンティティ13aの識別情報とパス情報とクエリテンプレート14とに基づいてクエリ16を生成する。処理部12は、パラメータ14aをクエリテンプレート14の中で未使用の変数に置換し、他のパラメータとパス情報と当該変数とを対応付ける文を挿入することで、エンティティ13aの識別情報を使用できるようにクエリテンプレート14を書き換えてもよい。この場合、書き換え後のクエリテンプレートに含まれる他のパラメータにエンティティ13aの識別情報を代入すればよい。
処理部12は、生成したクエリ16を用いて、表示処理に使用されるデータをデータベース13から検索する。処理部12は、例えば、検索されたデータを表示用テンプレートに適用することで可視化し、グラフ、ピンを埋め込んだ地図、数値や文字列を埋め込んだ一覧表などの表示コンテンツを生成する。表示コンテンツは、Webページの中で表示されてもよい。例えば、表示コンテンツを含むWebページが、表示装置10が備えるディスプレイまたは外部の端末装置が備えるディスプレイに表示される。なお、表示装置10は、検索されたデータから生成した表示コンテンツを表示装置10の外部に送信してもよく、また、検索されたデータを表示装置10の外部に送信してもよい。
第1の実施の形態の表示装置10によれば、指定されたエンティティ13aが基準点条件15を満たさない場合、そのままではデータ検索にクエリテンプレート14を使用できない。そこで、指定されたエンティティ13aの周辺から基準点条件15を満たすエンティティ13bが検出され、エンティティ13bの検出結果とクエリテンプレート14とに基づいて、エンティティ13bに関するデータがデータベース13から検索される。
これにより、同じエンティティの関連情報を提示する場合には、焦点をあてているエンティティが異なってもクエリテンプレート14を共通に利用することができ、焦点をあてているエンティティの型に応じて異なるクエリテンプレートを予め用意しなくてもよい。よって、ユーザが焦点をあてているエンティティの型を変えたソフトウェアを既存のクエリテンプレート14を利用して実装でき、データを検索して可視化するソフトウェアの作成効率が向上する。
[第2の実施の形態]
次に、第2の実施の形態を説明する。
図2は、第2の実施の形態の情報処理システムの例を示す図である。
第2の実施の形態の情報処理システムは、端末装置100およびサーバ装置200を含む。端末装置100とサーバ装置200とは、ネットワーク30を介して通信可能である。ネットワーク30は、例えば、インターネットなどの広域データ通信ネットワークである。端末装置100は、ユーザが使用するクライアントコンピュータである。サーバ装置200は、端末装置100からアクセスされ得るサーバコンピュータである。
端末装置100は、ユーザ操作に応じて、ダイナミックパブリッシングによってWebページを動的に生成して表示する。ユーザ操作の検出やWebページの表示は、例えば、端末装置100にインストールされたWebブラウザ上で行われる。1つのWebページに対して1以上のガジェットを配置することができる。各ガジェットは、一単位の表示コンテンツを生成するモジュールであり、データベースからデータを検索するためのクエリテンプレートと検索されたデータから表示コンテンツを生成する可視化プログラムとを含む。可視化プログラムは、例えば、クライアントサイドスクリプトとして実装される。データベースは、RDFに従って記述されたRDFデータである。このRDFデータは、Linked DataやLinked Open Dataと言われることもある。
データベースから検索される可視化対象のデータは、数値や文字列などの非図形的データを含む。可視化プログラムによって生成される表示コンテンツは、複数の数値の関係を示すグラフ、位置を示すピンを埋め込んだ地図、数値や文字列の一覧表などの図形的データを含む。グラフとしては、折れ線グラフ(ラインチャート)、棒グラフ(バーチャート)、バブルチャート、レーダーチャートなどが挙げられる。表示コンテンツは、検索されたデータに対して表示用テンプレートを適用して生成することができる。なお、図形的データとしてピクセルの集合であるラスター画像(ビットマップ画像)を生成することもでき、数式などで定義された線の集合であるベクトル画像を生成することもできる。
端末装置100は、1以上のガジェットが配置されたWebページを定義した設定情報を記憶する。設定情報は予め端末装置100に対して直接入力されてもよいし、サーバ装置200から端末装置100にダウンロードされてもよい。また、端末装置100は、ダイナミックパブリッシングで使用する1以上のガジェットを記憶する。ガジェットは予め端末装置100に保存されていてもよいし、必要に応じてサーバ装置200から端末装置100にダウンロードされてもよい。また、端末装置100は、ダイナミックパブリッシングで使用するRDFデータの少なくとも一部を記憶する。少なくとも一部のRDFデータは予め端末装置100に保存されていてもよいし、必要に応じてサーバ装置200から端末装置100にダウンロードされてもよい。
サーバ装置200は、端末装置100からの要求に応じて、端末装置100に対してダイナミックパブリッシングに使用する各種情報を提供することがある。例えば、サーバ装置200は、端末装置100からの要求に応じて、上記の設定情報、ガジェットまたはRDFデータを端末装置100に送信してもよい。
なお、ネットワーク30には複数のサーバ装置が接続されてもよい。端末装置100は、複数のガジェットや複数のRDFデータセットを異なるサーバ装置からダウンロードしてもよい。また、第2の実施の形態では端末装置100がデータの検索および可視化を行っている。これに対し、サーバ装置200がデータの検索を行って検索結果を端末装置100に送信し、端末装置100は受信した検索結果の可視化を行ってもよい。また、サーバ装置200がデータの検索および可視化を行って表示コンテンツを端末装置100に送信し、端末装置100は受信した表示コンテンツを表示してもよい。
図3は、端末装置のハードウェア例を示すブロック図である。
端末装置100は、CPU101、RAM102、HDD103、画像信号処理部104、入力信号処理部105、媒体リーダ106および通信インタフェース107を有する。サーバ装置200も、端末装置100と同様のハードウェアを用いて実装することができる。なお、CPU101は、第1の実施の形態の処理部12に対応する。RAM102またはHDD103は、第1の実施の形態の記憶部11に対応する。
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を介してサーバ装置200と通信を行うインタフェースである。通信インタフェース107は、例えば、スイッチなどの通信装置とケーブルで接続される有線通信インタフェースである。ただし、基地局と無線リンクで接続される無線通信インタフェースでもよい。
図4は、端末装置の機能例を示すブロック図である。
端末装置100は、RDFデータ記憶部111、ガジェット記憶部112および設定情報記憶部113を有する。また、端末装置100は、ガジェット選択部121、クエリテンプレート抽出部122、関連エンティティ探索部123、クエリ生成部124、クエリ実行部125、可視化プログラム起動部126およびレンダリング部127を有する。RDFデータ記憶部111、ガジェット記憶部112および設定情報記憶部113は、例えば、RAM102またはHDD103の記憶領域を用いて実装される。ガジェット選択部121、クエリテンプレート抽出部122、関連エンティティ探索部123、クエリ生成部124、クエリ実行部125、可視化プログラム起動部126およびレンダリング部127は、例えば、CPU101が実行するプログラムを用いて実装される。
RDFデータ記憶部111は、RDFに従って記述されたLinked DataをRDFデータとして記憶する。RDFデータは、企業や人物などの実体を表すエンティティとエンティティ間の関係を表すリンクとを含む。RDFデータは、エンティティをノードとしエンティティ間のリンクをエッジとする有向グラフとして表現することができる。各エンティティにはURIやIRIなどの識別情報(第2の実施の形態では「URI」と表記する)が付与される。RDFデータは、「A会社の本店所在地はBである」といった事実を、主語(Subject)と述語(Predicate)と目的語(Object)の三つ組(トリプル)として表現する。有向グラフでは、主語に対応するノードから目的語に対応するノードに向かって、述語に対応するエッジが形成されることになる。
RDFデータ記憶部111には、情報源の異なる複数のデータセットの少なくとも一部が記憶され得る。複数のデータセットはリンクで連結されることがある。以下の説明ではデータセットの例として、DBpedia内の会社情報と国税庁の法人番号データセットとを使用することがある。RDFデータ記憶部111には、予めデータセットの全体または一部分が記憶されていてもよい。また、RDFデータの参照状況に応じて適宜、サーバ装置200または他のサーバ装置からデータセットの全体または一部分がダウンロードされてもよい。異なるデータセットは異なるサーバ装置からダウンロードされることがある。
ガジェット記憶部112は、Webページに配置され得る複数のガジェットを記憶する。各ガジェットはクエリテンプレートと可視化プログラムを含む。ガジェット記憶部112には、予め1以上のガジェットが記憶されていてもよい。また、ガジェットの使用状況に応じて適宜、サーバ装置200または他のサーバ装置からガジェットがダウンロードされてもよい。異なるガジェットは異なるサーバ装置からダウンロードされることがある。
クエリテンプレートは、1つのエンティティのURIが代入されるパラメータを含むクエリの雛形である。クエリテンプレートから生成されるクエリは、RDFデータ記憶部111に記憶されたRDFデータの中から上記URIが示すエンティティに関するデータを検索するための検索要求文であり、SPARQLによって記述される。各クエリテンプレートは、所定の種類のエンティティのURIが代入されることを想定して作成されている。可視化プログラムは、クエリテンプレートに従って検索されたデータを可視化するスクリプトプログラムであり、データ検索後に呼び出される。各可視化プログラムは、所定の種類のデータを所定の種類の表示コンテンツに変換するものである。
設定情報記憶部113は、ガジェットの使用方法を示す設定情報を記憶する。設定情報は、例えば、入力デバイス42を用いて端末装置100に対して入力される。ただし、設定情報がサーバ装置200または他のサーバ装置からダウンロードされてもよい。設定情報は、Webページへのガジェットの配置を示す情報を含む。1つのWebページには1以上のガジェットを配置することができる。また、設定情報は、ユーザから指定されるエンティティの種類(エンティティ型)と当該エンティティの指定に反応するガジェットとを対応付ける情報を含む。1つのエンティティの指定に対して2以上のガジェットが反応して、2以上の表示コンテンツが生成され並べて表示されることがある。
また、設定情報は、ガジェットに含まれるクエリテンプレートが想定するエンティティの種類とWebページ上でユーザから指定されるエンティティの種類との間のずれを吸収するための情報を含む。ユーザが焦点をあてているエンティティ(焦点エンティティと言うことがある)の種類がクエリテンプレートの想定する種類と異なる場合、そのままでは当該クエリテンプレートを使用することができない。そこで、端末装置100は以下に説明するように、RDFデータ記憶部111に記憶されたRDFデータの中から、焦点エンティティの周辺にある適切なエンティティを探索してクエリテンプレートに適用することがある。焦点エンティティに代えてクエリテンプレートに適用されるエンティティを、関連エンティティまたは仮焦点エンティティと言うことがある。設定情報は、焦点エンティティから関連エンティティを探索する方法についての情報を含む。
ガジェット選択部121は、Webページ上でのユーザ操作を検出し、ユーザが指定したエンティティのURI(焦点エンティティのURI)を取得する。通常、1回に取得される焦点エンティティのURIは1つである。ただし、複数の焦点エンティティ(コレクションエンティティシーケンス)に対応する複数のURIを同時に取得できるようにしてもよい。その場合、例えば、以下の処理が焦点エンティティ毎に実行される。ガジェット選択部121は、設定情報記憶部113に記憶された設定情報を参照して、指定された焦点エンティティの種類に対応するガジェットを選択する。複数のガジェットが選択された場合、以下の処理がガジェット毎に実行される。
クエリテンプレート抽出部122は、ガジェット選択部121が選択したガジェットに含まれるクエリテンプレートをガジェット記憶部112から抽出する。
関連エンティティ探索部123は、設定情報記憶部113に記憶された設定情報を参照して、指定された焦点エンティティが、ガジェットに対して設定されている終了条件を満たすか判定する。終了条件は、クエリテンプレートのパラメータが想定しているエンティティの条件であり、関連エンティティの探索を終了する条件でもある。焦点エンティティが終了条件を満たす場合、焦点エンティティが関連エンティティとみなされる。
一方、焦点エンティティが終了条件を満たさない場合、関連エンティティ探索部123は、RDFデータ記憶部111に記憶されたRDFデータの中から、焦点エンティティの周辺にある終了条件を満たす関連エンティティを探索する。このとき、関連エンティティ探索部123は、設定情報記憶部113に記憶された設定情報を参照して、ガジェットに対して設定されている探索条件に従って探索範囲を限定する。探索条件は、探索の際に焦点エンティティから辿ることを許容するリンクの条件である。探索範囲を限定することで、ユーザの意図と異なる関連エンティティを選択してしまうリスクが低減される。
クエリ生成部124は、関連エンティティ探索部123による関連エンティティの探索結果とクエリテンプレート抽出部122が抽出したクエリテンプレートとに基づいて、クエリを生成する。第2の実施の形態では、クエリ生成部124は、関連エンティティのURIをクエリテンプレートのパラメータに代入する。ただし、後述するように、クエリテンプレートを書き換えるなど他の方法でクエリを生成することも可能である。
クエリ実行部125は、RDFデータ記憶部111に記憶されたRDFデータに対して、クエリ生成部124が生成したクエリを実行して検索結果を生成する。RDFデータが論理的にはグラフ構造(ネットワーク構造)である一方、クエリ実行部125が生成する検索結果は論理的には1以上の列(データ項目)と1以上の行(レコード)とを含むテーブル構造であることがある。検索結果に含まれるべきデータ項目は、クエリの生成に用いられるクエリテンプレートにおいて定義されている。
可視化プログラム起動部126は、ガジェット選択部121が選択したガジェットに含まれる可視化プログラムをガジェット記憶部112から抽出する。そして、可視化プログラム起動部126は、クエリ実行部125が生成した検索結果を可視化プログラムに与えて当該可視化プログラムを起動する。可視化プログラムが実行されることで、ガジェットに応じた種類の表示コンテンツが生成される。可視化プログラムは、グラフの雛形、地図、一覧表の雛形などの表示用テンプレートを使用することがある。
検索結果が数値を示すデータ項目を含む場合、表示コンテンツはレコード間で数値を比較する折れ線グラフ・棒グラフ・バブルチャート・レーダーチャートなどのグラフであることがある。また、検索結果が位置座標を示すデータ項目を含む場合、表示コンテンツは1以上のレコードに対応する1以上のピンが埋め込まれた地図であることがある。また、検索結果が数値や文字列を示す複数のデータ項目を含む場合、表示コンテンツは複数のデータ項目に対応する列と1以上のレコードに対応する行を含む一覧表であることがある。
レンダリング部127は、生成された表示コンテンツを可視化プログラム起動部126から取得する。レンダリング部127は、表示コンテンツを含むWebページの描画処理(レンダリング)を行ってWebページの表示を更新する。表示コンテンツを含むWebページはディスプレイ41に表示される。
図5は、RDFデータを表すグラフ例を示す図である。
グラフ131は、RDFデータによって表現されるグラフの一部分である。グラフ131は、ノード131a,131b,131c,131d,131e,131f,131g,131h,131i,131j,131k,131lを含む。
ノード131aは、法人番号データセットに含まれる特定の1つの企業のエンティティに対応し、1つのURIで識別される。ノード131bは、組織型を示すエンティティに対応し、1つのURIで識別される。ノード131a,131bは、ノード131aからノード131bへのエッジで接続されている。このエッジは「タイプをもつ」という述語を示すリンクに対応し、その種類は1つのURIで識別される。これによって、ノード131aのエンティティが、組織型というタイプをもつことが表現される。
ノード131cは、法人番号データセットの法人型を示すエンティティに対応し、1つのURIで識別される。ノード131a,131cは、ノード131aからノード131cへのエッジで接続されている。このエッジは「タイプをもつ」という述語を示すリンクに対応し、その種類は1つのURIで識別される。これによって、ノード131aのエンティティが、法人番号データセットの法人型というタイプをもつことが表現される。
ノード131dは、具体的な文字列であるリテラルに対応する。ノード131a,131dは、ノード131aからノード131dへのエッジで接続されている。このエッジは「識別情報をもつ」という述語を示すリンクに対応し、その種類は1つのURIで識別される。これによって、ノード131aのエンティティが、ノード131dの文字列で表される番号を法人番号としてもつことが表現される。ノード131eは、具体的な値であるリテラルに対応する。ノード131a,131eは、ノード131aからノード131eへのエッジで接続されている。このエッジは「ラベルをもつ」という述語を示すリンクに対応し、その種類は1つのURIで識別される。これによって、ノード131aのエンティティが、ノード131eの文字列を商号としてもつことが表現される。
ノード131fは、URIもリテラルも含まない空白ノードである。空白ノードは、複数の下位ノードを統括する1つの上位ノードを作成したいものの、その上位ノードに固有のURIを付与するほどの重要性がない場合に使用されることがある。ノード131fは、法人の本店所在地という概念に対応する。ノード131a,131fは、ノード131aからノード131fへのエッジで接続されている。このエッジは「登記上の場所をもつ」という述語を示すリンクに対応し、その種類は1つのURIで識別される。ノード131gは、所在地という概念に対応する空白ノードである。ノード131f,131gは、ノード131fからノード131gへのエッジで接続されている。このエッジは「住所」という述語を示すリンクに対応し、その種類は1つのURIで識別される。
ノード131h,131i,131jは、具体的な文字列であるリテラルに対応する。ノード131g,131hは、ノード131gからノード131hへのエッジで接続されている。このエッジは「地方」という述語を示すリンクに対応し、その種類は1つのURIで識別される。地方は大きな行政区画であり、例えば、日本の都道府県である。ノード131g,131iは、ノード131gからノード131iへのエッジで接続されている。このエッジは「地区」という述語を示すリンクに対応し、その種類は1つのURIで識別される。地区は小さな行政区画であり、例えば、日本の市区町村(市町村や特別区)である。ノード131g,131jは、ノード131gからノード131jへのエッジで接続されている。このエッジは「通り」という述語を示すリンクに対応し、その種類は1つのURIで識別される。地方、地区、通りはURIで識別することもできるが、図5ではリテラルで示している。これによって、ノード131aのエンティティが、ノード131h,131i,131jの文字列によって表される住所を本店所在地としてもつことが表現される。
ノード131kは、DBpediaに含まれる特定の1つの企業のエンティティに対応し、1つのURIで識別される。ノード131aとノード131kは実質的に同一の企業を示している。しかし、ノード131aは法人番号データセットに属し、ノード131kはDBpediaのデータセットに属するため、同一の企業を示す異なるエンティティが定義されている。このように、異なるデータセットは実質的に同一の実体を示す異なるエンティティを含むことがある。この場合、異なるデータセットの異なるエンティティの間にリンクを付与することで、対応関係を表現することができる。
ノード131a,131kは、ノード131aからノード131kへのエッジで接続されている。このエッジは、DBpediaのデータセットに属するノード131kが、法人番号データセットに属するノード131aに対応していることを示している。ノード131lは、具体的な文字列であるリテラルに対応する。ノード131k,131lは、ノード131kからノード131lへのエッジで接続されている。このエッジは「ラベルをもつ」という述語を示すリンクに対応し、その種類は1つのURIで識別される。これによって、ノード131kのエンティティが、ノード131lの文字列を企業名の通称としてもつことが表現される。ノード131lの文字列はノード131eと異なってもよい。
図6は、RDFデータの記載例を示す図である。
RDFデータ132は、RDFデータ記憶部111に記憶されるRDFデータの一部分を示しており、図5のグラフ131に対応する。図6のRDFデータ132は、主語・述語・目的語の三つ組をタートル形式で記載している。ただし、三つ組をRDF/XML(Extensible Markup Language)形式など他の形式で記載することも可能である。RDFデータ132において、URIはカギ括弧(<と>)を用いて表記される。ただし、URIの一部分について名前空間が定義されている場合、カギ括弧を用いずに表記されることがある。また、リテラルとしての文字列はダブルクオテーションを用いて表記される。
RDFデータ132の1行目は、主語としてノード131aのURIを含む。RDFデータ132の2行目は、述語としてタイプを意味するURIを含み、目的語としてノード131b,131cのURIを含む。RDFデータ132の3行目は、述語として識別情報を意味するURIを含み、目的語としてノード131dのリテラルを含む。RDFデータ132の4行目は、述語としてラベルを意味するURIを含み、目的語としてノード131eのリテラルを含む。
RDFデータ132の5行目は、述語として本店所在地を意味するURIを含む。この述語に対応する目的語は6行目〜9行目の全体である。RDFデータ132の6行目は、述語として住所を意味するURIを含む。この述語に対応する目的語は7行目〜9行目の全体である。RDFデータ132の7行目は、述語として都道府県を意味するURIを含み、目的語としてノード131hのリテラルを含む。RDFデータ132の8行目は、述語として市区町村を意味するURIを含み、目的語としてノード131iのリテラルを含む。RDFデータ132の9行目は、述語として番地など市区町村名より後の部分を意味するURIを含み、目的語としてノード131jのリテラルを含む。
RDFデータ132の10行目は、述語として内容の対応関係を意味するURIを含み、目的語としてノード131kのURIを含む。RDFデータ132の11行目は、主語としてノード131kのURIを含む。RDFデータ132の12行目は、述語としてラベルを意味するURIを含み、目的語としてノード131lのリテラルを含む。
図7は、クエリテンプレートの例を示す図である。
クエリテンプレート133は、ガジェット記憶部112に記憶された何れかのガジェットに含まれているクエリテンプレートである。クエリテンプレート133は、パラメータ「%URI%」と、変数「?number」,「?name」,「?site」,「?pref」,「?city」,「?street」を含む。
パラメータ「%URI%」は、法人番号データセットの中の企業を示すエンティティのURIが代入されることを想定したパラメータである。クエリテンプレート133は、パラメータ「%URI%」に代入されるURIが示すエンティティを起点として、法人番号データセットの中から当該エンティティの基本三情報を抽出することを示している。基本三情報は、法人番号と商号と本店所在地である。クエリテンプレート133に記載されたパラメータ「%URI%」を具体的なURIに置換することで、そのURIが示す企業の基本三情報を検索するためのクエリを生成することができる。
変数「?number」は、法人番号を示す変数である。変数「?name」は、商号を示す変数である。変数「?site」は、本店所在地を示す変数である。変数「?pref」は、本店所在地に含まれる都道府県名を示す変数である。変数「?city」は、本店所在地に含まれる市区町村名を示す変数である。変数「?street」は、本店所在地に含まれる通り名を示す変数である。
クエリテンプレート133は、検索結果に含めるデータ項目として、変数「?number」,「?name」,「?pref」,「?city」,「?street」に対応する5つのデータ項目を定義している。よって、クエリテンプレート133から生成されるクエリを実行すると、所定の検索条件を満たす法人番号・商号・都道府県名・市区町村名・通り名の組が検索結果として抽出されることになる。
クエリテンプレート133は、検索条件を三つ組形式で定義する。検索条件は、主語が「%URI%」、述語が識別情報を意味するリンク、目的語が「?number」という条件を含む。また、検索条件は、主語が「%URI%」、述語がラベルを意味するリンク、目的語が「?name」という条件を含む。また、検索条件は、主語が「%URI%」、述語が本店所在地を意味するリンク、目的語が「?site」という条件を含む。
また、検索条件は、主語が「?site」、述語が住所を意味するリンク、目的語が空白ノードという条件を含む。また、検索条件は、主語が上記の空白ノード、述語が都道府県名を意味するリンク、目的語が「?pref」という条件を含む。また、主語が上記の空白ノード、述語が市区町村名を意味するリンク、目的語が「?city」という条件を含む。また、検索条件は、主語が上記の空白ノード、述語が通り名を意味するリンク、目的語が「?street」という条件を含む。この検索条件を全て満たすような変数「?number」,「?name」,「?pref」,「?city」,「?street」の値の組が、法人番号データセットから抽出されることになる。
図8は、設定テーブルの例を示す図である。
設定テーブル134は、設定情報記憶部113に記憶される。設定テーブル134は、ページID、焦点タイプ、ガジェットID、探索条件および終了条件の項目を有する。
ページIDの項目には、Webページの識別情報が登録される。焦点タイプの項目には、Webページ上でユーザが指定し得る焦点エンティティの種類が登録される。1つのWebページに対して複数の焦点タイプを登録することもできる。ガジェットIDの項目には、Webページに配置するガジェットの識別情報が登録される。1つのWebページに対して複数のガジェットIDを登録することもできる。探索条件の項目には、焦点エンティティから関連エンティティを探索するときに使用するリンクの条件が登録される。終了条件の項目には、関連エンティティの探索を終了する条件が登録される。探索条件と終了条件は、ページIDとガジェットIDの組毎に登録される。
例えば、焦点タイプとして、DBpediaのデータセットに含まれる企業のエンティティの種類が登録される。また、ガジェットIDとして、前述のクエリテンプレート133を含むガジェットの識別情報が登録される。この場合、焦点エンティティの種類がクエリテンプレート133の想定するエンティティの種類と異なるため、適切な関連エンティティを探索できるように探索条件と終了条件を設定することになる。
例えば、探索条件として「^<http://xmlns.com/foaf/0.1/primaryTopic>」が登録される。これは、primaryTopicという種類のリンクを逆方向に1回だけ辿ること、すなわち、焦点エンティティに対して当該リンクをもつエンティティを関連エンティティの候補とすることを意味する。探索条件は、特定の種類のリンクのみ許可し、それ以外の種類のリンクを許可しないことを示す場合がある。また、探索条件は、特定の種類のリンクを許可せず、それ以外の種類のリンクを許可することを示す場合がある。また、例えば、終了条件として「hasType(org:Organization)&&hasType(l4a:Corporate)」が登録される。これは、組織型でありかつ法人番号データセットの法人型であるエンティティを、関連エンティティとして検出することを意味する。
なお、探索条件は正規表現を用いて記述することができる。他の探索条件の例として、「(owl:sameAs|foaf:primaryTopic)*」が考えられる。これは、焦点エンティティから、owl:sameAsという種類のリンクとfoaf:primaryTopicという種類のリンクのみ、任意の回数辿ることを許可することを意味する。探索条件に記載されるリンクの種類は、探索範囲が広がり過ぎないように、エンティティが示す実体の同一性を意味するリンクに限定することがある。
図9は、第2の実施の形態のクエリ例を示す図である。
ここでは、ユーザから図5のノード131kのエンティティが焦点エンティティとして指定されたとする。指定された焦点エンティティは、DBpediaのデータセットに属するエンティティであり法人番号データセットに属するエンティティではないため、設定テーブル134に登録された終了条件を満たさない。
そこで、端末装置100は、設定テーブル134に登録された探索条件に従って焦点エンティティからリンクを辿り、終了条件を満たす関連エンティティを探索する。すると、端末装置100は、図5のノード131aのエンティティを関連エンティティとして検出する。第2の実施の形態では、端末装置100は、図7のクエリテンプレート133のパラメータ「%URI%」に対して、検出した関連エンティティのURIを代入する。これにより、クエリ135が生成される。クエリ135は、ノード131aのエンティティを起点として、このエンティティが示す企業の基本三情報を検索するものである。
図10は、クエリ結果テーブルの例を示す図である。
RDFデータ132に対してクエリ135を実行すると、クエリ結果テーブル136が生成される。なお、図10ではクエリ135の実行結果をテーブル形式で記載しているが、他の形式で記載された実行結果が出力されてもよい。
クエリ結果テーブル136は、データ項目として「number」,「name」,「pref」,「city」,「street」を含む。データ項目「number」の値として、ノード131aから到達されるノード131dのリテラル(法人番号)が出力される。データ項目「name」の値として、ノード131aから到達されるノード131eのリテラル(商号)が出力される。データ項目「pref」の値として、ノード131aから到達されるノード131hのリテラル(都道府県名)が出力される。データ項目「city」の値として、ノード131aから到達されるノード131iのリテラル(市区町村名)が出力される。データ項目「street」の値として、ノード131aから到達されるノード131jのリテラル(通り名)が出力される。
次に、端末装置100の処理手順について説明する。
図11は、可視化の手順例を示すフローチャートである。
(S10)ガジェット選択部121は、Webページ上でのユーザ操作を検出し、ユーザが指定した焦点エンティティのURIを取得する。例えば、ガジェット選択部121は、DBpediaのデータセットに属する企業のエンティティのURIを取得する。
(S11)ガジェット選択部121は、設定情報記憶部113に記憶された設定テーブル134を参照して、ユーザ操作が検出されたWebページおよびステップS10で取得したURIが示す焦点エンティティの種類に対応付けられたガジェットを選択する。
(S12)クエリテンプレート抽出部122は、ステップS11で選択されたガジェットに含まれるクエリテンプレートをガジェット記憶部112から抽出する。例えば、クエリテンプレート抽出部122は、クエリテンプレート133を抽出する。
(S13)関連エンティティ探索部123は、RDFデータ記憶部111に記憶されたRDFデータの中から関連エンティティを探索する。クエリ生成部124は、関連エンティティの探索結果とステップS12で抽出されたクエリテンプレートとを用いてクエリを生成する。クエリ生成の詳細は後述する。
(S14)クエリ実行部125は、RDFデータ記憶部111に記憶されたRDFデータに対して、ステップS13で生成されたクエリを実行し、検索結果データを生成する。例えば、クエリ実行部125は、クエリ結果テーブル136を生成する。
(S15)可視化プログラム起動部126は、ステップS11で選択されたガジェットに含まれる可視化プログラムをガジェット記憶部112から抽出する。例えば、可視化プログラム起動部126は、法人番号・商号・本店所在地を一覧表に埋め込むプログラムや、本店所在地を示すピンを地図に埋め込むプログラムを抽出する。
(S16)可視化プログラム起動部126は、ステップS15で抽出した可視化プログラムを、ステップS14の検索結果データを与えて起動する。可視化プログラムにより、検索結果データを可視化した表示コンテンツが生成される。表示コンテンツは、複数の数値の関係を示すグラフ、ピンを埋め込んだ地図、一覧表などの図形的データを含む。例えば、可視化プログラム起動部126は、法人番号・商号・本店所在地を記載した一覧表や、本店所在地を示すピンが埋め込まれた地図を取得する。
(S17)レンダリング部127は、ステップS16の表示コンテンツを含むWebページをレンダリングしてディスプレイ41に表示させる。
図12は、第2の実施の形態のクエリ生成の手順例を示すフローチャートである。
このクエリ生成は、上記のステップS13で実行される。
(S20)関連エンティティ探索部123は、着目するエンティティ(着目点または着目エンティティ)を、ステップS10の焦点エンティティに設定する。
(S21)関連エンティティ探索部123は、着目エンティティが、設定情報記憶部113に記憶された設定テーブル134に登録されている終了条件を満たすか判断する。例えば、関連エンティティ探索部123は、着目エンティティの種類が法人番号データセットの法人型であるか(例えば、着目エンティティから法人番号データセットの法人型を示すエンティティへのリンクが存在するか)判断する。終了条件を満たす場合はステップS27に処理が進み、終了条件を満たさない場合はステップS22に処理が進む。
(S22)関連エンティティ探索部123は、着目点を移動する関連エンティティ探索の回数(ステップS23〜S25の実行回数)と閾値とを比較し、探索回数が閾値を超えたか判断する。探索回数が閾値を超えた場合はステップS26に処理が進み、探索回数が閾値以下である場合はステップS23に処理が進む。
(S23)関連エンティティ探索部123は、焦点エンティティから1以上のリンクを辿るパスのうち、設定情報記憶部113に記憶された設定テーブル134に登録されている探索条件を満たすパスであって未選択のものを検索する。1以上のリンクを辿るとき、リンクを順方向に辿る場合もあるし逆方向に辿る場合もある。探索条件を満たすパスの検索には、幅優先探索などの所定の探索アルゴリズムを使用する。好ましくは、焦点エンティティに近いエンティティ(焦点エンティティからのホップ数が小さいエンティティ)から優先的に終了条件を判定する。例えば、関連エンティティ探索部123は、DBpediaのデータセットに含まれる企業のエンティティから法人番号データセットに含まれる企業のエンティティに到達するパスを選択する。
(S24)関連エンティティ探索部123は、ステップS23において探索条件を満たす新たなパスが検索されたか判断する。該当するパスが存在する場合はステップS25に処理が進み、該当するパスが存在しない場合はステップS26に処理が進む。
(S25)関連エンティティ探索部123は、ステップS23のパスの到達先にあるエンティティに着目点を移動する。そして、ステップS21に処理が進む。
(S26)関連エンティティ探索部123は、ステップS10の焦点エンティティの周辺には探索条件および終了条件を満たす関連エンティティが存在しないと判断し、エラーを出力する。この場合、エラーを生じさせたガジェットについては、以降のステップS14〜S16の処理は実行されず表示コンテンツが生成されない。
(S27)関連エンティティ探索部123は、現在の着目エンティティのURIを取得し、関連エンティティ(仮焦点エンティティ)のURIとして決定する。
(S28)クエリ生成部124は、ステップS12で抽出されたクエリテンプレートのパラメータに、ステップS27の関連エンティティのURIを代入する。例えば、クエリ生成部124は、文字列「%URI%」を関連エンティティのURIに置換する。
第2の実施の形態の情報処理システムによれば、指定された焦点エンティティがクエリテンプレートに対応する終了条件を満たす場合、焦点エンティティのURIがクエリテンプレートのパラメータに代入されてクエリが生成される。一方、焦点エンティティがクエリテンプレートに対応する終了条件を満たさない場合、設定された探索条件に従ってRDFデータの中から終了条件を満たす関連エンティティが探索される。そして、関連エンティティのURIがクエリテンプレートのパラメータに代入されてクエリが生成される。
これにより、クエリテンプレートのパラメータが想定する種類と異なる種類の焦点エンティティが指定され得る場合でも、そのクエリテンプレートを流用することができ、焦点エンティティの違いに応じて異なるクエリテンプレートを用意しなくてよい。例えば、検索したいデータの種類がm通りあり、焦点エンティティの種類がn通りあるとする。焦点エンティティの違いに応じて異なるクエリを用意する場合、n×m個のクエリテンプレートを作成することになる。これに対し、第2の実施の形態によれば、m個のクエリテンプレートを用意すれば足りることになる。よって、Linked Dataから所望のデータを検索して可視化するソフトウェアの作成効率が向上する。例えば、焦点エンティティの種類を変えたWebページを、既存のガジェットを利用して実装することができる。
[第3の実施の形態]
次に、第3の実施の形態を説明する。第2の実施の形態との違いを中心に説明し、第2の実施の形態と同様の事項については説明を省略することがある。
第3の実施の形態の情報処理システムは、関連エンティティの探索結果およびクエリテンプレートからクエリを生成する方法が、第2の実施の形態と異なる。第3の実施の形態の情報処理システムは、図2〜8,10と同様のハードウェア構成およびソフトウェア構成を用いて実装することができる。また、第3の実施の形態の端末装置は、図11と同様の手順で可視化処理を実行することができる。そこで、以下の第3の実施の形態の説明では、図2〜8,10,11と同様の符号を使用することがある。
図13は、クエリテンプレートの書き換え例を示す図である。
第3の実施の形態では、端末装置100は、焦点エンティティと異なる関連エンティティのURIをクエリテンプレート133に直接代入する代わりに、焦点エンティティのURIを代入できるようにクエリテンプレート133を一時的に書き換える。クエリテンプレート137は、クエリテンプレート133を書き換えたものである。
クエリテンプレート137は、パラメータ「%URI%」と、変数「?uri」,「?number」,「?name」,「?site」,「?pref」,「?city」,「?street」を含む。クエリテンプレート137のパラメータ「%URI%」は、元のクエリテンプレート133とは異なり、DBpediaのデータセットの中の企業を示すエンティティのURIが代入されることを想定したパラメータである。変数「?uri」は、元のクエリテンプレート133では使用されておらず書き換え時に追加された変数である。変数「?uri」は、法人番号データセットの中の企業を示すエンティティのURIを示す変数であり、元のクエリテンプレート133のパラメータに相当する。
クエリテンプレート137に記載されたパラメータ「%URI%」に、DBpediaのエンティティのURIを代入することで、それに対応する法人番号データセットのエンティティに関する基本三情報を検索するクエリを生成することができる。
クエリテンプレート133からは、次のようにしてクエリテンプレート137を生成することができる。関連エンティティの探索において、焦点エンティティから関連エンティティを辿る際に経由するリンクを並べたパス履歴を記録しておく。経由する1以上のリンクを順番に並べたパスをpとする。端末装置100は、クエリテンプレート133の中で使用されていない新たな変数を定義し、クエリテンプレート133のパラメータ「%URI%」を上記の新たな変数に置換する。また、端末装置100は、主語が「%URI%」、述語がp、目的語が上記の新たな変数である三つ組を検索条件に追加する。
これにより、焦点エンティティと検索の起点となるエンティティとが紐付けられる。例えば、「%URI% ^<http://wxmlns.com/foaf/0.1/primaryTopic> ?uri.」というステートメントが追加される。これは、検索の起点となるエンティティが、焦点エンティティからprimaryTopicのリンクを逆方向に辿ることで到達されるエンティティであることを示している。
図14は、第3の実施の形態のクエリ例を示す図である。
ここでは、ユーザから図5のノード131kのエンティティが焦点エンティティとして指定されたとする。指定された焦点エンティティは、DBpediaのデータセットに属するエンティティであり法人番号データセットに属するエンティティではないため、設定テーブル134に登録された終了条件を満たさない。
そこで、端末装置100は、探索条件に従って焦点エンティティからリンクを辿り、図5のノード131aのエンティティを関連エンティティとして検出する。第3の実施の形態では、端末装置100は、焦点エンティティから関連エンティティに到達するパスを用いてクエリテンプレート133をクエリテンプレート137に書き換える。そして、端末装置100は、クエリテンプレート137のパラメータ「%URI%」に対して当初指定された焦点エンティティのURIを代入する。これにより、クエリ138が生成される。クエリ138は、ノード131kのエンティティからノード131aのエンティティに移動し、ノード131aのエンティティを起点として基本三情報を検索するものである。
図15は、第3の実施の形態のクエリ生成の手順例を示すフローチャートである。
このクエリ生成は、上記のステップS13で実行される。
(S30)関連エンティティ探索部123は、着目するエンティティ(着目点または着目エンティティ)を、ステップS10の焦点エンティティに設定する。
(S31)関連エンティティ探索部123は、着目エンティティが、設定テーブル134に登録されている終了条件を満たすか判断する。終了条件を満たす場合はステップS38に処理が進み、終了条件を満たさない場合はステップS32に処理が進む。
(S32)関連エンティティ探索部123は、着目点を移動する関連エンティティ探索の回数(ステップS33〜S36の実行回数)と閾値とを比較し、探索回数が閾値を超えたか判断する。探索回数が閾値を超えた場合はステップS37に処理が進み、探索回数が閾値以下である場合はステップS33に処理が進む。
(S33)関連エンティティ探索部123は、焦点エンティティから1以上のリンクを辿るパスのうち、設定テーブル134に登録されている探索条件を満たすパスであって未選択のものを検索する。例えば、幅優先探索などの所定の探索アルゴリズムを使用する。
(S34)関連エンティティ探索部123は、ステップS33において探索条件を満たす新たなパスが検索されたか判断する。該当するパスが存在する場合はステップS35に処理が進み、該当するパスが存在しない場合はステップS37に処理が進む。
(S35)関連エンティティ探索部123は、パスの到達先に着目点を移動する。
(S36)関連エンティティ探索部123は、焦点エンティティから着目エンティティに到達するパスを示すパス履歴を記録する。パス履歴は、例えば、焦点エンティティに近い順に1以上のリンクのURIを列挙した情報である。移動後の着目エンティティが移動前の着目エンティティから更に1つリンクを辿った先にある場合、辿ったリンクのURIを移動前のパス履歴の末尾に追加すればよい。そして、ステップS31に処理が進む。
(S37)関連エンティティ探索部123は、ステップS10の焦点エンティティの周辺には探索条件および終了条件を満たす関連エンティティが存在しないと判断し、エラーを出力する。この場合、エラーを生じさせたガジェットについては、以降のステップS14〜S16の処理は実行されず表示コンテンツが生成されない。
(S38)関連エンティティ探索部123は、現在の着目エンティティを関連エンティティと決定し、焦点エンティティから関連エンティティへのパスを決定し、決定したパスを示すパス履歴を出力する。
(S39)クエリ生成部124は、関連エンティティ探索部123から取得したパス履歴が示すパスを用いて、ステップS12で抽出されたクエリテンプレートを書き換える。例えば、クエリ生成部124は、元のクエリテンプレートのパラメータを未使用の変数に置換する。また、クエリ生成部124は、主語をパラメータとし、述語をパスに含まれる1以上のリンクのURIの列とし、目的語を上記の変数とする検索条件を追加する。
(S40)クエリ生成部124は、ステップS39で書き換えたクエリテンプレートのパラメータに、ステップS10の焦点エンティティのURIを代入する。
第3の実施の形態の情報処理システムによれば、指定された焦点エンティティがクエリテンプレートに対応する終了条件を満たす場合、焦点エンティティのURIがクエリテンプレートのパラメータに代入されてクエリが生成される。一方、焦点エンティティがクエリテンプレートに対応する終了条件を満たさない場合、設定された探索条件に従ってRDFデータの中から終了条件を満たす関連エンティティが探索される。そして、焦点エンティティから関連エンティティに到達するパスの情報を含むようにクエリテンプレートが書き換えられ、焦点エンティティのURIがクエリテンプレートのパラメータに代入されてクエリが生成される。これにより、第2の実施の形態と同様の効果が得られる。
10 表示装置
11 記憶部
12 処理部
13 データベース
13a,13b エンティティ
14 クエリテンプレート
14a パラメータ
15 基準点条件
16 クエリ

Claims (7)

  1. コンピュータに、
    複数のエンティティと前記複数のエンティティの間の関係を示す複数のリンクとを含むデータベースに含まれる第1のエンティティの指定を受け付け、
    基準となるエンティティの識別情報が代入されるパラメータを用いて前記データベースに対する検索条件を記載したクエリテンプレートと、前記基準となるエンティティとして使用可能なエンティティの条件を示す基準点条件とを取得し、
    前記第1のエンティティが前記基準点条件を満たさない場合、前記複数のエンティティのうち、前記第1のエンティティから1以上のリンクを介して到達可能であり前記基準点条件を満たす第2のエンティティを検出し、
    前記第2のエンティティの検出結果と前記クエリテンプレートとに基づいてクエリを生成し、表示処理に使用するデータを前記クエリを用いて前記データベースから検索する、
    処理を実行させる表示プログラム。
  2. 前記クエリの生成では、前記第2のエンティティの識別情報を前記クエリテンプレートの前記パラメータに代入することで前記クエリを生成する、
    請求項1記載の表示プログラム。
  3. 前記クエリの生成では、前記第1のエンティティから前記第2のエンティティに到達する経路を示すパス情報を生成し、前記第1のエンティティの識別情報と前記パス情報と前記クエリテンプレートとに基づいて前記クエリを生成する、
    請求項1記載の表示プログラム。
  4. 前記クエリの生成では、前記パラメータを変数に置換すると共に、指定されたエンティティの識別情報が代入される他のパラメータと前記パス情報と前記変数とを対応付ける文を挿入することで、前記クエリテンプレートを書き換え、前記書き換えたクエリテンプレートの前記他のパラメータに前記第1のエンティティの識別情報を代入する、
    請求項3記載の表示プログラム。
  5. 前記クエリテンプレートおよび前記基準点条件の取得では、前記基準点条件を満たすエンティティの探索に使用するリンクの条件を示す探索条件を更に取得し、
    前記第2のエンティティの検出では、前記第1のエンティティから前記探索条件を満たすリンクを介して到達可能なエンティティの中から前記第2のエンティティを検出する、
    請求項1記載の表示プログラム。
  6. コンピュータが実行する表示方法であって、
    複数のエンティティと前記複数のエンティティの間の関係を示す複数のリンクとを含むデータベースに含まれる第1のエンティティの指定を受け付け、
    基準となるエンティティの識別情報が代入されるパラメータを用いて前記データベースに対する検索条件を記載したクエリテンプレートと、前記基準となるエンティティとして使用可能なエンティティの条件を示す基準点条件とを取得し、
    前記第1のエンティティが前記基準点条件を満たさない場合、前記複数のエンティティのうち、前記第1のエンティティから1以上のリンクを介して到達可能であり前記基準点条件を満たす第2のエンティティを検出し、
    前記第2のエンティティの検出結果と前記クエリテンプレートとに基づいてクエリを生成し、表示処理に使用するデータを前記クエリを用いて前記データベースから検索する、
    表示方法。
  7. 複数のエンティティと前記複数のエンティティの間の関係を示す複数のリンクとを含むデータベースに対する検索条件を、基準となるエンティティの識別情報が代入されるパラメータを用いて記載したクエリテンプレートと、前記基準となるエンティティとして使用可能なエンティティの条件を示す基準点条件とを記憶する記憶部と、
    前記複数のエンティティのうちの第1のエンティティの指定を受け付け、前記第1のエンティティが前記基準点条件を満たさない場合、前記複数のエンティティのうち、前記第1のエンティティから1以上のリンクを介して到達可能であり前記基準点条件を満たす第2のエンティティを検出し、前記第2のエンティティの検出結果と前記クエリテンプレートとに基づいてクエリを生成し、表示処理に使用するデータを前記クエリを用いて前記データベースから検索する処理部と、
    を有する表示装置。
JP2017096376A 2017-05-15 2017-05-15 表示プログラム、表示方法および表示装置 Active JP6839360B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2017096376A JP6839360B2 (ja) 2017-05-15 2017-05-15 表示プログラム、表示方法および表示装置
US15/976,153 US11030206B2 (en) 2017-05-15 2018-05-10 Display method and display apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017096376A JP6839360B2 (ja) 2017-05-15 2017-05-15 表示プログラム、表示方法および表示装置

Publications (2)

Publication Number Publication Date
JP2018194944A JP2018194944A (ja) 2018-12-06
JP6839360B2 true JP6839360B2 (ja) 2021-03-10

Family

ID=64097238

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017096376A Active JP6839360B2 (ja) 2017-05-15 2017-05-15 表示プログラム、表示方法および表示装置

Country Status (2)

Country Link
US (1) US11030206B2 (ja)
JP (1) JP6839360B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021064879A1 (ja) 2019-10-01 2021-04-08 富士通株式会社 学習方法、学習装置、学習プログラム、予測方法、予測装置および予測プログラム
CN112163000A (zh) * 2020-08-31 2021-01-01 阿里巴巴集团控股有限公司 一种数据查询方法和装置
US12130829B2 (en) 2022-10-31 2024-10-29 Splunk Inc. Generation of modified queries using a field value for different fields

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2773667B2 (ja) * 1995-02-09 1998-07-09 日本電気株式会社 関連情報検索装置
US20020194154A1 (en) * 2001-06-05 2002-12-19 Levy Joshua Lerner Systems, methods and computer program products for integrating biological/chemical databases using aliases
US7043716B2 (en) * 2001-06-13 2006-05-09 Arius Software Corporation System and method for multiple level architecture by use of abstract application notation
US7912842B1 (en) * 2003-02-04 2011-03-22 Lexisnexis Risk Data Management Inc. Method and system for processing and linking data records
US20060015483A1 (en) * 2004-07-15 2006-01-19 International Business Machines Corporation SQL query enhancement technique
US7925620B1 (en) * 2006-08-04 2011-04-12 Hyoungsoo Yoon Contact information management
US8204856B2 (en) * 2007-03-15 2012-06-19 Google Inc. Database replication
EP2370911A1 (en) * 2008-12-02 2011-10-05 Telefonaktiebolaget LM Ericsson (publ) System and method for matching entities
US8600979B2 (en) * 2010-06-28 2013-12-03 Yahoo! Inc. Infinite browse
EP2690568A1 (en) * 2012-07-23 2014-01-29 Facebook, Inc. Method and system, in particular relating to personalized structured search queries for online social networks
US11030239B2 (en) * 2013-05-31 2021-06-08 Google Llc Audio based entity-action pair based selection
US9354948B2 (en) * 2013-09-06 2016-05-31 Sap Se Data models containing host language embedded constraints
US9442977B2 (en) * 2013-09-06 2016-09-13 Sap Se Database language extended to accommodate entity-relationship models
US9619571B2 (en) * 2013-12-02 2017-04-11 Qbase, LLC Method for searching related entities through entity co-occurrence
JP6244902B2 (ja) 2013-12-27 2017-12-13 富士通株式会社 ガジェット間表示連携方法、ガジェット間表示連携プログラム及び情報処理装置
JP6191452B2 (ja) 2013-12-27 2017-09-06 富士通株式会社 検索プログラム、検索方法及び情報処理装置
US9336300B2 (en) * 2014-01-17 2016-05-10 Facebook, Inc. Client-side search templates for online social networks
US9501530B1 (en) * 2014-04-01 2016-11-22 Google Inc. Systems and methods for selecting content
KR101661198B1 (ko) 2014-07-10 2016-10-04 네이버 주식회사 단문/복문 구조의 자연어 질의에 대한 검색 및 정보 제공 방법 및 시스템
US11204929B2 (en) * 2014-11-18 2021-12-21 International Business Machines Corporation Evidence aggregation across heterogeneous links for intelligence gathering using a question answering system
US9699205B2 (en) * 2015-08-31 2017-07-04 Splunk Inc. Network security system
US10403400B2 (en) * 2017-03-22 2019-09-03 Global Healthcare Exchange, Llc Conflicting nomenclature reconciliation system

Also Published As

Publication number Publication date
JP2018194944A (ja) 2018-12-06
US20180329965A1 (en) 2018-11-15
US11030206B2 (en) 2021-06-08

Similar Documents

Publication Publication Date Title
JP6764115B2 (ja) 表示プログラム、表示方法および表示装置
US9280574B2 (en) Relative classification of data objects
JP5841934B2 (ja) 位置基盤データサービス装置及び方法
JP2008226061A (ja) 画像のタグ指定装置および画像検索装置ならびにそれらの動作制御方法およびそれらのコンピュータを制御するプログラム
JP6839360B2 (ja) 表示プログラム、表示方法および表示装置
JP2016192205A (ja) マップ画像およびデータの永続的キャッシング
CN105868096A (zh) 用于在浏览器中显示web页面测试结果的方法、装置及设备
CN102760150A (zh) 基于属性重现和标签路径的网页抽取方法
KR20190108657A (ko) 유사 그룹 요소 추출
JP2015204076A (ja) 文書差分表示プログラム及び情報処理装置
US20140122693A1 (en) Web Navigation Tracing
WO2016011699A1 (zh) 一种用于配置浏览器的导航页的方法与装置
JP2012145970A (ja) ポートレット化支援システム、装置、方法及びプログラム
JP7188461B2 (ja) セキュリティ情報分析装置、システム、方法およびプログラム
JP6001173B2 (ja) データ分析装置、rdfデータの拡張方法、およびデータ分析プログラム
US9420052B2 (en) Web navigation using web navigation pattern histories
US10726076B2 (en) Information acquisition method, and information acquisition device
JP2017220104A (ja) クライアント装置、情報処理システム及びプログラム
JP5223297B2 (ja) 位置表現特定装置、プログラム、及び、記憶媒体
JP2017041029A (ja) 項目値対応づけ処理方法、項目値対応づけ処理プログラムおよび情報処理装置
Lai et al. Design and realization of the intangible cultural heritage information management system based on web map service
JP2020024533A (ja) 分析支援方法および分析支援プログラム
JPH1139327A (ja) リンク情報自動修復方法および装置
WO2024121992A1 (ja) 情報処理装置、方法およびプログラム
JP2009230472A (ja) 情報検索方法および情報検索システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200213

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20200225

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20200225

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20201221

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: 20210112

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210125

R150 Certificate of patent or registration of utility model

Ref document number: 6839360

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150