Compare Met paintings against Wikidata

Check to see if Wikidata have paintings miscategorized compared to the Met's database.

  1. Met: Load the entire Met database of 400,000 items into a dataframe.
  2. Wikidata: Return all items with Met Object ID (P3634) set into a dataframe.
  3. See if Met database "Object Name=Painting" match what Wikidata has
  4. Flag any objects that don't match

Import Met CSV database

This is more than 400,000 rows, so it may take 5-10 seconds or more

%%time
import csv
from urllib.request import urlopen
import codecs
# from tqdm import tqdm
# from tqdm._tqdm_notebook import tqdm_notebook
import requests
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from dateutil.parser import parse

# The Met's weekly CSV dump URL in Github is quite big at 250 Mbytes
# Comment out for now, since this is slow to load. 
# url = 'https://media.githubusercontent.com/media/metmuseum/openaccess/master/MetObjects.csv'

# Use local copy of CSV file for speed and read the CSV file into a pandas dataframe
url = 'metmuseum/MetObjects-20190425.csv'
met_df = pd.read_csv(url,low_memory=False)
CPU times: user 8.42 s, sys: 712 ms, total: 9.13 s
Wall time: 4min 36s

Sanity check

Take a look at some of the rows. NaN means "not a number" or a blank from the CSV file.

met_df.sample(3)
Object Number Is Highlight Is Public Domain Object ID Department Object Name Title Culture Period Dynasty ... Locale Locus Excavation River Classification Rights and Reproduction Link Resource Metadata Date Repository Tags
288659 Burdick 308, D359.10 False False 417698 Drawings and Prints Baseball card Paddy Livingston, Philadelphia Athletics, from... NaN NaN NaN ... NaN NaN NaN NaN Prints|Ephemera NaN http://www.metmuseum.org/art/collection/search... 4/22/2019 8:00:03 AM Metropolitan Museum of Art, New York, NY NaN
465087 21.44(28) False False 755269 Drawings and Prints Book Print Ornament & Architecture Burgundus, Nobilis Burgundus NaN NaN NaN ... NaN NaN NaN NaN Books|Prints|Ornament & Architecture NaN http://www.metmuseum.org/art/collection/search... 4/22/2019 8:00:03 AM Metropolitan Museum of Art, New York, NY NaN
24359 42.50.135 False False 29099 Arms and Armor Sword pommel Sword Pommel Italian NaN NaN ... NaN NaN NaN NaN Swords-Accessories NaN http://www.metmuseum.org/art/collection/search... 4/22/2019 8:00:03 AM Metropolitan Museum of Art, New York, NY NaN

3 rows × 44 columns

Columns of the Met database

met_df.sample(1).info()
<class 'pandas.core.frame.DataFrame'>
Int64Index: 1 entries, 208855 to 208855
Data columns (total 44 columns):
Object Number              1 non-null object
Is Highlight               1 non-null bool
Is Public Domain           1 non-null bool
Object ID                  1 non-null int64
Department                 1 non-null object
Object Name                1 non-null object
Title                      1 non-null object
Culture                    0 non-null object
Period                     0 non-null object
Dynasty                    0 non-null object
Reign                      0 non-null object
Portfolio                  0 non-null object
Artist Role                1 non-null object
Artist Prefix              0 non-null object
Artist Display Name        1 non-null object
Artist Display Bio         1 non-null object
Artist Suffix              0 non-null object
Artist Alpha Sort          1 non-null object
Artist Nationality         1 non-null object
Artist Begin Date          1 non-null object
Artist End Date            1 non-null object
Object Date                1 non-null object
Object Begin Date          1 non-null int64
Object End Date            1 non-null int64
Medium                     1 non-null object
Dimensions                 1 non-null object
Credit Line                1 non-null object
Geography Type             0 non-null object
City                       0 non-null object
State                      0 non-null object
County                     0 non-null object
Country                    0 non-null object
Region                     0 non-null object
Subregion                  0 non-null object
Locale                     0 non-null object
Locus                      0 non-null object
Excavation                 0 non-null object
River                      0 non-null object
Classification             1 non-null object
Rights and Reproduction    0 non-null object
Link Resource              1 non-null object
Metadata Date              1 non-null object
Repository                 1 non-null object
Tags                       1 non-null object
dtypes: bool(2), int64(3), object(39)
memory usage: 346.0+ bytes
met_paintings_df = met_df[met_df['Object Name'].str.match('^Painting$',na=False)].copy()

