Экспонаты и художники, представленные в музее Современного искусства и живописи
Музей Современного искусства поддерживает открытый информационный портал на https://github.com/MuseumofModernArt/collection, содержащий подробную информацию о своих экспонатах. В данном примере мы создадим информационный ресурс на основе этих данных для изучения размеров картин в музее, а также продолжительности жизни художников, чьи работы выставлены в музее.
Загрузим скомпилированный набор информации из объекта-ресурса ResourceObject.
momaStore = ResourceData[
ResourceObject[
Association[
"Name" -> "Museum of Modern Art Holdings and Artists",
"UUID" -> "38f47cc0-667d-4988-8ebe-6c1bef23fdc6",
"ResourceType" -> "DataResource", "Version" -> "1.0.0",
"Description" -> "Holdings and artists of The Museum of Modern \
Art", "ContentSize" -> Association["EntityStore" -> 0],
"ContentElements" -> {"EntityStore"}]]]
Зарегистрируем созданный объект информации.
PrependTo[$EntityStores, momaStore];
Получим список свойств художественных работ по типу объекта.
EntityProperties["MoMAHolding"]
Рассмотрим свойства конкретной картины.
DeleteMissing[
EntityValue[Entity["MoMAHolding", "79802"],
"PropertyAssociation" ]] // Take[#, 15] &
Построим гистограмму дат завершения всех работ, выставленных в музее.
DateHistogram[
DeleteMissing[EntityValue["MoMAHolding", "CompletionDate"]]]
Информацию о типах работ в коллекции музея представим в виде таблицы.
TextGrid[SortBy[
Tally[EntityValue["MoMAHolding",
EntityProperty["MoMAHolding", "Classification"]]], Last] //
Reverse, Dividers -> All,
Background -> {Automatic, {{LightBlue, None}}},
Alignment -> {{Left, Decimal}, Automatic}]
Воспользуемся неявно определенным классом сущностей для получения информации о картинах музея.
paintings =
EntityClass[
"MoMAHolding", {EntityProperty["MoMAHolding", "Classification"] ->
"Painting"}];
Построим гистограмму, отображающую соотношение величин длинны и ширины и площади картин музея. Распределение соотношения длинны и ширины картин является тримодальным.
Table[Histogram[EntityValue[paintings, prop],
PlotLabel ->
prop], {prop, {EntityProperty["MoMAHolding", "AspectRatio"],
EntityProperty["MoMAHolding", "Area"]}}]
Теперь составим список свойств картин, связанных с художниками.
EntityProperties["MoMAArtist"]
Рассмотрим информацию по запросу "Винсент Ван Гог", через команду "PropertyAssociation".
EntityValue[
Entity["MoMAArtist", "Vincent van Gogh"], "PropertyAssociation"]
Визуализируем распределение количества работ всех художников, выставленных в музее.
Histogram[
Length /@ EntityValue["MoMAArtist", "MoMAPieces"], {"Log", 20}]
Исследуем среднюю продолжительность жизни умерших художников. Для этого, выберем художников, чьи даты рождения и смерти определены; посчитаем разницу между этими датами и вычислим среднее статистическое значение продолжительности жизни.
deceasedArtists =
Select[EntityList["MoMAArtist"],
AllTrue[# /@ {"BirthDate", "DeathDate"}, DateObjectQ] &];
Mean[DateDifference[#["BirthDate"], #["DeathDate"], "Year"] & /@
deceasedArtists] // N
Построим коллажи некоторых произвольно выбранных музейных работ, произведенных в каждое десятилетие двадцатого века.