Wolfram Language

Un accès plus riche à la base de connaissances

Musée d'art moderne : peintures et artistes

Le musée d'art moderne (Museum of Modern Art, ou MoMA) gère un jeu de données public à l'adresse Internet suivante https://github.com/MuseumofModernArt/collection qui contient des informations détaillées sur ses collections. Ici, vous pouvez utiliser un magasin d'entités personnalisé dérivé de ces données pour étudier les dimensions des peintures du MoMA, ainsi que la longévité de leurs artistes.

Commencez par charger le magasin d'entités préconstruit à partir d'un 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]=

Enregistrez le magasin pour cette session.

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

Obtenez une liste de propriétés d'œuvres d'art à partir du magasin d'entités en utilisant le type d'entité "MoMAHolding".

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

Dressez la liste des valeurs représentatives des propriétés d'une œuvre particulière.

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

Créez un histogramme des dates d'achèvement de toutes les œuvres du MoMA.

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

Recensez les types d'œuvres de la collection.

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}]

Utilisez des classes d'entités implicitement définies pour retrouver les peintures du MoMA.

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

Tracez des histogrammes des rapports d'aspect et des surfaces des peintures. Avec la largeur d'échantillonnage par défaut, la distribution des rapports d'aspect semble être trimodale.

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

Obtenez maintenant une liste des propriétés associées aux artistes en utilisant le type d'entité "MoMAArtist".

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

Affichez les propriétés de l'artiste Vincent van Gogh en tant que "PropertyAssociation".

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

Visualisez la distribution du nombre d'œuvres au MoMA pour tous les artistes.

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

Explorez la durée de vie moyenne des artistes décédés en sélectionnant d'abord les artistes dont les dates de naissance et de décès sont définies, puis en prenant la différence de date entre les deux, et enfin en calculant la moyenne.

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]=

Créez des collages à partir d'œuvres du MoMA sélectionnées au hasard pour chaque décennie du vingtième siècle.

Afficher l'entrée complète en 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]=

Exemples connexes

en es ja ko pt-br ru zh