met_paintings_df.info()
<class 'pandas.core.frame.DataFrame'>
Int64Index: 6125 entries, 409 to 490917
Data columns (total 44 columns):
Object Number              6125 non-null object
Is Highlight               6125 non-null bool
Is Public Domain           6125 non-null bool
Object ID                  6125 non-null int64
Department                 6125 non-null object
Object Name                6125 non-null object
Title                      5789 non-null object
Culture                    1865 non-null object
Period                     138 non-null object
Dynasty                    0 non-null object
Reign                      0 non-null object
Portfolio                  0 non-null object
Artist Role                5880 non-null object
Artist Prefix              367 non-null object
Artist Display Name        5881 non-null object
Artist Display Bio         5739 non-null object
Artist Suffix              46 non-null object
Artist Alpha Sort          5880 non-null object
Artist Nationality         5021 non-null object
Artist Begin Date          5660 non-null object
Artist End Date            5661 non-null object
Object Date                5621 non-null object
Object Begin Date          6125 non-null int64
Object End Date            6125 non-null int64
Medium                     6125 non-null object
Dimensions                 6122 non-null object
Credit Line                6124 non-null object
Geography Type             128 non-null object
City                       48 non-null object
State                      0 non-null object
County                     34 non-null object
Country                    158 non-null object
Region                     18 non-null object
Subregion                  0 non-null object
Locale                     0 non-null object
Locus                      0 non-null object
Excavation                 0 non-null object
River                      10 non-null object
Classification             6125 non-null object
Rights and Reproduction    815 non-null object
Link Resource              6125 non-null object
Metadata Date              6125 non-null object
Repository                 6125 non-null object
Tags                       5527 non-null object
dtypes: bool(2), int64(3), object(39)
memory usage: 2.0+ MB

Isolate Met DB columns of interest

met_paintings_df[['Object Name','Object ID','Object Number','Object Date','Title','Artist Display Name']].sample(10)
Object Name Object ID Object Number Object Date Title Artist Display Name
305990 Painting 435597 29.100.2 NaN Portrait of an Old Woman Jacob Backer
9681 Painting 10450 54.90.492 1870s Fly Market William P. Chappel
307564 Painting 437399 14.40.621 early 1660s Man with a Magnifying Glass Rembrandt (Rembrandt van Rijn)
335103 Painting 482239 1981.143.3 1924 Expressman Norman Rockwell
307519 Painting 437350 30.20 ca. 1886–87 Tamaris Pierre Puvis de Chavannes
306085 Painting 435705 32.100.78 NaN The Legend of the Infant Servius Tullius Bonifacio de' Pitati (Bonifacio Veronese)
335370 Painting 482518 1982.20 1943 Pasiphaë Jackson Pollock
307118 Painting 436906 17.190.12 1746 The Temptation Pietro Longhi (Pietro Falca)
307612 Painting 437447 20.155.3 1782 Captain George K. H. Coussmaker (1759–1801) Sir Joshua Reynolds
321391 Painting 459054 1975.1.112 ca. 1472–75 Portrait of a Young Man Hans Memling

Send Wikidata Query to pick up all Met objects

Met objects are currently (April 2019) modeled slightly differently, so one goal of the project is to normalize this and make it consistent. There are currently two different methods to pick up Met objects:

  1. Anything with Met ID (P3634)
  2. Anything with inventory number (P217) qualified with collection (P195) set to Met (Q160236)

For a SPARQL query, these two are combined with UNION, and optional fields returned.

%%time
wikidata_api_url = 'https://query.wikidata.org/bigdata/namespace/wdq/sparql'

query = '''
SELECT DISTINCT ?item ?itemLabel ?inventorynumber ?metid ?creator ?creatorLabel ?inception 
WHERE 
{
  {
    ?item p:P217 [ ps:P217 ?inventorynumber ; pq:P195 wd:Q160236 ]  .
  } UNION {
    ?item wdt:P3634 ?metid .
  }
  OPTIONAL { ?item p:P217 [ ps:P217 ?inventorynumber ; pq:P195 wd:Q160236 ]  . }
  OPTIONAL { ?item wdt:P3634 ?metid . }
  OPTIONAL { ?item wdt:P170 ?creator . }
  OPTIONAL { ?item wdt:P571 ?inception . }

  SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". }
} 
'''

data = requests.post(wikidata_api_url, data={'query': query, 'format': 'json'}).json()
CPU times: user 184 ms, sys: 32 ms, total: 216 ms
Wall time: 18.3 s

Convert the WDQ JSON result to a dataframe

Make life easier by converting the JSON to a Pandas Dataframe, which is basically a 2D spreadsheet-like data structure. We're going to also do some integrity checks as we import. Most of the data are strings and numbers, but the "inception" is a formal date string in the format +1984-01-01T00:00:00Z and it's possible Wikidata has dates that validate but are illogical, like year 0. It will error out on these, and show up in pink below.

Problem - It is also possible inception is set to "Unknown value" in Wikidata which is tricky to handle in Python.

In SPARQL parlance, it would be tested like this:

?item wdt:P571 ?date .

FILTER isBLANK(?date) .

We're have to figure out how to best represent this while doing our data work, since a Python dateTime module is quite strict. Some research indicates that there is quite a need for this type of function of handling outliers, but there is no simple or pat solution.

