Программирование Викиданных/Война

Материал из Викиверситета

Ремнев Станислав

Экземпляры объекта "Война"[править]

Построим список всех войн.

#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-запросы[править]

Список войн, связанных с Россией[править]

Российская Федерация, Российская Империя, СССР Используются:

#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

Карта, с отмеченными военными действиями[править]

Используются:

#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 объетов

  1. Сколько раз воевала Россия?, 2012