Hatena::Groupkill

イン殺 RSSフィード

2008-03-01

[]人力検索のネットワークを可視化してみる 人力検索のネットワークを可視化してみる - イン殺 を含むブックマーク はてなブックマーク - 人力検索のネットワークを可視化してみる - イン殺

【人力検索はてなネットワーク】
なんかの本で、平均して6人友人をたどると世界中の人と繋がる、という話を読みました。
さて、それでははてなのユーザーネットワークはどうなってるのでしょうか。

というわけで、ぱっと頭に思いついたidを5つまで気軽に回答してください。
相手があなたのことを知っているかどうかは気にしなくて結構です。

なお、ネットワーク図は私が人力で作りますので気長にお待ちください。

http://q.hatena.ne.jp/1204171626

id:NAPORIN さんに呼ばれたのと、 Graphviz を使っておられたので反応。人力は少々エレガントではないので、自動化する Ruby スクリプトを書いてみました。」

下拵え

「Ruby 1.8.4 組み込みの RSS モジュールでは RSS 2.0 の dc:creator をちゃんとパースできないようなので、以下から最新版の 0.2.4 を取ってきて ruby setup.rb でインストール。」

スクリプト

「いつもの RubyでRSS 取得ライブラリを使って items を見て dot ファイルを生成。」

require 'get_rss.rb'
require 'rss/2.0'
require 'rss/dublincore'

puts <<HEAD
digraph hatena_q_network {
  rankdir=LR;
  node [fontsize=9];
  edge [fontsize=9, color=blue];
HEAD

RssSite.new('http://q.hatena.ne.jp/1204171626?mode=rss').get().each_item {|i|
  from = i.dc_creator if i.respond_to?("dc_creator")
  to = i.description.scan(/id\:([0-9a-zA-Z_-]+)<\/a>/)
  
  to.each {|t| puts "  \"#{from}\" -> \"#{t}\";" }
}

puts <<TAIL
}
TAIL

「スクリプト一式を以下に置きました。」

結果

「 2008-03-01 13:57 時点のグラフ。」

f:id:xx-internet:20080301141608p:image

「フルサイズは f:id:xx-internet:20080301141805p 。でかいです。 ranksep なんかのオプションをいじればもう少しコンパクトにはなるはず。 Graphviz というか Dot の使い方は http://www.cbrc.jp/~tominaga/translations/ にあるユーザーズガイド日本語訳が参考になります。」

2008-03-04 追記

「変更。 SVG 出力したときにはてなスターページにリンクされるようにしてみた。」

require 'get_rss.rb'
require 'rss/2.0'
require 'rss/dublincore'

users = {}
link = []

puts <<HEAD
digraph hatena_q_network {
  rankdir=LR;
  node [fontsize=9];
  edge [fontsize=9, color=blue];
HEAD

RssSite.new('http://q.hatena.ne.jp/1204171626?mode=rss').get().each_item {|i|
  from = i.dc_creator if i.respond_to?("dc_creator")
  to = i.description.scan(/id\:([0-9a-zA-Z_-]+)<\/a>/)
  next if to == nil
  
  (to + [from]).each {|u| users[u] = "  \"#{u}\" [URL=\"http://s.hatena.ne.jp/#{u}/\"];" }
  
  to.each {|t| link.push("  \"#{from}\" -> \"#{t}\";") }
}

users.each_pair {|u,l| puts l }
link.each {|l| puts l }

puts <<TAIL
}
TAIL

「結果は http://f.hatena.ne.jp/xx-internet/20080304073326 。 3859x5881 、 416KB 。
SVG 版は http://internet.kill.jp/o/hatena/hatena_q_network_20080304_0713.svg に上げました。 Firefox の人はそのまま見られるはず。 IE ? ああ、そんなのもあったね(笑)
いつも思うけどはてなフォトライフに SVG がアップロードできるようになると嬉しい。 JavaScript の除去が面倒だから実装されないだろうけど。」

トラックバック - http://kill.g.hatena.ne.jp/xx-internet/20080301