Программирование Викиданных/Война
Экземпляры объекта "Война"
[править]- Объекты: война(Q198)
Построим список всех войн.
#added 2017-02
#List of `instances of` "war"
SELECT ?lang ?langLabel
WHERE
{
?lang wdt:P31 wd:Q198.
SERVICE wikibase:label { bd:serviceParam wikibase:language "en" }
}
}
SPARQL query 754 Results
👍 Наиболее полными и проработанными войнами на Викиданных являются: Первая мировая война, Великая Отечественная война, Вторая мировая война
👎 Почти пустыми и малоинформативными странами оказались: Турецкая интервенция в Дагестане, Война за независимость Литвы, Война за Огаден
1) Найти объекты-войны, связанные с Российским государством, например Tsardom of Russia, Российская Империя, СССР, Россия, ещё?.. Перечислить войны, связанные с Россией, в которых участвовала Россия. Сколько их? 2) Вывести список самых часто воюющих стран. 3) Построить карту с отмеченными военными действиями
SPARQL-запросы
[править]Список войн, связанных с Россией
[править]Российская Федерация, Российская Империя, СССР Используются:
- объект Soviet Union(Q15180) (страна),
- объект Russia(Q159) (страна),
- объект Russian Empire(Q34266) (страна),
- свойство start time(P580) (дата начала),
- свойство end time(P580) (дата окончания),
- свойство image(P18) (изображение),
- свойство death(P1120) (число смертей),
- свойство participant (P710) (участник),
#added 2017-03
SELECT ?lang ?langLabel ?starttime ?endtime ?image ?death ?duration
WHERE
{
{ ?lang wdt:P710 wd:Q15180 } UNION # participant is Soviet Union
{ ?lang wdt:P710 wd:Q159 } UNION # Russia
{ ?lang wdt:P710 wd:Q34266 }. # Russian Empire
OPTIONAL {
?lang wdt:P580 ?starttime. #start time
}
OPTIONAL {
?lang wdt:P582 ?endtime. #end time
}
OPTIONAL {
?lang wdt:P18 ?image. #image
}
OPTIONAL {
?lang wdt:P1120 ?death. #number of deaths
}
BIND(YEAR(?endtime)-YEAR(?starttime) as ?duration) #duration in years
SERVICE wikibase:label { bd:serviceParam wikibase:language "en" }
}
SPARQL query 62 Results
Пузырьковая диаграмма стран по количеству войн
[править]#added 2017-03
#added 2017-03
#defaultView:BubbleChart
SELECT ?countryLabel (count(?lang) as ?count)
WHERE
{
?lang wdt:P31 wd:Q198.
?lang wdt:P710 ?country.
SERVICE wikibase:label { bd:serviceParam wikibase:language "en" }
}
GROUP BY ?country ?countryLabel
ORDER BY DESC (?count)
SPARQL query 261 Results
Карта, с отмеченными военными действиями
[править]Используются:
- объект war(Q198) (война),
- объект world war(Q103495) (мировая война),
- свойство image(P18) (изображение),
- свойство location(P625) (местоположение),
- свойство instance of(P31) (частный случай),
#added 2017-03
SELECT ?country_name ?langLabel ?location
WHERE
{
{
{?lang wdt:P31 wd:Q198} UNION #instance of war
{?lang wdt:P31 wd:Q103495} UNION #world war
{?lang wdt:P31 wd:Q1671452} UNION #intervension
{?lang wdt:P31 wd:Q467011} #invasion
}
?lang wdt:P625 ?location. #coordinate location
OPTIONAL {
?lang wdt:P18 ?image. #image
}
SERVICE wikibase:label { bd:serviceParam wikibase:language "en". }
}
SPARQL query 44 Results
Полнота данных
[править]Запрос показал 43 военных действия (войны, интервенции, и т.д.). В мире их происходило намного больше. Следующий SPARQL-запрос показывает, что в Викиданных одних только войн 763.
#added 2017-02
#List of `instances of` "war"
SELECT ?lang ?langLabel
WHERE
{
?lang wdt:P31 wd:Q198.
SERVICE wikibase:label { bd:serviceParam wikibase:language "en" }
}
}
Если обращаться к Рувики, то можно посмотреть списки основных войн. Рувики насчитывает 133 подкатегории войн по странам. Англовики еще больше - список из 200 подкатегорий. К сожалению, найти достоверного списка или, хотя бы, количество конфликтов с участием России мне не удалось. Но если верить статье [1], то Россия воюет чуть ли не 2/3 лет своего существования, а за последние два века она приняла участие, примерно, в 15 военных действиях. SPARQL-запрос построил карту с куда меньшим количеством военных действий, потому что свойство "местоположение" заполнено лишь у 43 объетов