GHTorrent の MSR 2014 Mining Challenge Dataset の使い方
1. はじめに
GHTorrent 1 は、GitHub の公開イベントデータを収集し、研究者が容易にアクセスできるように整理した大規模なデータセットです。このプロジェクトは GitHub の公式 API を使用して、プルリクエスト、コミット、イシューなどの活動に関連するデータを継続的に取得し、これらのデータを MongoDB 形式と MySQL 形式で公開しています。
執筆時点で GHTorrent プロジェクトは既に停止しており、公式サイトにもアクセスすることが出来ません。しかし、Wayback Machine 上にアーカイブとして残っており、データもサルベージすることが可能です。
MSR 2014 Mining Challenge Dataset は、オリジナルの GHTorrent データセットを縮小したバージョンです。このデータセットには、プログラミング言語ごとにスター数が多い 90 個のプロジェクトと、そのフォークが含まれています。詳しい情報は MSR 2014 Mining Challenge Dataset の Web ページ 2 を参照ください。
本記事では、MySQL 形式の MSR 2014 Mining Challenge Dataset を、ローカル環境の MySQL にインポートして使用する手順について記述します。以降の作業は Ubuntu 22.04 LTS + MySQL Ver.8.0.35 環境下で実行したものです。また、MySQL はインストール済みの前提で記述しています。MySQL のインストール方法などについては割愛していることを、ご了承ください。
2. データセットのインポートと使用方法
一応、MSR 2014 Mining Challenge Dataset の Web ページ 2 にインポートする手順は記載されていますが、MySQL の文法が古いため、MySQL 8.0 系で Web サイトに記載されているコマンドを実行するとエラーが出ます。MySQL 8.0 系の文法に書き直したコードを以下に示します。
1$ wget http://ghtorrent-downloads.ewi.tudelft.nl/datasets/msr14-mysql.gz2$ mysql -u root -p3Enter password: # root のパスワードを入力する4mysql> create user 'msr14'@'%' identified by 'msr14';5mysql> create database msr14;6mysql> GRANT ALL PRIVILEGES ON msr14.* TO 'msr14'@'%';7mysql> flush privileges;8mysql> exit9$ zcat msr14-mysql.gz | mysql -u msr14 -p msr1410Enter password: # msr14 と入力する11$ mysql -u msr14 -p msr1412Enter password: # msr14 と入力する13mysql> SELECT language, COUNT(*) FROM projects WHERE forked_from IS NULL GROUP BY language;14+------------+----------+15| language | COUNT(*) |16+------------+----------+17| Scala | 9 |18| R | 4 |19| C++ | 8 |20| JavaScript | 9 |21| TypeScript | 1 |22| C | 10 |23| C# | 8 |24| Go | 1 |25| Java | 8 |26| CSS | 3 |27| PHP | 9 |28| Python | 10 |29| Ruby | 10 |30| NULL | 1 |31+------------+----------+3214 rows in set (0.01 sec)
3. おわりに
ここまで、MySQL 形式の MSR 2014 Mining Challenge Dataset を、ローカル環境の MySQL にインポートして使用する手順について記述してきました。MySQL に慣れている人はターミナル上で分析しても良いと思いますが、慣れていない人は DBeaver などの GUI で MySQL を操作できる GUI ツールなどを駆使して分析すると良いと思います。
-
Gousios, Georgios. 2013. “The GHTorent Dataset and Tool Suite.” In Proceedings of the 10th Working Conference on Mining Software Repositories, 233–36. MSR ’13. IEEE Press. ↩
-
MSR 2014 Mining Challenge Dataset:https://web.archive.org/web/20220505002737/https://ghtorrent.org/msr14.html ↩ ↩2