DataLab.を使ってサイアーラインを可視化してみる(その5)

「DataLab.を使ってサイアーラインを可視化してみる」シリーズ(?)の5回目。

前回までの時点ではこんな感じ
今時点でのNGポイントは以下の2点。

親子関係が切れているところがある

三大始祖以外からのサイアーラインが2本出ています。
sireline_nolink

同じ馬が複数ノードに表示されるところがある

前の記事で対応したつもりでしたが、まだ残っていました。下の画像のカリズマティックとCharismaticの部分。sire_line_charismatic_1

それぞれデータを見てみる

まずSt.Paddy、ジュピターアイランドの父です。

mysql> SELECT hanshoku_toroku_bango,bamei,bamei_eur,seinen,chichi_hanshoku_toroku_bango FROM jvd_hanshokuba_master WHERE bamei='St. Paddy';
+-----------------------+-----------+-----------+--------+------------------------------+
| hanshoku_toroku_bango | bamei     | bamei_eur | seinen | chichi_hanshoku_toroku_bango |
+-----------------------+-----------+-----------+--------+------------------------------+
| 11300078              | St. Paddy | St. Paddy |   1957 | 11300028                     |
| 11400521              | St. Paddy | St. Paddy |   1957 | 00000000                     |
+-----------------------+-----------+-----------+--------+------------------------------+
2 rows in set (0.00 sec)

2つレコードが引っかかりましたが、ジュピターアイランドの父として登録されているのは11400521の方のデータ。で、11300078の方のデータの父として設定されている11300028はAureoleを指しており、父へのリンクとしては妥当なもの。ということで、プログラム上で11400521のデータの父を11300028に書き換えてあげればデータは繋がりそう。

次にQuestionnaireの方、データを見てみるとこんな感じ。

mysql> SELECT hanshoku_toroku_bango,bamei,bamei_eur,seinen,chichi_hanshoku_toroku_bango FROM jvd_hanshokuba_master WHERE bamei='Questionnaire';
+-----------------------+---------------+---------------+--------+------------------------------+
| hanshoku_toroku_bango | bamei         | bamei_eur     | seinen | chichi_hanshoku_toroku_bango |
+-----------------------+---------------+---------------+--------+------------------------------+
| 11301025              | Questionnaire | Questionnaire |   1927 | 00000000                     |
+-----------------------+---------------+---------------+--------+------------------------------+
1 row in set (0.00 sec)

やはり父が00000000になっており切れています。実際の父はStingなので、Stingのデータが無いかを調べてみます。

mysql> SELECT hanshoku_toroku_bango,bamei,bamei_eur,seinen,chichi_hanshoku_toroku_bango FROM jvd_hanshokuba_master WHERE bamei='Sting';
+-----------------------+-------+-----------+--------+------------------------------+
| hanshoku_toroku_bango | bamei | bamei_eur | seinen | chichi_hanshoku_toroku_bango |
+-----------------------+-------+-----------+--------+------------------------------+
| 11301026              | Sting | Sting     |   1921 | 11301027                     |
+-----------------------+-------+-----------+--------+------------------------------+
1 row in set (0.00 sec)

こちらはデータが登録されている上に、父も登録されていますので、Questionnaireの父をStingを指す11301026に書き換えてみます。

最後に2頭のカリズマティックの件。

mysql> SELECT hanshoku_toroku_bango,bamei,bamei_eur,seinen,chichi_hanshoku_toroku_bango FROM jvd_hanshokuba_master WHERE bamei IN('カリズマティック','Charismatic');
+-----------------------+--------------------------+-------------+--------+------------------------------+
| hanshoku_toroku_bango | bamei                    | bamei_eur   | seinen | chichi_hanshoku_toroku_bango |
+-----------------------+--------------------------+-------------+--------+------------------------------+
| 11404407              | Charismatic              | Charismatic |   1996 | 11403018                     |
| 11201905              | カリズマティック         |             |   1996 | 11403018                     |
+-----------------------+--------------------------+-------------+--------+------------------------------+
2 rows in set (0.00 sec)

11201905のデータの方のbamei_eurが未設定のためにひとまとめにできていないことが判明、ということで、これも11201905のデータのbamei_eurにプログラム的にCharismaticを設定してあげればOK。

対策

以下のようなCSVファイルを読み込んで、CSVの内容をプログラム内で反映させる形で対応してみたいと思います。

11201905,bamei_eur,Charismatic
11400521,f_toroku_bango,11300028
11301025,f_toroku_bango,11301026

意味合いとしては、

  • 11201905の欧字馬名(bamei_eur)をCharismaticに書き換える
  • 11400521の父登録番号(f_toroku_bango)を11300028に書き換える
  • 11301025の父登録番号(f_toroku_bango)を11301026に書き換える

というようにしています。

結果

こちらのような形になりました。とりあえず、これでそれっぽい形になったかな。

こうやって実際に見てみると、少なくとも日本においてはゴドルフィンアラビアンとバイアリータークからのラインはほぼ絶滅、というのが実感できますね。

スポンサーリンク

フォローする

スポンサーリンク