Wolfram Language

Acesso mais produtivo à base de conhecimento

Pinturas e artistas do Museu de Arte Moderna

O Museu de Arte Moderna (MoMA) mantem um conjunto de dados públicos em https://github.com/MuseumofModernArt/collection contendo informações detalhadas sobre suas coleções. Aqui, você pode fazer uso de um banco de dados de entidades personalizado com esses dados para estudar as dimensões de pinturas do MoMA, assim como investigar a longevidade de seus artistas.

Primeiro, carregue o banco de entidades já existente em ResourceObject.

In[1]:=
Click for copyable input
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"}]]]
Out[1]=

Registre o banco de dados para esta sessão.

In[2]:=
Click for copyable input
PrependTo[$EntityStores, momaStore];

Obtenha uma lista de propriedades de obras de arte a partir do banco de dados de entidades usando o tipo de entidade"MoMAHolding".

In[3]:=
Click for copyable input
EntityProperties["MoMAHolding"]
Out[3]=

Liste valores de propriedade representativos para uma determinada peça.

In[4]:=
Click for copyable input
DeleteMissing[ EntityValue[Entity["MoMAHolding", "79802"], "PropertyAssociation" ]] // Take[#, 15] &
Out[4]=

Faça um histograma com as datas de conclusão de todas as obras no MoMA.

In[5]:=
Click for copyable input
DateHistogram[ DeleteMissing[EntityValue["MoMAHolding", "CompletionDate"]]]
Out[5]=

Registre os tipos de obras na coleção.

In[6]:=
Click for copyable input
TextGrid[SortBy[ Tally[EntityValue["MoMAHolding", EntityProperty["MoMAHolding", "Classification"]]], Last] // Reverse, Dividers -> All, Background -> {Automatic, {{LightBlue, None}}}, Alignment -> {{Left, Decimal}, Automatic}]

Use classes de entidade definidas implicitamente para extrair pinturas do MoMA.

In[7]:=
Click for copyable input
paintings = EntityClass[ "MoMAHolding", {EntityProperty["MoMAHolding", "Classification"] -> "Painting"}];

Faça um histograma das proporções e áreas das pinturas. Nos intervalos padrão de largura, a distribuição de proporções de aspecto parece ser trimodal.

In[8]:=
Click for copyable input
Table[Histogram[EntityValue[paintings, prop], PlotLabel -> prop], {prop, {EntityProperty["MoMAHolding", "AspectRatio"], EntityProperty["MoMAHolding", "Area"]}}]
Out[8]=

Agora obtenha uma lista de propriedades associadas com artistas usando o tipo de entidade "MoMAArtist".

In[9]:=
Click for copyable input
EntityProperties["MoMAArtist"]
Out[9]=

Veja as propriedades para o artista Vincent van Gogh como uma "PropertyAssociation".

In[10]:=
Click for copyable input
EntityValue[ Entity["MoMAArtist", "Vincent van Gogh"], "PropertyAssociation"]
Out[10]=

Visualize a distribuição das contagens de trabalho no MoMA para todos os artistas.

In[11]:=
Click for copyable input
Histogram[ Length /@ EntityValue["MoMAArtist", "MoMAPieces"], {"Log", 20}]
Out[11]=

Explore a duração média de vida dos artistas falecidos, selecionando primeiro os artistas que as datas de nascimento e morte definidas, em seguida, depois calcule a diferença de data entre ambas, e finalmente o calcule a média.

In[12]:=
Click for copyable input
deceasedArtists = Select[EntityList["MoMAArtist"], AllTrue[# /@ {"BirthDate", "DeathDate"}, DateObjectQ] &];
In[13]:=
Click for copyable input
Mean[DateDifference[#["BirthDate"], #["DeathDate"], "Year"] & /@ deceasedArtists] // N
Out[13]=

Crie colagens de algumas peças MoMA selecionadas aleatoriamente de cada década do século XX.

mostre o input completo da Wolfram Language
In[14]:=
Click for copyable input
decadePieces = KeySelect[ GroupBy[Take[RandomEntity["MoMAHolding", 2000], 500], Floor[#1["CompletionDate"]["Year"], 10] &], Between[{1900, 2000 - 1}]];
In[15]:=
Click for copyable input
makePolygon[ year_ -> artworks_] := {Texture[ ImageCollage[ URLExecute[#["ThumbnailURL"]] & /@ Select[artworks, \[Not] MissingQ[#["ThumbnailURL"]] &, UpTo[8]]]], Lighting -> {{"Directional", White, {{0, year - 2, 0}, {0, year, 0}}}}, Opacity[.75], Polygon[{{-1, year/10, -1}, {1, year/10, -1}, {1, year/10, 1}, {-1, year/10, 1}}, VertexTextureCoordinates -> {{0, 0}, {1, 0}, {1, 1}, {0, 1}}]};
In[16]:=
Click for copyable input
Graphics3D[makePolygon /@ Normal[decadePieces], Axes -> True, AxesEdge -> {None, {1, 0}, None}, Ticks -> {None, Table[{190 + i, StringJoin["19", ToString[i], "0's"]}, {i, 0, 9}], None}, ImageSize -> Large]
Out[16]=

Exemplos Relacionados

en es fr ja ko ru zh