JP2013161454A - グラフ情報表示装置及びプログラム - Google Patents

グラフ情報表示装置及びプログラム Download PDF

Info

Publication number
JP2013161454A
JP2013161454A JP2012025576A JP2012025576A JP2013161454A JP 2013161454 A JP2013161454 A JP 2013161454A JP 2012025576 A JP2012025576 A JP 2012025576A JP 2012025576 A JP2012025576 A JP 2012025576A JP 2013161454 A JP2013161454 A JP 2013161454A
Authority
JP
Japan
Prior art keywords
information
graph
conversion
node
display
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2012025576A
Other languages
English (en)
Inventor
Gengo Suzuki
源吾 鈴木
Toshibumi Enomoto
俊文 榎本
Nobuyuki Kobayashi
伸幸 小林
Masashi Yamamuro
雅司 山室
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2012025576A priority Critical patent/JP2013161454A/ja
Publication of JP2013161454A publication Critical patent/JP2013161454A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Image Generation (AREA)

Abstract

【課題】 グラフ情報を容易に表示でき、容易にユーザ独自の表示パターンの追加を可能にする。
【解決手段】 本発明は、属性情報を持つノード情報と、両端に接続するノード情報と該ノード情報自身の属性情報を持つエッジ情報からなるグラフ情報を格納したグラフデータベースと、グラフ情報を表示オブジェクトに変換するためのグラフ情報変換メソッド群と、グラフ情報と表示オブジェクトとグラフ情報変換メソッド群の対応を定義したグラフ・表示変換定義と、を有し、グラフデータベースからグラフ情報を取得し、グラフ情報からノード情報またはエッジ情報と1対1に対応し、表示される図形やテキストの組み合わせである表示オブジェクトを生成するグラフ情報変換手段と、表示オブジェクトを解釈し、画面上に表示する。
【選択図】 図1

Description

