This is an English translation of a Japanese blog. Some content may not be fully translated.
📝

Tracing Deep Impact's Ancestors Using SPARQL on the English DBpedia

Introduction

This is a follow-up to the previous article. I attempted to trace from Arima Kinen winners back to the ancestors of thoroughbreds, but hit a dead end due to a URI error in dbpedia-jp (jp.wikipedia.org).

Tracing from Arima Kinen Winners to Thoroughbred Ancestors on Japanese DBPedia | my opinion is my own https://zatoima.github.io/sparql-graph-thoroughbred-search.html

As a revenge attempt, I’ll use the English version of DBPedia, starting from Deep Impact, to trace back to the ancestors.

Horses that race are called thoroughbreds, and tracing their bloodlines leads back to just 3 horses (Darley Arabian, Godolphin Arabian, Byerley Turk).

Three Foundation Sires and World Bloodlines: Thoroughbred Course - JRA http://www.jra.go.jp/kouza/thoroughbred/founder/

DBpedia (English Version)

Virtuoso SPARQL Query Editor https://dbpedia.org/sparql

SPARQL Query

This is what I ended up with.

The predicate part is sire, meaning “father.” This is also known as a Leading Sire.

PREFIX dbpedia: <http://dbpedia.org/ontology/>

select ?parent_gen1_name ?parent_gen2_name ?parent_gen3_name ?parent_gen4_name ?parent_gen5_name ?parent_gen6_name ?parent_gen7_name ?parent_gen8_name ?parent_gen9_name ?parent_gen10_name ?parent_gen11_name ?parent_gen12_name ?parent_gen13_name ?parent_gen14_name ?parent_gen15_name ?parent_gen16_name ?parent_gen17_name ?parent_gen18_name ?parent_gen19_name ?parent_gen20_name ?parent_gen21_name ?parent_gen22_name ?parent_gen23_name ?parent_gen24_name ?parent_gen25_name
where {
  <http://dbpedia.org/resource/Deep_Impact_(horse)> dbpedia:sire ?parent_gen1_name .
   ?parent_gen1_name dbpedia:sire ?parent_gen2_name . #Sunday_Silence
   ?parent_gen2_name dbpedia:sire ?parent_gen3_name . #Halo
   ?parent_gen3_name dbpedia:sire ?parent_gen4_name . #Hail_To_Reason
   ?parent_gen4_name dbpedia:sire ?parent_gen5_name . #Turn-To
   ?parent_gen5_name dbpedia:sire ?parent_gen6_name . #Royal_Charger
   ?parent_gen6_name dbpedia:sire ?parent_gen7_name . #Nearco
   ?parent_gen7_name dbpedia:sire ?parent_gen8_name . #Pharos
   ?parent_gen8_name dbpedia:sire ?parent_gen9_name . #Phalaris
   ?parent_gen9_name dbpedia:sire ?parent_gen10_name . #Polymelus
   ?parent_gen10_name dbpedia:sire ?parent_gen11_name . #Cyllene
   ?parent_gen11_name dbpedia:sire ?parent_gen12_name . #Bona_Vista
   ?parent_gen12_name dbpedia:sire ?parent_gen13_name . #Bend_Or
   ?parent_gen13_name dbpedia:sire ?parent_gen14_name . #Doncaster
   ?parent_gen14_name dbpedia:sire ?parent_gen15_name . #The_Baron
   ?parent_gen15_name dbpedia:sire ?parent_gen16_name . #Birdcatcher
   ?parent_gen16_name dbpedia:wikiPageRedirects ?Birdcatcher_wpr .
   ?Birdcatcher_wpr dbo:sire ?parent_gen17_name . #Sir_Hercules
   ?parent_gen17_name dbpedia:sire ?parent_gen18_name . #Whalebone
   ?parent_gen18_name dbpedia:sire ?parent_gen19_name . #Waxy
   ?parent_gen19_name dbpedia:sire ?parent_gen20_name . #Potoooooooo
   ?parent_gen20_name dbpedia:sire ?parent_gen21_name . #Eclipse
   ?parent_gen21_name dbpedia:sire ?parent_gen22_name . #Marske
   ?parent_gen22_name dbpedia:sire ?parent_gen23_name . #Squirt
   ?parent_gen23_name dbpedia:sire ?parent_gen24_name . #Bartlets_Childers
   ?parent_gen24_name dbpedia:wikiPageRedirects ?Bartlets_Childers .
   ?Bartlets_Childers dbo:sire ?parent_gen25_name . #Darley_Arabian
}

Notes

Birdcatcher and Bartlets_Childers do not have the http://dbpedia.org/ontology/sire property that other racehorses have, so the parent cannot be traced from there.

PREFIX dbpedia: <http://dbpedia.org/ontology/>

select *
where {
  <http://dbpedia.org/resource/Birdcatcher> ?p ?o .
}

image-20200222161400597

Going to http://dbpedia.org/resource/Birdcatcher_(horse), which has the predicate http://dbpedia.org/ontology/wikiPageRedirects, I found dbo:sire there, so I use that property.

This allowed me to get the sire.

PREFIX dbpedia: <http://dbpedia.org/ontology/>

select ?Birdcatcher_sire
where {
  <http://dbpedia.org/resource/Birdcatcher> dbpedia:wikiPageRedirects ?Birdcatcher_wpr .
  ?Birdcatcher_wpr dbo:sire ?Birdcatcher_sire
}

image-20200222165056244

Result

The final result is as follows. Deep Impact’s ancestor is Darley_Arabian !

Generation Horse Name
1 Sunday_Silence
2 Halo
3 Hail_To_Reason
4 Turn-To
5 Royal_Charger
6 Nearco
7 Pharos
8 Phalaris
9 Polymelus
10 Cyllene
11 Bona_Vista
12 Bend_Or
13 Doncaster
14 Stockwell
15 The_Baron
16 Birdcatcher
17 Sir_Hercules
18 Whalebone
19 Waxy
20 Potoooooooo
21 Eclipse
22 Marske
23 Squirt
24 Bartlet’s_Childers
25 Darley_Arabian
Suggest an edit on GitHub