fc2ブログ

2012-01-08(Sun)

Gephiを使ってグラフ化画像を生成する(1)

Gephiのサンプルソースを使ってグラフ画像を生成してみた。

(1).netbeansをinstallする
ここからダウンロードする。
-- 実行権限を与える
$ chmod u+x netbeans-7.1-ml-javase-linux.sh


(2).サンプルプロジェクト起動
-- gephi-toolkit-0.8.3-all.zipをここからダウンロードする。
$ wget https://github.com/downloads/gephi/gephi/gephi-toolkit-0.8.3-all.zip
$ gunzip gephi-toolkit-0.8.3-all.zip


-- netbeansでプロジェクトを開く
プロジェクトはgephi-toolkit-0.8.3-all/toolkit-demosフォルダ。

(3).ソースの中身
-- 実行ファイル
$ vim src/org/gephi/toolkit/demos/Main.java

ここにいろいろなデータの読み込みサンプルがつまっている。

-- HeadlessSimple.java
グラフ記述ファイル(polblogs.gml)を読み込んでグラフを生成している。
グラフの関係記述ファイルは以下においてある。

org/gephi/toolkit/demos/resources/polblogs.gml

このファイルはGML(Graph Modelling Language)というグラフ生成用に作られたフォーマット。
詳細はここからSpecificationをダウンロードできる。
GephiでのGMLフォーマットの説明はここ

中身はこんなの。nodeとedgeを永遠と定義されている。
graph [
directed 1
node [
id 1
label "100monkeystyping.com"
value 0
source "Blogarama"
]

|
|

edge [
source 267
target 1394
]
]

詳細はこんどSpecificationをじっくり読むとしてnodeはnode情報、edgeが関連情報
と理解して先に進む。

つづくー
(参考)
創るJava NetBeansでつくって学ぶJava GUI & Webアプリケーション[改訂第3版]

2012-01-04(Wed)

グラフデータベースってなんだろ?メモ

最近、SNSの人間関係(つながり)についてグラフデータベースが話題になっている。
複雑な人間関係を表現するときにRDBを使っていると再帰処理が増えてパフォーマンスが劇的に
悪化するからだ。
複雑で頻繁に変化する人間関係をデータベース化するのにグラフデータベース(NoSQL)がよく使われている。

グラフデータベースは以下の3要素を使うらしい。
 ①ノード(node)
 ②リレーションシップ(relationship)
 ③プロパティ(property)
ノードの概念を使うため、膨大なグラフを抽出しても局所的にみると1ステップの検索コストは
ほとんど変わらないのが特徴。

グラフデータベースには
 Neo4j、Sones、InfoGrid、OrientDB、InfiniteGraph
などがある。
有名なDBはAPGLv3なので商用利用の場合は気をつけた方がいい。

Tinker Popは詳しく調べてみないと。
 Gremlin、Blueprints、Pipes、Rexster、Mutant
などがありGraphDBを統一的に扱うためのラッパーレイヤーライブラリー
みたいなもんと想像している。

参考:
「GraphDB徹底入門」〜構造や仕組み理解から使いどころ・種々のGraphDBの比較まで幅広く〜
グラフデータベース、NOSQL、Neo4j
プロフィール

kumagonjp2

Author:kumagonjp2
Python,Django,R,Mongo,MySQL,Struts,Spring,データマイニングなどサーバー関係のメモを残していきます。

最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
雪が3Dで降るブログパーツ ver2

マウスで見る方向変えられます

検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QR