本発明は、グラフ情報表示装置及びプログラムに係り、特に、道路や鉄道などの交通網情報の表示、通信ネットワーク情報の表示、ソーシャルネットワーク情報の表示、その他、つながりがありグラフでモデル化できる一般の情報等のグラフ情報を表示するためのグラフ情報表示装置及びプログラムに関する。
交通網や通信ネットワーク等は、ノードとエッジを持つグラフ情報としてモデル化される。そのようなグラフ情報を表示、可視化するシステムはこれまで数多く開発されてきた。例えば、鉄道の路線探索サービスでは、表示される鉄道網から出発到着ノードを選択して探索ができる(例えば、非特許文献1参照)。しかし、このようなサービスはサービス毎に表示アプリケーションを作り込んでいた。
一方、できるだけ表示アプリケーションの作り込みを少なくし、様々な表示パターンを利用できる表示ライブラリも開発されてきた(例えば、非特許文献2参照)。しかし、これらは決まった形式のデータを、表示ライブラリに含まれるパターンのみを選択可能であり、ユーザがカスタマイズできる余地は小さかった。
上記の課題を解決する一案として、データベース情報ビジュアル化アプリケーションプログラム開発支援システムが提案されている(例えば、特許文献1参照)。これは、データベースの情報を表示するアプリケーションの開発を容易にするために、アプリケーション開発者がデータベースの情報と表示されるオブジェクトの対応関係を定義するだけで、情報ビジュアル化アプリケーションを生成できるものである。
特許第3282701号公報
駅前探検倶楽部 http://ekitan.com ILOG Views 紹介 http://www.ibm.com/developerworks/jp/websphere/library/ilog/jviews_intro/
しかしながら、データベース情報ビジュアル化アプリケーションプログラム開発支援システムでは、表示情報の生成機能が、グラフ全体の情報を表示する機能として定義されている。また、色や形のカスタマイズは可能であるが、それは表示情報の生成機能のパラメータとして定義されている。これは、機能を拡張しようとするときに、グラフ全体の情報の表示を作り込まなければならず、拡張が難しい。また、色や形指定という機能が単独として分離しておらず、グラフ全体の表示メソッドのオプションとなっている。よって、システムによって与えられたグラフ全体の表示メソッドを選択して、色や形などのオプションを設定するという使い方となる。また、アプリケーション開発者がメソッドを拡張できるようなインタフェースも、特許文献1には開示されていない。かつては、グラフ表示のような複雑なユーザインタフェースの開発が容易ではなかったこともその背景にある。現在は、Canvas(登録商標)(HTML5.jp Canvasの解説 http://www.html5.jp/canvas/)やSVG(Scalable Vector Graphics)(SVGの基礎知識 http://gihyo.jp/dev/feature/01/svg/0001)といった図形表示をWebブラウザ上で容易に行えるHTML5技術が普及しており、アプリケーション開発者によるカスタマイズのニーズが高まっている。
本発明は、上記の点に鑑みなされたもので、アプリケーション開発者がユーザインタフェースを開発する上で、容易に表示ライブラリ等のカスタマイズが可能なグラフ情報表示装置及びプログラムを提供することを目的とする。
上記の課題を解決するため、本発明(請求項1)は、ノードとエッジを持つグラフ情報を表示するためのグラフ情報表示装置であって、
属性情報を持つノード情報と、両端に接続するノード情報と該ノード情報自身の属性情報を持つエッジ情報からなるグラフ情報を格納したグラフデータベースと、
前記グラフ情報を表示オブジェクトに変換するグラフ情報変換メソッド群を保持するメソッド記憶手段と、
前記グラフ情報と前記表示オブジェクトと前記グラフ情報変換メソッド群の対応を定義したグラフ・表示変換定義を保持する定義記憶手段と、
前記グラフデータベースから前記グラフ情報を取得するグラフデータベース制御手段と、
前記定義記憶手段から前記グラフ・表示変換定義を読み込み、前記グラフ情報を、ノード情報またはエッジ情報と1対1に対応し、表示される図形やテキストの組み合わせである表示オブジェクトに変換するグラフ情報変換手段と、
前記表示オブジェクトを解釈し、画面上に表示する表示オブジェクト解釈手段と、
前記各手段の実行を制御し、前記表示オブジェクトを表示手段に出力する実行制御手段と、を有する。
また、本発明(請求項2)は、前記グラフ情報変換メソッドに、
グラフ全体ではなく、属性単位で表示パターンをカスタマイズするための、属性を前記表示オブジェクトの属性に変換する属性変換メソッドの集まりである属性変換メソッド群を含む。
また、本発明(請求項3)は、前記グラフ情報変換メソッドに、
グラフ全体ではなく、各ノード単位で表示パターンをカスタマイズするための、各ノード情報を各表示オブジェクトに変換するノード変換メソッドの集まりであるノード変換メソッド群を含む。
また、本発明(請求項4)は、前記グラフ情報変換メソッドに、
グラフ全体ではなく、各エッジ単位で表示パターンをカスタマイズするための、各エッジ情報を各表示オブジェクトに変換するエッジ変換メソッドの集まりであるエッジ変換メソッド群を含む。
また、本発明(請求項5)は、前記グラフ情報変換メソッドに、
グラフ全体ではなく、ノード全体の単位で表示パターンをカスタマイズするための、ノード情報全体をそれに対応する表示オブジェクト群に変換する全ノード変換メソッドの集まりである全ノード変換メソッド群を含む。
また、本発明(請求項6)は、前記グラフ情報変換メソッドに、
グラフ全体ではなく、エッジ全体の単位で表示パターンをカスタマイズするための、エッジ情報全体をそれに対応する表示オブジェクト群に変換する全エッジ変換メソッドの集まりである全エッジ変換メソッド群を含む。
また、本発明(請求項7)は、前記メソッド記憶手段において、
全ての表示オブジェクトを作成する全体情報変換メソッドの集まりである全体情報変換メソッド群と、
属性単位で表示パターンをカスタマイズするための、属性を前記表示オブジェクトの属性に変換する属性変換メソッドの集まりである属性変換メソッド群と、
各ノード単位で表示パターンをカスタマイズするための、各ノード情報を各表示オブジェクトに変換するノード変換メソッドの集まりであるノード変換メソッド群と、
各エッジ単位で表示パターンをカスタマイズするための、各エッジ情報を各表示オブジェクトに変換するエッジ変換メソッドの集まりであるエッジ変換メソッド群と、
ノード全体の単位で表示パターンをカスタマイズするための、ノード情報全体をそれに対応する表示オブジェクト群に変換する全ノード変換メソッドの集まりである全ノード変換メソッド群と、
エッジ全体の単位で表示パターンをカスタマイズするための、エッジ情報全体をそれに対応する表示オブジェクト群に変換する全エッジ変換メソッドの集まりである全エッジ変換メソッド群と、を保持し、
前記実行制御手段において、
前記属性変換メソッド、前記ノード変換メソッド、前記エッジ変換メソッド、前記全ノード変換メソッド、前記全エッジ変換メソッド、前記全体情報変換メソッドの順に前記グラフ情報に適用して実行する手段を含む。
また、本発明(請求項8)は、前記グラフ情報変換メソッドに、
ユーザが定義したユーザ定義変換メソッド群を含む。
また、本発明(請求項9)は、1つのグラフ情報をスキャンする範囲内で実行すべき変換定義の部分集合を抽出し、該変換定義の部分集合ごとに、固定的な実行順序による変換を実行するグラフ情報変換最適化手段を更に有する。
本発明(請求項10)は、コンピュータを、請求項1乃至9のいずれか1項に記載のグラフ情報表示装置の各手段として機能させるためのグラフ情報表示プログラムである。
本発明により、グラフ情報に対して、グラフ・表示変換定義により、グラフ情報と表示オブジェクトの対応を定義するだけで容易にグラフ情報を表示することができる。
また、ユーザ定義変換メソッドを追加することにより、ユーザ独自の表示パターンを追加することも容易である。
また、階層的にメソッドが定義されているので、基本的なメソッドを組み合わせて複雑な表示を行うことができる。
また、グラフ情報全体のメソッドしか持たない場合に比べて、各メソッドのプログラムの重複をなくすことができ、全体としての規模も小さくすることができる。また、グラフ情報全体のメソッドのみを重ね合わせる場合、何度もグラフ情報を読むことになり効率が悪い。本発明のようなモジュール化とグラフ最適化手段を用いることにより、最小限のグラフ情報のスキャン回数で表示を行うことができる。
本発明の一実施の形態におけるグラフ情報表示装置の構成図である。 本発明の第1の実施例のグラフ情報の例(その1)である。 本発明の第1の実施例のグラフ情報の例(その2)である。 本発明の第1の実施例のグラフ・表示変換定義の例である。 本発明の第1の実施例のノード属性変換メソッドの実装例である。 本発明の第1の実施例のグラフ情報変換部の実装例である。 本発明の第1の実施例のグラフ表示の例である。 本発明の第2の実施例のグラフ・表示変換定義の例である。 本発明の第2の実施例のノード変換メソッドの実装例である。 本発明の第2の実施例のグラフ表示の例である。 本発明の第3の実施例のグラフ情報の例である。 本発明の第3の実施例のグラフ・表示変換定義の例である。 本発明の第3の実施例の全ノード変換メソッドの実装例である。 本発明の第3の実施例のグラフ表示の例である。 本発明の第4の実施例のグラフ・表示へ何定義の例である。 本発明の第4の実施例の全体情報変換メソッドの実装例である。 本発明の第4の実施例のグラフ表示の例である。 本発明の第5の実施例のグラフ・表示変換定義の例である。
以下、図面と共に本発明の実施の形態を説明する。
図1は、グラフ情報表示装置の全体構成を示す。
同図に示すグラフ情報表示装置は、実行制御部10、グラフDB制御部20、グラフデータベース30、表示オブジェクト解釈部40、グラフ情報変換最適化部50、グラフ情報変換部60、グラフ・表示変換定義記憶部70、グラフ情報変換メソッド群80から構成される。
グラフデータベース30には、表示対象となるグラフ情報が格納されている。グラフ情報はノード情報とエッジ情報からなる。ノード情報は、複数のノードの集まりである。ノードは、それぞれ固有のIDを持ち、それで識別される。また、各ノードは属性を持つ。属性は属性名と属性値の組で表現される。エッジ情報は、複数のエッジの集まりである。エッジはそれぞれ固有のIDを持ち、また、エッジの両端のノードのIDを持つ。各エッジも属性を持つ。例えば、鉄道網ならば、ノードは駅になり、エッジは駅間の繋がりを表す。ノードは、駅名、緯度、経度等の属性を持ち、エッジは両端の駅のIDを持つと共に、移動に係る時間、路線名等の属性を持つことになる。
グラフDB制御部20は、グラフデータベース30から表示に必要なグラフ情報を取得する機能を持つ。グラフデータベース30に含まれる全ての情報を表示するとは限らず、グラフDB制御部20で一部を選択して、実行制御部10に情報を渡す。情報の選択には、属性の値で絞り込む、最短経路を求める、等の方法があるが、関係データベースやグラフデータベース30等によって実現できる。
実行制御部10は、グラフ情報を取得し、グラフ情報変換部60を介してそれを表示オブジェクトに変換し、表示アプリケーション1に表示するという一連の動作を実行する機能を有する。ここで、表示オブジェクトとは、ノード情報(または、エッジ情報)と1対1に対応し、表示される図形やテキストの組み合わせに対応するオブジェクトである。例えば、駅がノードである場合、それを表示するために、
・駅の名前であるテキスト;
・駅の場所を表すための四角形のアイコン;
を利用する場合がある。これらの表示要素の集まりが表示オブジェクトである。具体的には、属性の集まりで表現される。例えば、駅の例であれば、以下のような情報を持つ計算機上のオブジェクトが表示オブジェクトである。
・駅の名前のテキスト:label="YRP野比"
・駅の名前の画面上の位置:label_x=10, label_y=20
・駅のアイコンの形:shape="rect"
・駅のアイコンの画面上の位置:x=20, y=30
表示オブジェクトには、以下の2つの特徴がある。
・画面上に表示する表示方法と独立である。
・グラフ情報に含まれる意味と独立である。
表示オブジェクトに含まれる情報は、画面上の位置や、表示するテキスト等であり、これらは、例えば、Webブラウザへの表示方法である。SVGやCanvas(登録商標)といった方法には依存せず、共通に利用することができる。また、グラフ情報における意味は、表示オブジェクトではなくなっていなければならない。例えば、駅の名前のテキストや位置や、表示オブジェクト上では、単に表示すべきテキストや位置としか認識されておらず、それが駅の名前だったという意味はなくなっている。この2つの独立性によって、モジュール化が明確になり、表示方法の入れ替えや、グラフ情報変換メソッドの追加に容易になる。
表示オブジェクト解釈部40は、グラフ情報変換部60により得られた表示オブジェクトを解釈し、画面上に表示を行う機能を持つ。表示オブジェクト解釈部40は、表示方法ごとに存在することになる。例えば、SVG用、Canvas(登録商標)用等が考えられる。表示オブジェクト解釈部40は、表示オブジェクトの内容を機械的に解釈して、そのまま画面に表示を行う。
グラフ情報変換部60は、グラフ・表示変換定義記憶部70を読み、グラフ情報変換メソッドを適用して、グラフ情報を表示オブジェクトに変換する機能を持つ。
グラフ情報変換メソッド群は、グラフ情報を表示オブジェクトに変換するメソッドの集まりであるが、以下の6つの種類に分類される(属性変換にはノード、エッジと両方あるが、メソッドは両者で共有化できるため、一つにまとめている。今後の説明で、ノードの属性に対するメソッドとエッジの属性に対するメソッドを区別することがある。その場合、ノード(エッジ)属性変換メソッドと呼ぶ)。
・全体情報変換メソッド群
・全ノード変換メソッド群
・全エッジ変換メソッド群
・ノード変換メソッド群
・エッジ変換メソッド群
・属性変換メソッド群
このように分類している理由は、表示を決定するときに必要な情報に階層性があるからである。例えば、駅を路線毎に色分けするとする。その時、駅ノードの属性「路線」の値によって、色を決定することができる(例:京急→赤、横須賀線→青)。この場合は、1つの属性情報だけで、1つの表示オブジェクトを決定できる。しかし、例えば、京急線の駅の一日の乗降人数を棒グラフで駅の並びの順番で表示したいとする。この場合は、表示領域のサイズと表示させる駅ノードの数から、棒グラフの1ノードあたりの横幅が決まる。また、それぞれのノードを表す位置は、ノードの順番から決定する必要がある。この場合は、単に1ノードの情報だけでなく、全てのノードの情報を利用する必要がある。また、駅ノードと路線エッジの情報を地理的に緯度経度を元に表示する場合は、ノードの緯度経度から最大最小値を求め、表示領域のサイズからノードの位置をまず決定し、エッジの位置は両端のノードを結ぶ線分とする必要がある。このような場合は、全てのノードとエッジの情報を参照する必要がある。
一般的には、最後で述べたような、全てのノードとエッジの情報から表示する属性を決定するようなメソッドを用意すれば全ての表示パターンに対応することができるが、最初の例(1属性から色決定)のようなシンプルな場合にも、全ての情報を参照するようなメソッドを用意しなければならない。それでは、メソッドの簡明性も失われてしまうし、一つ一つのメソッドの機能が大きくなると、メソッドの再利用性も下がってしまう。例えば、このような階層関係を利用すれば、基本的には緯度・経度で地理的表示をするが、ノードが重なったらずらすという表示方法を、2つのメソッドの組み合わせで表現することができる。
そこで、本発明では、グラフ情報変換メソッド群80として、全てのグラフを参照し、全ての表示オブジェクトを作成する全体情報変換メソッド81、全てのノード(エッジ)を参照し、全てのノード(エッジ)に対応する表示オブジェクトを作成する全ノード(エッジ)変換メソッド82、83、1つのノード(エッジ)に対応する1つの表示オブジェクトに変換するノード(エッジ)変換メソッド84,85、1つの属性に対応する表示オブジェクトの属性に変換する属性変換メソッド86、に階層的に分類し、管理している。それぞれの入出力をまとめると、以下のようになる。
・全体情報変換メソッド81:入力=全グラフ情報、出力=全表示オブジェクト
・全ノード変換メソッド82:入力=全ノード、出力=全ノードに対する表示オブジェクト
・全エッジ変換メソッド83:入力=全エッジ、出力=全エッジに対する表示オブジェクト
・ノード変換メソッド84:入力=ノード、出力=ノードに対する表示オブジェクト
・エッジ変換メソッド85:入力=エッジ、出力=エッジに対する表示オブジェクト
・属性変換メソッド86:入力=属性の値、出力=表示オブジェクトの属性の値
これらのメソッドは、実行制御部10において、属性変換→ノード変換→エッジ変換→全ノード変換→全エッジ変換→全体情報変換の順に適用される。それには、3つの理由がある。1つ目の理由は、後の変換において、前の変換結果を参照できることである。2つ目の理由は、後の変換において、前の変換結果を上書きできることである。後者の例は前に述べた緯度経度で一度場所を決めて重ねたらずらすという処理が相当する。3つ目の理由は、上記の順に適用すれば、グラフ情報を表示情報に変換するときに、全てのグラフ情報をスキャンする回数を最小限にすることができることである。このような表示メソッドを組み合わせる方法を実装するとき、1メソッドを実行するたびに全てのグラフ情報をスキャンする方法が最も単純である。しかし、本発明では、属性変換とノード変換とエッジ変換は、全グラフ情報をスキャンする1ループの中で実行するため、1度だけグラフ情報をスキャンするだけでよい。一方、全体情報変換が複数ある場合は、その個数分のグラフ情報のスキャンが必要で、全ノード変換と全エッジ変換が複数ある場合は、その個数分のノード情報とエッジ情報が必要であるのは、その定義上やむを得ない。
グラフ・表示変換定義記憶部70には、グラフ情報を表示オブジェクトに変換するため、グラフ情報と表示オブジェクトの対応関係を記述したグラフ表示変換定義が格納される。対応関係は、メソッド群毎に分類されている。その記述内容を以下に示す。
・全体情報変換:変換元の属性名リスト、変換先の属性名リスト、メソッド名、メソッドのパラメータ;
・全ノード変換:変換元の属性名リスト、変換先の属性名リスト、メソッド名、メソッドのパラメータ;
・全エッジ変換:変換元の属性名リスト、変換先の属性名リスト、メソッド名、メソッドのパラメータ;
・ノード変換:変換元の属性名リスト、変換先の属性名リスト、メソッド名、メソッドのパラメータ;
・エッジ変換:変換元の属性名リスト、変換先の属性名リスト、メソッド名、メソッドのパラメータ;
・属性変換:変換元の属性名、変換先の属性名、メソッド名、メソッドのパラメータ;
上記の変換元はグラフ情報、変換先は表示オブジェクトである。属性名と属性リストについては、このグラフ・表示変換定義で定義してもよいが、メソッド内に固定で属性名を埋め込んでも構わない。
実行制御部10において、上記のように、属性変換→ノード変換→エッジ変換→全ノード変換→全体情報変換の順で固定的に実行すると、例えば、緯度と経度によって決定されたノードの位置(全ノード変換)に合わせて、ラベルを配置する(ノード変換)というように、後から細かいカスタマイズを行うことができなくなってしまう。これを回避するためには、細かいカスタマイズを全体情報変換等のより粒度の粗い変換関数として定義すればよいが、それでは二重の定義になってしまう問題がある。そこで、ユーザは、関数が適用される順序だけを意識して、グラフ・表示変換定義を作成し、細かいメソッドを粗いメソッドの後にも実行できるような修正を行う。これを実現するのが、グラフ情報変換最適化部50である。
グラフ情報変換最適化部50は、グラフ・表示変換定義を読み込み、1つのグラフ情報をスキャンする範囲内で実行すべき変換定義の部分集合(これを変換実行ブロックと呼ぶ)を抽出する。その変換実行ブロック毎に、先の固定的な実行順序による変換を実行する。この方法により、グラフ情報をスキャンする回数を最小にする(最適化する)効果がある。
以下にグラフデータ表示装置の実施例を、Webブラウザ上にJavaScript(登録商標)を用いて表示を行う例を用いて説明する。
最初に、第1の実施例において、基本的な表示と属性変換メソッドを用いた例を示す。その次に、第2、第3の実施例において、ノード変換メソッドと全ノード変換メソッドを用いた例を示す。最後に第4の実施例において、メソッドを組み合わせる例として、ノードのずらしの例を説明する。
なお、エッジ変換メソッドと全エッジ変換メソッドについては例を挙げていないが、考え方はノード変換メソッドと全ノード変換メソッドと同等であり、下記の実施例を応用して容易に実現することができる。
[第1の実施例]
図2、図3は、本発明の第1の実施例のグラフ情報の例を示す。同図に示すグラフ情報は、グラフデータベース30からグラフDB制御部20を通じて取得されたものである。
グラフデータベース30には、このようなグラフ情報が大量に格納されており、それを何らかの方法でフィルタリングして、図2、図3に示すような情報が得られたものとする。グラフ情報は、JSON形式で表現されている。graph_dataという変数がグラフ情報全体を表し、その中のnodesとedgesが、それぞれノード情報とエッジ情報を表す。nodesとedgesはそれぞれノードとエッジの配列となっている。ノードは属性の集まりであるオブジェクトとして表現されている。idはノードやエッジを識別するための特別な属性である。この例では、ノードは、経度(longitude)、緯度(latitude)、カテゴリ(category)、駅名(name)という属性を持っており、エッジは、発ノードID(from_id)、着ノードID(to_id)、路線(line)、移動時間(cost)という属性を持っている。
図4は、本発明の第1の実施例のグラフ・表示変換定義の例を示す。
同図に示す例は、ノード属性変換メソッド、エッジ属性変換メソッド、全体情報変換メソッドを利用した変換定義である。node_attrの値がノード属性変換メソッドの変換定義である。この例では、ノード表示オブジェクトは、shape、label、sizeという3つの変換先属性を持っている。それぞれは、ノードを表現する表現オブジェクトの形、表示オブジェクトに表現するテキストラベル、表示オブジェクトの大きさを表している。各変換定義の最初の項目は、ノード内の変換元の属性、2番目の項目がノード表示オブジェクト内の変換先の属性、3番目の項目が変換メソッド、4番目の項目が変換メソッドに渡すパラメータ(オブジェクト)である。
nodeの最初の例は、gvz_map_fixedという変換メソッドをvalue="rect"というパラメータを渡して呼び出し、変換元属性であるidの属性値をshapeの属性値に変換することを表す。ここで、gvz_map_fixedは全ての値を固定値に対応させる関数であり、その対応させる固定値はvalueというパラメータである。よって、この場合は、ノード表示オブジェクトのshape属性にはすべてrectという値が設定される。これは、全てのノードを四角形で表示することを意味する。
次の例は、gvz_map_copyという変換メソッドでnameの属性値をlabelの属性値に変換することを表す。gvz_map_copyは入力値をそのまま出力値とする変換メソッドである。よって、この場合は、ノード表示オブジェクトのlabel属性には、元のノードのname属性の属性値が入る。
最後の例は、idの属性値から、10という固定値(value)に変換して、表示オブジェクトのサイズに入れる例である。つまり、全ての表示オブジェクトのサイズは10となる。
次に、エッジ属性の変換について説明する。
shapeの例は、ノード属性の場合と同じで、line固定にしている。次のstroke属性への変換は、gvz_map_talbeという対応表による変換メソッドを用いる。この変換メソッドのパラメータは2つで、defaultにデフォルトの値、talbeに、変換元の値と変換先の値の組の集まりのオブジェクトである。この例では、デフォルトでblackという値になり、
京浜急行本線→pink 京浜急行久里浜線→red JR横須賀線→blue
という変換になる。これで、路線毎に異なる色となることを表現している。
次に、全体情報変換メソッド81であるが、この例は、longitude(経度)とlatitude(緯度)という属性を用いて、gvz_map_graph_geoという緯度経度による表示メソッドを用いて表示している。全体情報変換メソッド81の場合、変換元属性と変換先属性は配列として渡す必要がある。
図5は、本発明の第1の実施例のノード属性変換メソッドの実装例を図5に示す。
ノード属性変換メソッド84は入力値をそのまま出力値とする最も単純なメソッドである。このように入力値は関数の引数に、出力値は関数の返却値となっている。infoはパラメータを表している。
図6は、本発明の第1の実施例のグラフ情報変換部の実装例を示す。グラフ情報変換部60において、グラフ情報のノードに対して、ノード属性変換メソッド84を順番に適用していく。メソッドの適用は、この例ではJavaScript(登録商標)のFunctionオブジェクトを用いて、動的に関数を呼び出す方法を採っている。次に、ノード変換メソッド84を呼び出している。これと同じ処理で、次にエッジ属性の変換、エッジの変換が行われる。最後に、全ノード変換メソッド82、全エッジ変換メソッド83、全体情報変換メソッド81が呼び出される。図6の例としては、全体情報変換メソッド81の例を挙げている。基本的な実装方法は同じであるが、関数の返却値がない点は異なっている。この実装例では、表示オブジェクトをグラフ情報の内部に持たせている。これは表示オブジェクトとグラフ情報の対応をとるのを容易にするために行っている実装であり、対応関係させ保存してあれば、それらは別オブジェクトにしても構わず、その方法は実装依存である。この実装例では、gvz_で始まる属性が表示オブジェクトの属性に対応している。
表示オブジェクト解釈部40の実装は、表示オブジェクトの内容を参照し、四角であれば、四角を描く機能を呼び出すというような単純な処理を繰り返せばよい。また、表示オブジェクトという1つのまとまりを作るためには、SVGであれば、グループの概念を利用すればよい。ノード毎にグループを作成し、そのグループの中に四角やテキストといったオブジェクトを作成していればよい。
実行制御部10の実装は、グラフ情報変換部60に対して、ノード属性変換メソッド86→エッジ属性変換メソッド86→ノード変換メソッド84→エッジ変換メソッド85→全ノード変換メソッド82→全エッジ変換メソッド83→全体情報変換メソッド81の順に処理させ、最後に生成された表示オブジェクトを表示オブジェクト解釈部40へ渡せばよい。本装置の利用者は、この呼び出し順を意識して表示オブジェクトの属性の生成を行う必要がある(但し、既に属性が定義されているかどうかは意識する必要がある)。
最後に、ここまで用いた、グラフ・表示変換定義とグラフ情報の例を用いて、グラフ情報を表示した結果を図7に示す。
[第2の実施例]
本実施例では、ノード変換メソッドを用いた例を示す。
図8は、本発明の第2の実施例のグラフ・表示変換定義の例を、図9は、ノード変換メソッドの実装例を、図10は、図8の定義を用いて表示したグラフの例を示す。
図8のグラフ・表示変換定義内でnodeで示された部分が図9に示すノード変換メソッドである。ここでは、ノードに含まれるcategoryとnameという2つの情報を文字列結合して、表示オブジェクトのlabelに設定するという定義をしている。ノードに含まれる一属性だけではなく、複数の属性にアクセスしているところが特徴である。例えば、2つの属性の値を加え、表示する等の応用をすることもできる。
[第3の実施例]
次に、全ノード変換メソッドの実施例を示す。図11は、本発明の第3の実施例のグラフ情報の例を、図12は、グラフ表示変換定義の例を、図13は、全ノード変換メソッドの例を示す。
図11に示すグラフ情報のnameをラベルにし、populationを縦の長さにする棒グラフに表示する。ノードは棒グラフの四角にマッピングされている。図12に示すグラフ・表示変換定義では、ノード変換の定義で形をrect固定に、nameをlabelに変換している。全ノードメソッドとしては、gvz_map_graph_bar_graphを指定し、その引数として、棒グラフの縦の長さをpopulationと指定している。
グラフ情報変換部60における、全ノード変換メソッドの処理の概略を説明する。図14に示すような棒グラフを描くためには、ノードの個数を数え、全体画面サイズをそれで割って、その順番からノードに対応する四角を描く横軸の位置を決定する。そして、四角の縦の長さはpopulationの最大値を求め(最大値を求める関数は図から省略している)と画面サイズの比率から決定している。また、ラベルの位置も決めている。このような処理は、全ノードを参照しながら行うのが自然であるから、このように整理することがモジュール化する上で有効である。
[第4の実施例]
本実施例では、複数のメソッドの組合せの典型的な例を示す。
本実施例では、最初に地理的な表示を行い、重なったノードをずらすという組み合わせの例を取り上げる。グラフ情報は、図2、図3の例を用いる。また、図15は、本発明の第4の実施例のグラフ・表示変換定義の例を、図16は、全ノード変換メソッドの例を示す。図15に示すグラフ・表示変換定義では、graphのメソッドとして、gvz_map_graph_zurasuという、ずらすためのメソッドを指定している。そのメソッドの実装は、シンプルなもので、ノード間の座標の差がx,y座標共に10以内である場合、座標が大きい側のノードをそれぞれ下と右に7だけずらすという処理である。実際には、もっと複雑で適切に位置をずらすアルゴリズムに変更することが可能である。表示した結果を図17(B)に示す。図17(A)は、第1の実施例のずらしていないグラフ表示結果である。図17(B)では、『久里浜』と『京急久里浜』のノードが図17(A)の位置より少しずれているのが確認できる。
このように、グラフ情報変換部60において、メソッドを組み合わせて表示をカスタマイズできる。
[第5の実施例]
本実施例では、グラフ情報変換最適化部50について説明する。
図18は、本発明の第5の実施例のグラフ情報変換最適化部を利用する場合のグラフ・表示変換定義の例である。同図に示す定義では、変換メソッドを全て対等な配列に入れている。その順序はユーザが適用したい順序である。この定義の特徴は、最後の2つのノード変換メソッドであることである。この2つは、それぞれ、ノードを表示された後に微修正するメソッド(ノードを表す四角の真ん中にエッジの線の端が来るようにノードをずらす)とノードのラベルをノードの下に表示させるメソッドとなる。
グラフ情報変換最適化部50は、以下のアルゴリズムで1つのグラフ情報をスキャンする範囲内で実行すべき変換定義の部分集合である変換実行ブロックを求めることができる。
(1)メソッドの適用順番の、ノード属性→エッジ属性→ノード→エッジ→ノード全体→エッジ全体→全体、のそれぞれに0〜6の番号を与える。
(2)グラフ・表示変換定義を上から読み、見つかったメソッドの番号を保存する。
(3)次に出現したメソッドの番号が大きければ、同じブロックと考え、次に進む。
(4)次に出現したメソッドの番号が小さければ、新しいブロックのはじまりであるから、その前までのブロックを保存し、新たなブロックを開始する。
(5)最後まで到達したら最後のブロックを保存する。
上記のアルゴリズムを図18の例に適用すると、1番目(node_attr)〜7番目(graph)までは、単調に番号が増加するから、1ブロックである。次に8番目は番号が減少(graph(7)−node(3))するから新しいブロックになる。9番目もそのブロックに含まれる。ということで、この例では、2つの変換実行ブロックが生成される。これらの変換実行ブロックを、実行制御部10に渡し、前に述べた変換を行えば、表示を実現することができる。上記のアルゴリズムによって、任意の順序でグラフ・表示変換定義を並べても、それから適切な変換実行ブロックを生成することができる。
上記の実施例では、ユーザ定義変換メソッドについて陽に述べていなかった。しかし、上記の実施例では、特に第1の実施例に示すように、図6のグラフ情報変換部60は、完全に動的にメソッドを呼び出す実装になっている。また、メソッドのインタフェースも全て開示されている。メソッド名の重複について配慮をすれば(上記例では、装置側の変換メソッドは、gvz_map_で開始するように名前付けされている)、ユーザが独自のメソッドを作成し、グラフ・表示変換定義で自分が作成したメソッドを指定すればユーザ定義変換メソッドを利用することができる。
なお、図1に示す装置の各構成要素の動作をプログラムとして構築し、グラフ表示装置として利用されるコンピュータにインストールして実行させる、または、ネットワークを介して流通させることが可能である。
本発明は、上記の実施の形態及び実施例に限定されることなく、特許請求の範囲内において、種々変更・応用が可能である。
1 表示アプリケーション(Webブラウザ等)
2 グラフ表示装置
10 実行制御部
20 グラフDB制御部
30 グラフデータベース
40 表示オブジェクト解釈部
50 グラフ情報変換最適化部
60 グラフ情報変換部
70 グラフ・表示変換定義記憶部
80 グラフ情報変換メソッド群記憶部
81 全体情報変換メソッド群
82 全ノード変換メソッド群
83 全エッジ変換メソッド群
84 ノード変換メソッド群
85 エッジ変換メソッド群
86 属性変換メソッド群

Claims (10)

  1. ノードとエッジを持つグラフ情報を表示するためのグラフ情報表示装置であって、
    属性情報を持つノード情報と、両端に接続するノード情報と該ノード情報自身の属性情報を持つエッジ情報からなるグラフ情報を格納したグラフデータベースと、
    前記グラフ情報を表示オブジェクトに変換するグラフ情報変換メソッド群を保持するメソッド記憶手段と、
    前記グラフ情報と前記表示オブジェクトと前記グラフ情報変換メソッド群の対応を定義したグラフ・表示変換定義を保持する定義記憶手段と、
    前記グラフデータベースから前記グラフ情報を取得するグラフデータベース制御手段と、
    前記定義記憶手段から前記グラフ・表示変換定義を読み込み、前記グラフ情報を、ノード情報またはエッジ情報と1対1に対応し、表示される図形やテキストの組み合わせである表示オブジェクトに変換するグラフ情報変換手段と、
    ノード情報またはエッジ情報と1対1に対応し、前記表示オブジェクトを解釈し、画面上に表示する表示オブジェクト解釈手段と、
    前記各手段の実行を制御し、前記表示オブジェクトを表示手段に出力する実行制御手段と、
    を有することを特徴とするグラフ情報表示装置。
  2. 前記グラフ情報変換メソッドは、
    グラフ全体ではなく、属性単位で表示パターンをカスタマイズするための、属性を前記表示オブジェクトの属性に変換する属性変換メソッドの集まりである属性変換メソッド群を含む
    請求項1記載のグラフ情報表示装置。
  3. 前記グラフ情報変換メソッドは、
    グラフ全体ではなく、各ノード単位で表示パターンをカスタマイズするための、各ノード情報を各表示オブジェクトに変換するノード変換メソッドの集まりであるノード変換メソッド群を含む
    請求項1記載のグラフ情報表示装置。
  4. 前記グラフ情報変換メソッドは、
    グラフ全体ではなく、各エッジ単位で表示パターンをカスタマイズするための、各エッジ情報を各表示オブジェクトに変換するエッジ変換メソッドの集まりであるエッジ変換メソッド群を含む
    請求項1記載のグラフ情報表示装置。
  5. 前記グラフ情報変換メソッドは、
    グラフ全体ではなく、ノード全体の単位で表示パターンをカスタマイズするための、ノード情報全体をそれに対応する表示オブジェクト群に変換する全ノード変換メソッドの集まりである全ノード変換メソッド群を含む
    請求項1記載のグラフ情報表示装置。
  6. 前記グラフ情報変換メソッドは、
    グラフ全体ではなく、エッジ全体の単位で表示パターンをカスタマイズするための、エッジ情報全体をそれに対応する表示オブジェクト群に変換する全エッジ変換メソッドの集まりである全エッジ変換メソッド群を含む
    請求項1記載のグラフ情報表示装置。
  7. 前記メソッド記憶手段は、
    全ての表示オブジェクトを作成する全体情報変換メソッドの集まりである全体情報変換メソッド群と、
    属性単位で表示パターンをカスタマイズするための、属性を前記表示オブジェクトの属性に変換する属性変換メソッドの集まりである属性変換メソッド群と、
    各ノード単位で表示パターンをカスタマイズするための、各ノード情報を各表示オブジェクトに変換するノード変換メソッドの集まりであるノード変換メソッド群と、
    各エッジ単位で表示パターンをカスタマイズするための、各エッジ情報を各表示オブジェクトに変換するエッジ変換メソッドの集まりであるエッジ変換メソッド群と、
    ノード全体の単位で表示パターンをカスタマイズするための、ノード情報全体をそれに対応する表示オブジェクト群に変換する全ノード変換メソッドの集まりである全ノード変換メソッド群と、
    エッジ全体の単位で表示パターンをカスタマイズするための、エッジ情報全体をそれに対応する表示オブジェクト群に変換する全エッジ変換メソッドの集まりである全エッジ変換メソッド群と、
    の少なくとも1つを保持する
    請求項1記載のグラフ表示装置。
  8. 前記メソッド記憶手段は、
    全ての表示オブジェクトを作成する全体情報変換メソッドの集まりである全体情報変換メソッド群と、
    属性単位で表示パターンをカスタマイズするための、属性を前記表示オブジェクトの属性に変換する属性変換メソッドの集まりである属性変換メソッド群と、
    各ノード単位で表示パターンをカスタマイズするための、各ノード情報を各表示オブジェクトに変換するノード変換メソッドの集まりであるノード変換メソッド群と、
    各エッジ単位で表示パターンをカスタマイズするための、各エッジ情報を各表示オブジェクトに変換するエッジ変換メソッドの集まりであるエッジ変換メソッド群と、
    ノード全体の単位で表示パターンをカスタマイズするための、ノード情報全体をそれに対応する表示オブジェクト群に変換する全ノード変換メソッドの集まりである全ノード変換メソッド群と、
    エッジ全体の単位で表示パターンをカスタマイズするための、エッジ情報全体をそれに対応する表示オブジェクト群に変換する全エッジ変換メソッドの集まりである全エッジ変換メソッド群と、
    を保持し、
    前記実行制御手段は、
    前記属性変換メソッド、前記ノード変換メソッド、前記エッジ変換メソッド、前記全ノード変換メソッド、前記全エッジ変換メソッド、前記全体情報変換メソッドの順に前記グラフ情報に適用して実行する手段を含む
    請求項1記載のグラフ情報表示装置。
  9. 前記グラフ情報変換メソッドは、
    ユーザによって、関数が適用される順序だけを定義されたユーザ定義変換メソッド群を含み、
    1つのグラフ情報をスキャンする範囲内で実行すべき変換定義の部分集合を抽出し、該変換定義の部分集合ごとに、固定的な実行順序による変換を実行するグラフ情報変換最適化手段を更に有する
    請求項1乃至8のいずれか1項に記載のグラフ情報表示装置。
  10. コンピュータを、
    請求項1乃至9のいずれか1項に記載のグラフ情報表示装置の各手段として機能させるためのグラフ情報表示プログラム。
JP2012025576A 2012-02-08 2012-02-08 グラフ情報表示装置及びプログラム Pending JP2013161454A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012025576A JP2013161454A (ja) 2012-02-08 2012-02-08 グラフ情報表示装置及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012025576A JP2013161454A (ja) 2012-02-08 2012-02-08 グラフ情報表示装置及びプログラム

Publications (1)

Publication Number Publication Date
JP2013161454A true JP2013161454A (ja) 2013-08-19

Family

ID=49173598

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012025576A Pending JP2013161454A (ja) 2012-02-08 2012-02-08 グラフ情報表示装置及びプログラム

Country Status (1)

Country Link
JP (1) JP2013161454A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020184206A (ja) * 2019-05-08 2020-11-12 エヌ・ティ・ティ・コムウェア株式会社 描画支援装置、描画支援方法および描画支援プログラム
JP2021064326A (ja) * 2019-10-17 2021-04-22 日本電気株式会社 グラフ変換装置、グラフ変換方法およびグラフ変換プログラム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020184206A (ja) * 2019-05-08 2020-11-12 エヌ・ティ・ティ・コムウェア株式会社 描画支援装置、描画支援方法および描画支援プログラム
JP2021064326A (ja) * 2019-10-17 2021-04-22 日本電気株式会社 グラフ変換装置、グラフ変換方法およびグラフ変換プログラム
US11227422B2 (en) 2019-10-17 2022-01-18 Nec Corporation Graph conversion device, graph conversion method, and graph conversion program
JP7371439B2 (ja) 2019-10-17 2023-10-31 日本電気株式会社 グラフ変換装置、グラフ変換方法およびグラフ変換プログラム

Similar Documents

Publication Publication Date Title
Cecconi et al. Adaptive zooming in web cartography
US8665274B2 (en) Method and system for generating and displaying an interactive dynamic view of bi-directional impact analysis results for multiply connected objects
CN104216691B (zh) 一种创建应用的方法及装置
US8194075B2 (en) Method and system for generating and displaying an interactive dynamic list view of multiply connected objects
US8711148B2 (en) Method and system for generating and displaying an interactive dynamic selective view of multiply connected objects
CN106484408A (zh) 一种基于html5的节点关系图显示方法及系统
CN104933057A (zh) 一种地图服务提供方法及装置
US20030174165A1 (en) System and method for rendering a directed graph
JP5299993B2 (ja) 地図表示装置および地図表示方法
EP2909739A1 (en) Methods and systems for managing spreadsheet models
CN113535165A (zh) 界面生成方法、装置、电子设备及计算机可读存储介质
CN113282697A (zh) 基于Dojo实现多平台异构兼容的GIS系统及其设计、部署方法
CN107315842A (zh) 一种基于聚类分析的非结构化数据集可视化方法
US20140089825A1 (en) Apparatus and method for writing mash-up using mash-up block user interface
CN107438194A (zh) 一种智能电视ui对象绘制方法及智能电视
JP2013161454A (ja) グラフ情報表示装置及びプログラム
CN115691772A (zh) 运营可视化系统及相应计算机设备和存储介质
US20130083056A1 (en) Interactive display elements in a visualization component
JP4968275B2 (ja) 地図データ編集装置及び地図データ編集装置用サーバ
JP6113408B2 (ja) 画像制御装置、画像制御プログラム及び画像生成システム
KR20220014326A (ko) Gis 포인트 데이터 렌더링 방법, 장치, 컴퓨터 디바이스 및 저장 매체
JP2004233711A (ja) 地図データ構築装置
JP6109443B1 (ja) コンテンツ表示装置、コンテンツ表示システム、コンテンツ表示方法、及びコンテンツ表示プログラム
JP4960188B2 (ja) 画面遷移図の表示方法およびシステム
Zhan et al. Design and Implementation of Smart Travel System Based on Android.

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20131001