サイアーラインの可視化２

# 1. はじめに
* [前回](https://qiita.com/niship2/items/bca6428ebebf3480a70d)の続き
* 世界のサイアーラインを可視化した。
* Northern DancerとMr. Prospector強い。Northern Dancerの孫の[ガリレオ](https://ja.wikipedia.org/wiki/%E3%82%AC%E3%83%AA%E3%83%AC%E3%82%AA_(%E7%AB%B6%E8%B5%B0%E9%A6%AC))が目立ちますね。


# 2.経緯
・[前回](https://qiita.com/niship2/items/bca6428ebebf3480a70d)は主に、日本国内がサンデーサイレンス系で埋め尽くされているのを発見。
* 世界ではどうなっているのか気になったので、調べてみることに。


# 3. コード
* 前回のはJRDBのデータを使ったけど、wikipedia(en)の情報も使えそうだったので、こちらを利用させてもらう。
* さてスクレイピングやるのかなーと思っていると、[dbpedia](https://dbpedia.org/sparql)というサイトを発見して、sparQLという言語？でクエリを取ると簡単に情報を得られるのを発見。これを使わせてもらう。

この図の右下部分（父、父父）情報を使えばいいので、下記のような書き方で取得できた。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/385220/e6012da5-5e87-7603-fd3d-61893fc033a7.png)


en.wikipediaには、[生まれ年毎に有名な競走馬の情報が入っている](https://en.wikipedia.org/wiki/Category:1955_racehorse_births)ので、この情報を参考に、

```python
#!pip install sparqlwrapper
def getdata(year):
    my_variable = "<http://dbpedia.org/resource/Category:{}_racehorse_births>".format(year)
    print(my_variable)
    sparql.setQuery("""
    select distinct * where {
    ?racehorse <http://dbpedia.org/ontology/wikiPageWikiLink>"""+ my_variable +""" .
    ?racehorse rdfs:label ?name .
    ?racehorse <http://dbpedia.org/property/sire> ?sire .
    ?racehorse <http://dbpedia.org/property/grandsire> ?grandsire .
    }
    """)
    results = sparql.query().convert()

    items = []
    for val in results["results"]["bindings"]:
        if val["name"]["xml:lang"] == "en":
            items.append([val["name"]["value"],val["sire"]["value"].replace("http://dbpedia.org/resource/","")])
            items.append([val["sire"]["value"].replace("http://dbpedia.org/resource/",""),val["grandsire"]["value"].replace("http://dbpedia.org/resource/","")])


    return pd.DataFrame(items)

```
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/385220/11e3dfb4-6b21-7a0d-9960-30c84c765f17.png)


これを1700年～2020年まで取得。データをキレイにして最終的にこんな形に。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/385220/1a7eb0a1-6075-ff33-f01d-c269a82a2b98.png)

あとはpyvisなど検討したけれど、動作が重いので結局gephiに。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/385220/997a94b9-d857-94d5-3faa-098f663be951.png)

* 上の真ん中へん、Sadler's WellsやGalileoが見えるでしょか。ピンク色がNorthernDancerでその辺の系統はすべてNorthernDancer系。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/385220/6ab9c91c-0674-6b7f-e8c5-c3f409fc0c43.png)


* あとは左はじの水色がMr. Prospectorです。アメリカで大繁栄しているそうで。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/385220/29a1cc71-7272-d2a4-1c56-3629e03d1640.png)


* 日本のサンデーサイレンスやディープインパクトはnearcoから分岐して全体図での右側へ。近くにはhail to reasonから分岐してrobert（ナリタブライアン、マヤノトップガン、ブライアンズタイムなどの系統）が。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/385220/4af91b83-1342-20cd-6e84-b01abe076b82.png)


* 下部分はst.simon、eclipse、hyperionなどの昔の超有名な名馬たち。なんかつながり方がおかしいのでまた確認していこう。３大始祖までうまくつながってくれていない。
 ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/385220/98357a87-f6a9-e73d-3221-b4882a2861b1.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/385220/db264319-300a-38ba-14d6-bac4482dad39.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/385220/aa4ed5d0-114b-5e58-5391-c80660eed118.png)


* Daley Arabianを発見。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/385220/a04cd051-d253-d676-7c26-6bcddea7c652.png)

* Byerley Turkを発見。緑色なのでちょうど全体図の真ん中あたり。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/385220/ffc68bb6-340a-d1e1-8b9c-5e05b4c6b424.png)


* Godolphin Arabianを発見。wikipediaに記事が少ない影響で孤立しててちょっと悲しい。血統表情報で補完してつなげたい。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/385220/e0ece049-3c5d-1e5a-fefb-fa3e1dbbc69a.png)



* 20230822：全体図を少し整理
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/385220/ff5ec52f-16b7-67c0-f41e-eeb50909bce0.png)