(https://stackoverflow.com/questions/6697770/allowing-invalid-dates-in-python-datetime)

%%time
import logging as logger
import numpy as np

resultarray = []
for item in data['results']['bindings']:
    # Need to fill in 0 and not None for int64, or this will be cast as float64
    metid = item['metid']['value'] if 'metid' in item else 0
    inventorynumber = item['inventorynumber']['value'] if 'inventorynumber' in item else None
    il = item['itemLabel']['value'] if 'itemLabel' in item else None
    cl = item['creatorLabel']['value'] if 'creatorLabel' in item else None
    
    # Dates are weird - they are usually like +1984-01-01T00:00:00Z
    #   They may also be "unknown" with or without a start and end time
    try:
        inception = parse(item['inception']['value']) if 'inception' in item else None
    except (TypeError, ValueError):
        logger.warning('failed to parse QID %s - time %r', item['item']['value'], item['inception']['value'])
    
    resultarray.append({
        'qid': int(item['item']['value'].replace('http://www.wikidata.org/entity/Q','')),
        'metid': int(metid),
        'itemLabel': il,
        'creatorLabel': cl,
        'inception': inception,
        'inventorynumber': inventorynumber,
        }
    )

# resultarray

# Create a Pandas dataframe    
wd_metitems_df = pd.DataFrame(resultarray)

# wd_metitems_df.astype(dtype={'metid':np.int64})

wd_metitems_df.info()
WARNING:root:failed to parse QID http://www.wikidata.org/entity/Q59767196 - time 't1474270046'
WARNING:root:failed to parse QID http://www.wikidata.org/entity/Q59770772 - time 't1474270161'
WARNING:root:failed to parse QID http://www.wikidata.org/entity/Q61730536 - time 't1474270966'
WARNING:root:failed to parse QID http://www.wikidata.org/entity/Q62759189 - time 't1422068508'
WARNING:root:failed to parse QID http://www.wikidata.org/entity/Q62761150 - time 't1422068506'
WARNING:root:failed to parse QID http://www.wikidata.org/entity/Q63434597 - time 't1453233417'
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 10801 entries, 0 to 10800
Data columns (total 6 columns):
creatorLabel       9565 non-null object
inception          10416 non-null object
inventorynumber    10696 non-null object
itemLabel          10801 non-null object
metid              10801 non-null int64
qid                10801 non-null int64
dtypes: int64(2), object(4)
memory usage: 506.4+ KB
CPU times: user 904 ms, sys: 8 ms, total: 912 ms
Wall time: 907 ms

Examine some random records to check they are being imported correctly

wd_metitems_df.sample(10)
creatorLabel inception inventorynumber itemLabel metid qid
1726 Gilles-François Closson 1834-01-01 00:00:00+00:00 2009.400.21 Cluster of Trees 440327 19913505
1343 Edgar Degas 1867-01-01 00:00:00+00:00 29.100.182 Mademoiselle Marie Dihau (1843–1935) 436150 19912199
5614 Paul Cézanne 1889-01-01 00:00:00+00:00 62.45 Madame Cézanne in a Red Dress (Madame Cézanne ... 435876 20167086
1395 Jan van Goyen 1647-01-01 00:00:00+00:00 2005.331.3 A View of The Hague from the Northwest 438375 19913092
9239 anonymous 1450-01-01 00:00:00+00:00 65.124 Saint Jerome 471946 20201789
6368 Joan Miró 1949-01-01 00:00:00+00:00 1999.363.55 Women, Birds, and a Star 490010 20189931
8786 anonymous 1497-01-01 00:00:00+00:00 2010.22.2 Storing up Manna 478997 20201988
4814 Seymour Joseph Guy 1866-01-01 00:00:00+00:00 1992.128 The Contest for the Bouquet: The Family of Rob... 14472 20170511
8768 anonymous 1500-01-01 00:00:00+00:00 11.120.1 Quatrefoil Roundel with Arms and Secular Scenes 463494 20201235
6397 Stanley Spencer 1949-01-01 00:00:00+00:00 2011.375 Portrait of Hilda 498617 20197451

Met paintings in Wikidata already

Do an "inner" join that makes a new dataframe based on the Met database (met_df) but adds a new columns from the Wikidata query (wd_metitems_df) that supplies qid and Object Number/inventory number

met_paintings_in_wikidata_df = pd.merge(met_paintings_df, wd_metitems_df, how='inner', left_on='Object ID', right_on='metid')
met_paintings_in_wikidata_df[['Object Number','Object ID','qid']].count()
Object Number    5171
Object ID        5171
qid              5171
dtype: int64

Merged dataframe with Met paintings DB and Wikidata QIDs

met_paintings_in_wikidata_df[['Object Name','Object Number','Object ID','Title','Is Public Domain','itemLabel','metid','qid']].sample(10)
Object Name Object Number Object ID Title Is Public Domain itemLabel metid qid
2270 Painting 41.100.5 437255 Portrait of a Knight of Malta, Probably Fra Ja... True Portrait of a Knight of Malta 437255 19912055
1804 Painting 71.119 436599 The Grand Canal above the Rialto True The Grand Canal above the Rialto 436599 19905095
1373 Painting 45.128.12 435916 Henry II (1519–1559), King of France True Henry II (1519–1559), King of France 435916 19905407
3688 Painting 1983.253 482699 Remembrance of an Afternoon on the Way False Remembrance of an Afternoon on the Way 482699 19921097
2489 Painting 50.135.1 437510 Portrait of a Man True Portrait of a Man 437510 19911901
903 Painting 11.116.3 13108 The Harrower False The Harrower 13108 20171896
388 Painting 1979.135.1 11142 Study for Eagle Head, Manchester, Massachusetts True Study for Eagle Head, Manchester, Massachusetts 11142 20169924
1869 Painting 47.138 436689 Mrs. Whaley (died 1798, Isle of Man) True Mrs. Whaley (died 1798, Isle of Man) 436689 19912409
1461 Painting 1982.60.35 436034 Christ and the Adulteress True Christ and the Adulteress 436034 19911576
4009 Painting 1989.393 485315 The Last Parade False The Last Parade 485315 20196651

Met paintings NOT in Wikidata

Make a new dataframe that excludes all paintings that have a Met Object ID already in Wikidata (P3634), and show some sample rows

met_paintings_notin_wikidata_df = met_paintings_df[~met_paintings_df['Object ID'].isin(wd_metitems_df['metid'])]

met_paintings_notin_wikidata_df[
    ['Object Number','Object ID','Title','Artist Display Name','Medium','Classification','Is Public Domain','Object Date','Credit Line']].sample(20)
Object Number Object ID Title Artist Display Name Medium Classification Is Public Domain Object Date Credit Line
30457 29.158.750 35655 Luigi III, Prince of Venosa NaN Oil on canvas Miscellaneous-Paintings & Portraits True second quarter 17th century Bashford Dean Memorial Collection, Funds from ...
42877 1986.267.51 49466 清 虛谷 菊花 軸|Chrysanthemum Xugu (Zhu Huairen) Matted painting; ink and color on paper Paintings False dated 1890 Gift of Robert Hatfield Ellsworth, in memory o...
451936 SL.23.2017.6.4 736550 Holy Family Cristobal de Villalpando Oil on canvas over wood Paintings False ca. 1680–89 Colección Propiedad de la Nación Mexicana. Sec...
308137 Wrightsman25 438129 The Meeting of Antony and Cleopatra Giovanni Battista Tiepolo Oil on canvas Paintings False NaN Private collection
435261 SL.6.2018.6.1 710430 View of Florence from San Miniato Thomas Cole Oil on canvas Paintings False 1837 The Cleveland Museum of Art, Mr. and Mrs. Will...
414196 2015.487 679658 Guano (Palisade) Judit Reigl Oil on canvas Paintings False 1958–63 Gift of Janos Gat, 2015
469538 2018.652.1 764086 Saint Bonaventure and Saint Anthony of Padua Basilio Santa Cruz Pumacallao Oil on canvas Paintings False ca. 1670–90 Gift of James Kung Wei Li in memory of Ambassa...
32536 18.85.2 37877 NaN Sahib Ram Ink and opaque watercolor on paper Paintings True ca. 1800 Rogers Fund, 1918
64550 2008.359.48 74728 NaN NaN Ink on paper Paintings True 18th–19th century Gift of Subhash Kapoor, in memory of his paren...
346159 SL.17.2014.1.13 500397 Still Life on a Table: "Duo pour flûte" Georges Braque Oil on canvas Paintings False 1913–14 Promised Gift from the Leonard A. Lauder Cubis...
17606 SL.5.2015.11.1 21794 Wood-boatmen on a River (Western Boatmen Ashor... George Caleb Bingham Oil on canvas Paintings False 1854 Lent by Hirschl & Adler Galleries, New York
98721 80.3.682 185933 Classical design Giovanni da Udine (Giovanni dei Ricamatori) Oil on wood, chiaroscuro Paintings-Decorative True 15th–16th century Gift of Cornelius Vanderbilt, 1880
409570 2015.495 669035 Two Models with Bent Wire Chair and Kilim Rug Philip Pearlstein Oil on canvas Paintings False 1984 Gift of George H. Gerstman, in memory of Rozan...
321182 2013.1142 458644 Rustam in the Dead of Winter, 2009 Fereydoun Ave Mixed media and print on canvas Paintings False 2009 Purchase, 2011 NoRuz at The Met Benefit, 2013
422386 SL.5.2018.30.1 692333 The Miracle of Saint Aloysius Gonzaga and the ... Miguel Cabrera Oil on canvas (Óleo sobre lienzo) Paintings False 1766 Templo de Loreto, Secretaría de Cultura, Direc...
392402 SL.9.2016.17.1 644059 Self Portrait in Front of Red Curtain Max Beckmann Oil on canvas Paintings False 1923 Private collection, New York
17298 SL.13.2013.8.1 21111 Free West Indian Dominicans Agostino Brunias oil on canvas Paintings False ca. 1770 Yale Center for British Art, Paul Mellon Colle...
63192 2004.398 72571 NaN NaN Ink and opaque watercolor on paper Paintings True 18th century Cynthia Hazen Polsky and Leon B. Polsky Fund, ...
195314 1982.483.2 314562 Painting by Lunda Hoye Gill, "Asmat Chief" Lunda Hoyle Gill Canvas, paint Paper-Paintings False mid-20th century Gift of Lunda Hoyle Gill in honor of Mr. and M...
56272 2002.177 64891 NaN Stipple Master Opaque watercolor and ink on paper Paintings True ca. 1700–1710 Cynthia Hazen Polsky and Leon B. Polsky Fund, ...
met_paintings_notin_wikidata_df[['Object Name','Object Number','Object ID','Title','Is Public Domain','Credit Line']].info()
<class 'pandas.core.frame.DataFrame'>
Int64Index: 1010 entries, 409 to 490917
Data columns (total 6 columns):
Object Name         1010 non-null object
Object Number       1010 non-null object
Object ID           1010 non-null int64
Title               679 non-null object
Is Public Domain    1010 non-null bool
Credit Line         1009 non-null object
dtypes: bool(1), int64(1), object(4)
memory usage: 48.3+ KB

All Met paintings not in Wikidata yet, but have no title or artist name.

met_paintings_notin_wikidata_df[
    ['Object Number','Object ID','Title','Artist Display Name','Medium','Classification','Is Public Domain','Object Date','Credit Line']]
Object Number Object ID Title Artist Display Name Medium Classification Is Public Domain Object Date Credit Line
409 83.2.221 466 Plaque Portrait of Benjamin Franklin Louis Benjamin Huber Defeuille Ivory Paintings True 1800–1883 Gift of William H. Huntington, 1883
410 83.2.215 467 Plaque Portrait of Benjamin Franklin Jacques Thouron|Weyller Enamel Paintings False 1776–1883 Gift of William H. Huntington, 1883
411 83.2.216 468 Plaque Portrait of Benjamin Franklin Jacques Thouron Ivory Paintings False 1776–1883 Gift of William H. Huntington, 1883
412 83.2.219 469 Plaque Portrait of Benjamin Franklin Jacques Thouron Enamel Paintings False 1776–1883 Gift of William H. Huntington, 1883
413 83.2.220 470 Plaque Portrait of Benjamin Franklin NaN Probably porcelain Paintings True 1776–1883 Gift of William H. Huntington, 1883
414 83.2.232 471 Plaque Portrait of Benjamin Franklin Jean-Baptiste Nini Ivory Paintings True 1776–1883 Gift of William H. Huntington, 1883
415 83.2.235 472 Portrait of Benjamin Franklin NaN Panel Paintings True 1776–1883 Gift of William H. Huntington, 1883
416 83.2.238 473 Plaque Portrait of Benjamin Franklin NaN Ivory Paintings True 1776–1883 Gift of William H. Huntington, 1883
417 83.2.239 474 Plaque Portrait of Benjamin Franklin NaN Oil on cardboard Paintings True 1776–1883 Gift of William H. Huntington, 1883
418 83.2.250 475 Portrait of Benjamin Franklin NaN Ivory Natural Substances True 1776–1883 Gift of William H. Huntington, 1883
425 83.2.234 482 Portrait of Benjamin Franklin NaN Oil on wood Paintings True 1776–1883 Gift of William H. Huntington, 1883
426 83.2.236 483 Portrait of Benjamin Franklin NaN Panel Paintings True 1776–1883 Gift of William H. Huntington, 1883
427 83.2.233 484 Medallion of Benjamin Franklin NaN Oil on wood Paintings True 1776–1883 Gift of William H. Huntington, 1883
428 83.2.222 485 Portrait of Benjamin Franklin H. Sanford Panel Paintings True 1776–1883 Gift of William H. Huntington, 1883
429 83.2.248 486 Portrait of Benjamin Franklin NaN Canvas Paintings True 1776–1883 Gift of William H. Huntington, 1883
443 83.2.251 500 Portrait of Benjamin Franklin NaN Silk Paintings True 1800–1883 Gift of William H. Huntington, 1883
3674 83.2.96 3926 Panel of George Washington William P. Babcock Panel Paintings True 1846–83 Gift of William H. Huntington, 1883
3710 83.2.103 3963 Plaque of George Washington NaN Porcelain Paintings True 1800–30 Gift of William H. Huntington, 1883
3715 83.2.107 3970 Plaque of George Washington Gilbert Stuart Painted glass Paintings True 1776–1830 Gift of William H. Huntington, 1883
3716 83.2.102 3971 Portrait of George Washington NaN Oil on wood Paintings True 1800–30 Gift of William H. Huntington, 1883
5519 83.2.105 5896 Plaque of George Washington NaN Enamel Paintings True 1770–1800 Gift of William H. Huntington, 1883
9357 83.2.237 10083 Portrait of Benjamin Franklin William P. Babcock Oil on wood Paintings True ca. 1870–80 (?) Gift of William H. Huntington, 1883
9358 83.2.337 10084 Portrait of the Marquis de Lafayette William P. Babcock|Jules Guerin|Louis Philiber... Oil on wood Paintings True 1850–80 Gift of William H. Huntington, 1883
11849 24.109.113 12873 Commodore Hopkins NaN Oil on glass Paintings True 1776 Bequest of Charles Allen Munn, 1924
11865 24.109.115 12895 George Washington NaN Oil on glass Paintings True 1797 Bequest of Charles Allen Munn, 1924
11868 24.109.114 12899 George Washington NaN Oil on glass Paintings True 1775 Bequest of Charles Allen Munn, 1924
11870 53.179.18 12902 Harbor Scene NaN Oil on glass Paintings True ca. 1790 Gift of Mrs. Screven Lorillard, 1953
11886 24.109.116 12920 John Hancock NaN Oil on glass Paintings True 1770–1800 Bequest of Charles Allen Munn, 1924
11893 39.58 12928 Liberty Chinese Painter Oil on glass Paintings True ca. 1800 Rogers Fund, 1939
11894 46.67.85 12929 Liberty NaN verre églomisé Glass True Ca. 1800 Gift of the Members of the Committee of the Be...
... ... ... ... ... ... ... ... ... ...
470558 SL.4.2019.12.1 765522 Promenade et tours d’enceinte du palais de l’A... Joseph-Philibert Girault de Prangey Oil on canvas Paintings False 1833 Musée d’Art et d’Histoire, Langres
472073 2017.646 767842 Prince Holding a Falcon NaN Oil on canvas Paintings False ca 1820 Purchase, 2017 NoRuz at The Met Benefit, 2017
472552 2018.6 768547 The Wood Sawyer Charles E. Weir Oil on board Paintings False 1842 Maria DeWitt Jesup Fund, 2018
473153 2017.651 769294 The Adoration of the Shepherds Girolamo da Carpi (Girolamo Sellari) Oil on wood Paintings True ca. 1535–40 Gift of Maurizio and Dominique Canesso, in hon...
473154 2017.422 769297 Pope Clement X (1590–1676) Giovanni Battista Gaulli (Il Baciccio) Oil on canvas Paintings True ca. 1670–71 Purchase, Friends of European Paintings Gifts,...
473482 2018.87 770595 The Crucifixion Stefano da Verona (Stefano di Giovanni d'Arbos... Tempera on wood, gold ground Paintings True ca. 1400 Purchase, Álvaro Saieh Bendeck Gift; Gwynne An...
473886 SL.6.2018.34.2 771257 Temple of Venus and Roma, Roman Forum Thomas Cole Oil on paper, mounted on board Paintings False ca. 1832 Collection of Richard Sharp
474067 2017.680.9 771516 The Story of the Queen of Sheba NaN Tempera on canvas Paintings-Canvas False 20th century Gift of Ellen L. Stern, 2017
481146 2018.280 780292 The Hall of Antiquities at Charlottenborg Pala... Adam August Müller Oil on canvas Paintings True 1830 Purchase, Friends of European Paintings Gifts,...
483014 2018.289.1 782303 Imaginary View with a Tomb by the Lagoon Canaletto (Giovanni Antonio Canal) Oil on canvas Paintings True early 1740s Gift of the Eugene V. and Clare E. Thaw Charit...
483015 2018.289.2 782304 Young Woman with Her Hand over Her Mouth Edgar Degas Oil colors freely mixed with turpentine on canvas Paintings True ca. 1875 Gift of the Eugene V. and Clare E. Thaw Charit...
483016 2018.289.3 782305 A Bedroom in Bernstorff Palace near Copenhagen Johan Vilhelm Gertner Oil on canvas Paintings True ca. 1845 Gift of the Eugene V. and Clare E. Thaw Charit...
483017 2018.289.4 782306 A Deerhound Sir Edwin Henry Landseer Oil on board Paintings True 1826 Gift of the Eugene V. and Clare E. Thaw Charit...
483018 2018.289.5 782307 Dying Stag Sir Edwin Henry Landseer Oil on canvas Paintings True ca. 1830 Gift of the Eugene V. and Clare E. Thaw Charit...
483019 2018.289.6 782308 Salome with the Head of John the Baptist Gustave Moreau Oil on wood Paintings True ca. 1876 Gift of the Eugene V. and Clare E. Thaw Charit...
484099 2018.933.32 785222 Robert W. de Forest John Christen Johansen Oil on canvas Paintings False 1928 Gift of Page Williams Dwyer, 2018
484350 SL.5.2018.16.11 785525 The Elevation of the Cross (Elevación de la cruz) Antonio de Torres Oil on canvas (Óleo sobre lienzo) Paintings False 1718 Los Angeles County Museum of Art, Gift of the ...
484651 2018.852 786045 NaN Wang Jiqian (C. C. Wang) 王季遷 Ink and color on paper Paintings False Undated, ca. 1949–55 NaN
485626 2018.749 788905 Schloss Milkel in Moonlight Carl Gustav Carus Oil on canvas Paintings True ca. 1833–35 Purchase, Fern and George Wachter Gift, 2018
487206 2019.55 812505 Interior view of the Hoentschel Collection at ... Léopold Stevens|Alfred Émile Stevens Oil on canvas; mounted on a carved wood stretc... Paintings True ca. 1903-06 Purchase, The James Parker Charitable Foundati...
488010 2018.501.1 813585 Eagle of Delight, Hayne Hudjihini Henry Inman Oil on canvas Paintings False 1832–33 Gift of Gerald and Kathleen Peters, 2018
488019 2018.501.2 813594 Pes-Ke-Le-Cha-Co Henry Inman Oil on canvas Paintings False 1832–33 Gerald and Kathleen Peters, 2018
488777 SL.26.2018.1.1 814642 NaN Master at the Court of Mankot Opaque watercolor and gold on paper Paintings False 1680–1730 Lent by Steven Kossak, The Kronos Collections
488968 2018.750 814897 NaN NaN Distemper and gold on cloth Paintings False Early 20th century Purchase, Nancy Fessenden Gift, 2018
489115 2019.48 815112 Little Denise (Denise Maréchal, later Madame G... Theo Van Rysselberghe Oil on canvas Paintings True 1889 Purchase, Bequest of Milena Jurzykowski, by ex...
489909 2019.8 816789 Sky – Northern Cuba Charles Dewolf Brownell Oil on academy board Paintings False ca. 1853–66 Maria DeWitt Jesup Fund, 2019
489910 2019.9 816791 Yugo, San Martin, Cuba Charles Dewolf Brownell Oil on academy board Paintings False ca. 1853–66 Maria DeWitt Jesup Fund, 2019
490199 EP Mola 817124 Cain Slaying Abel Pier Francesco Mola Oil on canvas Paintings False ca. 1650–52 Promised Gift of Alan M. May, in memory of his...
490343 2019.21 817504 Portrait of a Boy Louis Léopold Boilly Oil on canvas Paintings True ca. 1805 Gift of the Eugene V. and Clare E. Thaw Charit...
490917 2019.73 818842 Battle of Kerbala Abdallah Musavvvar Oil on canvas Paintings-Canvas False late 19th–early 20th century Purchase, 2012 and 2017 NoRuz at The Met Benef...

1010 rows × 9 columns

met_paintings_notin_wikidata_df[
    ['Object Number','Object ID','Title','Artist Display Name','Medium','Credit Line','Is Public Domain']][
        (met_paintings_notin_wikidata_df['Title'].isnull()) & 
        (met_paintings_notin_wikidata_df['Artist Display Name'].isnull())]
Object Number Object ID Title Artist Display Name Medium Credit Line Is Public Domain
32456 1984.496.34a, b 37793 NaN NaN Ink and distemper on wood Gift of Marie-Hélène and Guy Weill, 1984 True
32463 1985.390.3 37800 NaN NaN Gold, ink, and color on cloth Gift of Margery and Harry Kahn, 1985 True
32473 1989.236.3 37811 NaN NaN Ink, opaque watercolor, and gold on paper Gift of Doris Rubin, in memory of Harry Rubin,... True
32481 38.103 37819 NaN NaN Color on paper Fletcher Fund, 1938 True
32491 31.128.1 37832 NaN NaN Distemper on cloth Gift of Mrs. Robert W. de Forest, 1931 True
32494 1984.496.33a 37835 NaN NaN Opaque watercolor on wood Gift of Marie-Hélène and Guy Weill, 1984 True
32514 1975.410.1 37855 NaN NaN Ink and opaque watercolor on paper Gift of Mr. and Mrs. Ed Wiener, 1975 True
32515 57.51.10 37856 NaN NaN Ink, opaque watercolor, and gilt on paper Bequest of Cora Timken Burnett, 1956 True
32526 1977.444.3 37867 NaN NaN Ink and opaque watercolor on paper Gift of Mr. and Mrs. Uzi Zucker, 1977 True
32527 1977.444.4 37868 NaN NaN Ink and opaque watercolor on paper Gift of Mr. and Mrs. Uzi Zucker, 1977 True
32532 58.1.9 37873 NaN NaN Ink and opaque watercolor on paper Rogers Fund, 1958 True
32535 1987.424.15 37876 NaN NaN Ink, opaque watercolor, and silver on paper Gift of Cynthia Hazen Polsky, 1987 True
32537 34.89 37878 NaN NaN Ink and opaque watercolor on paper, pricked fo... Fletcher Fund, 1934 True
32539 1985.398.15 37880 NaN NaN Ink and opaque watercolor on paper Gift of Cynthia Hazen Polsky, 1985 True
32557 1977.440.13 37898 NaN NaN Ink and opaque watercolor on paper Gift of Daniel J. Slott, 1977 True
32572 1982.462.5 37913 NaN NaN Ink and opaque watercolor on paper Gift of John and Evelyn Kossak, The Kronos Col... True
32573 1983.508 37914 NaN NaN Ink and opaque watercolor on paper Gift of Mary G. Hamilton, 1983 True
32574 1983.513 37915 NaN NaN Ink and opaque watercolor on paper Gift of Charles and Carol E. Hamilton, 1983, True
32575 1984.23 37916 NaN NaN Ink and opaque watercolor on paper Gift of Charles A. Hamilton, 1984 True
32581 1977.440.1 37922 NaN NaN Ink and opaque watercolor on paper\r\n Gift of Daniel J. Slott, 1977 True
32583 1977.440.8a, b 37924 NaN NaN Ink and opaque watercolor on paper Gift of Daniel J. Slott, 1977 True
32585 1983.557.1 37926 NaN NaN Ink, gold and opaque watercolor on paper Gift of Mr. and Mrs. Michael Oliver, 1983 True
32586 1977.440.14 37927 NaN NaN Ink and opaque watercolor on paper Gift of Daniel J. Slott, 1977 True
32587 1977.440.15 37928 NaN NaN Ink and opaque watercolor on paper\r\n Gift of Daniel J. Slott, 1977 True
32604 58.1.3 37945 NaN NaN Ink and opaque watercolor on paper Rogers Fund, 1953 True
32617 1985.398.13 37959 NaN NaN Ink and opaque watercolor on paper Gift of Cynthia Hazen Polsky, 1985 True
32618 57.70.6 37960 NaN NaN Ink and opaque watercolor on cloth Gift of Edward M. Bratter, 1957 True
32626 1991.94 37968 NaN NaN Ink, opaque watercolor, and gold on paper Purchase, Mr. and Mrs. John Wiley and Cynthia ... True
32628 1991.152 37970 NaN NaN Distemper on cloth Purchase, Friends of Asian Art Gifts, 1991 True
32629 1991.304 37971 NaN NaN Distemper on cloth Purchase, Miriam and Ira D. Wallach Philanthro... True
... ... ... ... ... ... ... ...
64518 2008.359.16 74668 NaN NaN Ink and translucent watercolor on paper Gift of Subhash Kapoor, in memory of his paren... True
64519 2008.359.17 74669 NaN NaN Ink and translucent watercolor on paper Gift of Subhash Kapoor, in memory of his paren... True
64521 2008.359.19 74671 NaN NaN Ink and translucent watercolor on paper Gift of Subhash Kapoor, in memory of his paren... True
64523 2008.359.21 74673 NaN NaN Ink and opaque watercolor on paper Gift of Subhash Kapoor, in memory of his paren... True
64527 2008.359.25 74679 NaN NaN Ink on paper Gift of Subhash Kapoor, in memory of his paren... True
64528 2008.359.26 74680 NaN NaN Ink and wash on paper Gift of Subhash Kapoor, in memory of his paren... True
64529 2008.359.27 74681 NaN NaN Ink and wash on paper Gift of Subhash Kapoor, in memory of his paren... True
64536 2008.359.34 74691 NaN NaN Ink, wash ,and translucent watercolor on paper Gift of Subhash Kapoor, in memory of his paren... True
64537 2008.359.35 74692 NaN NaN Ink and wash on paper Gift of Subhash Kapoor, in memory of his paren... True
64538 2008.359.36 74696 NaN NaN Ink, opaque and translucent watercolor on paper Gift of Subhash Kapoor, in memory of his paren... True
64539 2008.359.37 74698 NaN NaN Ink, transparent, and translucent watercolor o... Gift of Subhash Kapoor, in memory of his paren... True
64540 2008.359.38 74701 NaN NaN Ink on paper Gift of Subhash Kapoor, in memory of his paren... True
64541 2008.359.39 74705 NaN NaN Ink, wash, and opaque watercolor on paper Gift of Subhash Kapoor, in memory of his paren... True
64543 2008.359.41 74710 NaN NaN Ink, tinted wash, and opaque watercolor on paper Gift of Subhash Kapoor, in memory of his paren... True
64544 2008.359.42 74715 NaN NaN Ink on paper Gift of Subhash Kapoor, in memory of his paren... True
64546 2008.359.44 74719 NaN NaN Ink and transparent watercolor on paper Gift of Subhash Kapoor, in memory of his paren... True
64547 2008.359.45 74721 NaN NaN Ink, wash, and translucent watercolor on paper Gift of Subhash Kapoor, in memory of his paren... True
64548 2008.359.46 74725 NaN NaN Ink and wash on paper Gift of Subhash Kapoor, in memory of his paren... True
64549 2008.359.47 74726 NaN NaN Red ochre on paper Gift of Subhash Kapoor, in memory of his paren... True
64550 2008.359.48 74728 NaN NaN Ink on paper Gift of Subhash Kapoor, in memory of his paren... True
64552 2008.359.50 74730 NaN NaN Ink on paper Gift of Subhash Kapoor, in memory of his paren... True
64553 2008.359.51 74733 NaN NaN Ink and light wash on paper Gift of Subhash Kapoor, in memory of his paren... True
64557 2008.359.55 74743 NaN NaN Ink and transparent watercolor on paper Gift of Subhash Kapoor, in memory of his paren... True
64558 2008.359.56 74744 NaN NaN Ink, transparent and opaque watercolor on paper Gift of Subhash Kapoor, in memory of his paren... True
64561 2008.359.1 74752 NaN NaN Ink and wash on paper Gift of Subhash Kapoor, in memory of his paren... True
64562 2008.359.2 74753 NaN NaN Ink and opaque watercolor on paper Gift of Subhash Kapoor, in memory of his paren... True
64614 1984.496.33b 74883 NaN NaN Opaque watercolor on wood Gift of Marie-Hélène and Guy Weill, 1984 True
64904 2008.646a, b 75235 NaN NaN Ink and opaque watercolor on paper Gift of Wayne and Nancy Hunnicutt, 2008 True
64971 2010.475.8a, b 75411 NaN NaN Wood with polychrome Gift of Barry Fernando, M.D. and Coleene Ferna... True
488968 2018.750 814897 NaN NaN Distemper and gold on cloth Purchase, Nancy Fessenden Gift, 2018 False

118 rows × 7 columns

met_paintings_notin_wikidata_df['Is Public Domain'].value_counts().plot.pie()
<matplotlib.axes._subplots.AxesSubplot at 0x7fbdab3f65f8>