Wolfram Language

Acceso enriquecido a la base de conocimiento

Pinturas y artistas del Museo de Arte Moderno

El Museo de Arte Moderno (MoMA) mantiene un conjunto de datos público en https://github.com/MuseumofModernArt/collection, el cual contiene información detallada de su colección. Aquí, usted puede utilizar un almacén de entidades personalizado a partir de estos datos para estudiar las dimensiones de las pinturas del MoMA, así como investigar la longevidad de los artistas.

Primero, cargue el almacén de entidades ya existente en 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 este almacén para esta sesión.

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

Obtenga una lista de propiedades del arte a partir del almacén de entidades usando el tipo de entidad "MoMAHolding".

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

Cree una lista de valores de propiedades representativas para cada pieza.

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

Cree un histograma con las fechas de realización de todos los trabajos en el MoMA.

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

Contabilice todos los tipos de trabajos en la colección.

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 clases de entidades implícitamente definidas para recuperar las pinturas del MoMA.

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

Represente gráficamente por medio de histogramas con las relaciones de aspecto de la pintura y áreas. En el ancho predeterminado de intervalos, la distribución de relaciones 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]=

Ahora obtenga una lista de propiedades asociadas con los artistas usando el tipo de entidad "MoMAArtist".

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

Vea las propiedades para el artista Vincent van Gogh como una "PropertyAssociation".

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

Visualice la distribución del conteo de trabajos en el MoMA para todos los artistas.

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

Explore el promedio de vida de los artistas fallecidos seleccionando primero los artistas que tienen ambas fechas de nacimiento y defunción definidas, luego tome la diferencia de fechas entre ambos y, finalmente, calcule el promedio.

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

Cree collages de piezas del MoMA seleccionadas al azar de cada década del siglo veinte.

muestre la entrada completa de 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]=

Ejemplos relacionados

en fr ja ko pt-br ru zh