Программирование Викиданных/Воздушные суда

Материал из Викиверситет
Перейти к: навигация, поиск

Исследуем воздушные суда на основе базы знаний международного проекта Викиданные. С помощью SPARQL-запросов, вычисляемых на объектах типа "Воздушные суда" в Викиданных, далее решены такие задачи: выведен список всех воздушных судов, построена диаграмма соотношения количества производителей воздушных судов по странам. Выполнена оценка полноты Викиданных по данной теме. Осуществленно заполнение данных при помощи скрипта.


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

Построим список всех экзкмпляров объекта "Воздушные суда".

#List of `instances of` "aircraft" 
SELECT ?item ?itemLabel
WHERE
{
    ?item wdt:P31 wd:Q11436.
    SERVICE wikibase:label { bd:serviceParam wikibase:language "en" }
}

SPARQL-запрос, 1564 записи.

SPARQL-запрос, 153 записи имеют название на русском языке (label).

Заполнены не очень плохо: МиГ-3, Як-36, Mitsubishi A5M

Заполнены не очень хорошо: МиГ-1, Су-6, Ил-103

Производители воздушных судов[править]

Построим список производителей воздушных судов.

# Count aircraft having property manufacture
# Group by manufacture
SELECT ?manufactureLabel (COUNT(?item) AS ?count) 
WHERE {
  ?item wdt:P31 wd:Q11436.     # instance of aircraft
  ?item wdt:P176 ?manufacture. # show manufacture
  SERVICE wikibase:label { bd:serviceParam wikibase:language "en". }
}
GROUP BY ?manufacture ?manufactureLabel # group by manufacture

SPARQL-запрос, 300 результатов.

В результате запроса было получено 300 предприятий, занимающихся производством воздушных судов.

Страны происхождения производителей воздушных судов[править]

Построим список с соотношением количества производителей воздушных судов по странам.

# Count manufacture having property country
# group by country
SELECT ?countryLabel (count(?item) as ?count)
WHERE
{
    ?item wdt:P31 wd:Q936518.   # instance of manufacture
    ?item wdt:P17 ?country.     # show country
    SERVICE wikibase:label { bd:serviceParam wikibase:language "en" }
}
GROUP BY ?country ?countryLabel # group by country

SPARQL-запрос 39 записей.

Пузырьковая диаграмма, где круги означают страны, а их размеры соответсвуют количеству авиапроизводителей в данной стране. Такая диаграмма помогает более наглядно увидеть разницу между объектами.

Соотношение количества производителей воздушных судов по странам

Как видно из запроса страны происхождения производителей воздушных судов заполнены куда хуже, чем могли бы быть, и предоставляют мало информации. Больше всего производителей указано у США (115), Великобритания (30), Германия (17), Россия (17) на май 2017.

Полнота Викиданных[править]

Согласно сайту aviationfanatic.com существует около 1700 производителей воздушных судов[1], но SPARQL-запрос вернул всего 300 записей. Из этого можно сделать вывод о неполноте Викиданных. Скорее всего, оставшиеся полторы тысячи производителей сделали слишком мало самолетов или не сделали их вовсе, поэтому из-за недостатка информации они не были включены в Викиданные.

В категории Авиастроительные компании России указано наличие в России 58 Авиастроительных компаний, но в то же время на сайте aviationfanatic.com указано [2] наличие 61 завода, например такие компании как Иркут, МиГ, Туполев.

Заполнение викиданных[править]

Для заполнения были выбраны поля label и description у объектов перечисленных в категории Авиастроительные компании России. Так как объектов там много, было решено автоматизировать заполнение, для чего была написана соответсвующая программа. Для начала был создан JSON-файл с объектами из категории и пустыми полями для заполнения:

{
  "121 авиационный ремонтный завод": {
    "description": "",
    "descriptionen": "",
    "nameen": "",
    "qid": "Q4028573"
    },
  ...
}

Первая часть программа записывала уже существующие значения полей из Викиданных. После чего было необходимо было заполнить оставшиеся пустыми поля, то есть поля, не заполненые в Викиданных, которых оказалось достаточно много. В итоге JOSN-файл выглядел примерно так:

{
  "121 авиационный ремонтный завод": {
    "description": "авиаремонтное предприятие, расположенное посёлке Старый Городок",
    "descriptionen": "aircraft repair facility, located in the village Stary Gorodok",
    "nameen": "121 aircraft repair plant",
    "qid": "Q4028573"
  },
  ...
}

Вторая часть программы записывала данные из json в Викиданные.

С помощью этой программы удалось упростить работу с Викиданными тк не приходилось вручную заходить на страницы объектов и вносить изменения, если существующие данные не удовлетворяют ожиданиям, то есть поле в Викиданных отличается от локального.

Будущая работа[править]

  • Найти самолет с максимальным радиусом полета.
  • Карта концентрации производителей воздушных судов, отмечающая точками главные офисы компаний на политической карте.
  • Найти производителя с максимальным числом изготовленых самолетов, используя свойство manufacturer у воздушных судов.

Упражнения[править]

1 У каких русских производителей есть веб-сайты?

Миг
Саратовский авиационный завод
Туполев
Сухой

2 Совместите дату основания и компанию.

1.12.1939 18.11.1949 1.01.1922 1.01.1939
Миг
Вымпел
Туполев
Сухой

3 Совместите расположение штаб-квартиры компании с компанией.

Казань Саратов Улан-Удэ Москва
Казанский вертолётный завод
Саратовский авиационный завод
Улан-Удэнский авиационный завод
Сухой

4 Как называется воздушное судно легче воздуха, поддерживаемое в полете за счет огромного баллона с горючим смертельно опасным газом прямо над головой пассажиров?

5 Как выглядит дирижабль?

LAPD Bell 206 Jetranger.jpg
W-6 Ossoaviachim wiki.jpg
Airliners 28.07.2009 10-01-28.JPG

SPARQL-запрос по производителям с веб сайтами

SPARQL-запрос дат основания производителей

SPARQL-запрос штаб-квартир производителей

SPARQL-запрос дирижабль

SPARQL-запрос дирижабли с картинками

Примечания[править]

Литература[править]

List of all Manufacturers.

List of Russian Manufacturers.

Рыбин Е.И., Крижановский А.А.. Два с половиной SPARQL-запроса и воздушные суда. Authorea.

Рыбин Е.И. Код программы по заполнению викиданных.