他のユーザーとのつながりに基づいて、最も接続されているユーザーや最も価値のあるユーザーなど、ユーザー アカウント間の興味深い関係を見つける方法を知りたいです。
以下に、私が使用する 2 つのテーブルを示します。1 つはすべてのユーザーを保持し、もう 1 つはフォローしているユーザーのキーを保持します。
User
{
id,
name
}
Follows {
user_id -> user.id,
following_id -> user.id
}
どのタイプのアルゴリズムを探していますか?
重要でない人のフォロワーがほとんどまたはまったくいないと仮定すると、どうすればグラフの中心にいる人を見つけることができますか? 重要な人がフォローしているので、彼らは重要だと思います。
アップデート
David と Steve が指摘しているように、特定のノードがどれだけ近いか、どのノードがサブ コミュニティを形成しているか、どのユーザーが最も接続されているかなどはすべて、このスキーマから引き出すことができる有用なデータの例です。
この「フォロワー」設計は現在多くのサイトで使用されているため、さまざまな人々に役立つ可能性のある堅牢な SQL またはプログラミング言語の実装を取得することを期待して、報奨金を開始しました。
一部のアルゴリズムの結果は魅力的ですが、他のアルゴリズム (関連するノードの検索など) は、サイトのユーザーに推奨できるため、サイトのユーザーにとって価値があることに注意してください。