generated at
被リンク数の分布
Scrapbox上でスケールフリーネットワークは形成されているのか?

リンクだけ存在する、内容がまだ書かれていないページも含む

リンク数が凄そうと思って勝手にプロットしました

これ横軸はなんですか?
単に被リンク数の多い順に並んでるだけです
数字を出してみた
なるほど。
無理やり付けるとしたら、ページタイトルを目盛り毎に付ける?

takker
histogramにしても面白そう
横軸:被リンク数
rangeは適当に設定する
縦軸を:そのrangeに含まれるページ数
graphの形で色々わかる
予想
階層構造的に作ると、被リンク数が極端に少なくなる
ハッシュタグをたくさん使うと、右端に山ができる

縦横が対数軸になってるhistogramを作って直線が引ければべき乗分布らしい
横軸は?
以下のグラフは手抜きで、対数っぽく範囲を切って度数分布を描いただけです……

まだ全体で400ページ程度しかないのに多いような
リンクだけあって内容がまだ書かれていないページも計上しています

適当なグラフだけど、どちらもべき乗分布になっている
ちゃんとしたヒストグラムをプロッターで書いたらきれいな直線になりそう
できた
仮説
単語リンクが多いとスケールフリーネットワークになる
よく話される話題に登場する単語へのリンクが集中する
Scrapboxだと関連ページリストで話題が繋がって便利なので単語リンクが頻繁に行われる
ページ間リンクが主体だと密結合のネットワークになる
本質的に関連するページの間だけつながっている状態
密結合のままネットワークが成長していく?
Evergreen notesとかはこれを目指しているはず
というか、関連ページリストなしでScrapboxの哲学めいた手法を実行するとそうなる?
/motoso/rashitamemo/nishioあたりでhistogramを作ってみると、仮説が棄却されるかそうでないかを確認できるかもしれない
検証
他のWikiシステムでも同様の統計を取ってみたい

被リンク数の計算方法
JSONをゴニョゴニョすればできると思う
後で書く

これオモシロイ
自分のプロジェクトにも出してみたい

各ページの被リンク数をCSVで出力するやつ
csv.js
(async () => { const pages = []; let followingId = null; do { const param = followingId === null ? '' : `?followingId=${followingId}`; const res = await fetch( `https://scrapbox.io/api/pages/${scrapbox.Project.name}/search/titles${param}` ); followingId = res.headers.get('X-Following-Id'); pages.push(...(await res.json())); } while (followingId); const counter = {}; for (const p of pages) { for (const l of p.links) { if (counter[l] === undefined) { counter[l] = 0; } counter[l]++; } } const numLinks = Object.entries(counter); numLinks.sort((a, b) => b[1] - a[1]); console.log(numLinks.map((p) => `${p[0]},${p[1]}`).join('\n')); })();

増井俊之
あらゆる複雑なものは両対数グラフにプロットすると直線になるものです
Scrapboxだからどうこう、ということは関係ないと思います