{ "cells": [ { "cell_type": "code", "execution_count": 1, "id": "71b79ec6", "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "try:\n", " import IPython\n", "except:\n", " %pip install IPython\n", " import IPython \n", "from IPython.display import display, IFrame, HTML, Javascript\n", "from IPython.core.display import display, HTML\n", "\n", "HTML(\"\"\"\"\"\")" ] }, { "cell_type": "markdown", "id": "61a1bfb5", "metadata": {}, "source": [ "# Collections Data to Linked Art \n", "# Ashmolean Museum, Oxford, UK\n", "\n", "This notebook provides a guided step through the process of transforming Cultural Heritage collections data to Linked Art JSON-LD.\n", "\n", "The Ashmolean Museum in Oxford, UK holds many artworks by the artist John Ruskin. At present, to retrieve collection data for the artworks it was necessary to screenscrape the web pages for the artworks. This was achieved with the Python library `BeautifulSoup`. From the documentation:\n", "\n", "
\n", "Beautiful Soup is a Python library for pulling data out of HTML and XML files. It works with your favorite parser to provide idiomatic ways of navigating, searching, and modifying the parse tree. \n", "
\n", " \n", " \n", "The HTML was derived from a collections search via https://collections.ashmolean.org/collection/search with the HTML page saved locally to a [data file]( ./data/ashmolean/ash.html).\n", "\n", "#### Further Reading\n", "\n", "- [BeautifulSoup Python library](https://www.crummy.com/software/BeautifulSoup/bs4/doc/)\n", "- [Ashmolean Museum Collection search](https://collections.ashmolean.org/collection/search)\n", "- [Ruskin search as HTML file](./data/ashmolean/ash.html)\n", "- [Ashmolean Museum](https://ashmolean.web.ox.ac.uk/)" ] }, { "cell_type": "code", "execution_count": 5, "id": "7def2683", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "'The Tower of Gloucester Cathedral'" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
classificationhomepageidtitlecreatoraccession_numberimage_urldate_createdcurrent_ownerdate_created_earliestdate_created_latest
0https://collections.ashmolean.org/collection/b...159710The Tower of Gloucester Cathedral{'id': 'https://collections.ashmolean.org/coll...WA.RS.RUD.087https://collections.ashmolean.org/media/ashmol...1832NaN18321832
\n", "
" ], "text/plain": [ " classification homepage id \\\n", "0 https://collections.ashmolean.org/collection/b... 159710 \n", "\n", " title \\\n", "0 The Tower of Gloucester Cathedral \n", "\n", " creator accession_number \\\n", "0 {'id': 'https://collections.ashmolean.org/coll... WA.RS.RUD.087 \n", "\n", " image_url date_created \\\n", "0 https://collections.ashmolean.org/media/ashmol... 1832 \n", "\n", " current_owner date_created_earliest date_created_latest \n", "0 NaN 1832 1832 " ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "'Near Bassano, Brenner'" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
classificationhomepageidtitlecreatoraccession_numberimage_urldate_createdcurrent_ownerdate_created_earliestdate_created_latest
0https://collections.ashmolean.org/collection/b.../48683Near Bassano, Brenner{'id': 'https://collections.ashmolean.org/coll...WA1949.253https://collections.ashmolean.org/media/ashmol...1835NaN18351835
\n", "
" ], "text/plain": [ " classification homepage id \\\n", "0 https://collections.ashmolean.org/collection/b... /48683 \n", "\n", " title creator \\\n", "0 Near Bassano, Brenner {'id': 'https://collections.ashmolean.org/coll... \n", "\n", " accession_number image_url \\\n", "0 WA1949.253 https://collections.ashmolean.org/media/ashmol... \n", "\n", " date_created current_owner date_created_earliest date_created_latest \n", "0 1835 NaN 1835 1835 " ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "'Bergamo and the Alps, from the road to Brescia'" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
classificationhomepageidtitlecreatoraccession_numberimage_urldate_createdcurrent_ownerdate_created_earliestdate_created_latest
0https://collections.ashmolean.org/collection/b.../48682Bergamo and the Alps, from the road to Brescia{'id': 'https://collections.ashmolean.org/coll...WA1949.252https://collections.ashmolean.org/media/ashmol...1835NaN18351835
\n", "
" ], "text/plain": [ " classification homepage id \\\n", "0 https://collections.ashmolean.org/collection/b... /48682 \n", "\n", " title \\\n", "0 Bergamo and the Alps, from the road to Brescia \n", "\n", " creator accession_number \\\n", "0 {'id': 'https://collections.ashmolean.org/coll... WA1949.252 \n", "\n", " image_url date_created \\\n", "0 https://collections.ashmolean.org/media/ashmol... 1835 \n", "\n", " current_owner date_created_earliest date_created_latest \n", "0 NaN 1835 1835 " ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "'Bellagio, Lago di Como'" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
classificationhomepageidtitlecreatoraccession_numberimage_urldate_createdcurrent_ownerdate_created_earliestdate_created_latest
0https://collections.ashmolean.org/collection/b.../48685Bellagio, Lago di Como{'id': 'https://collections.ashmolean.org/coll...WA1949.255https://collections.ashmolean.org/media/ashmol...1835NaN18351835
\n", "
" ], "text/plain": [ " classification homepage id \\\n", "0 https://collections.ashmolean.org/collection/b... /48685 \n", "\n", " title creator \\\n", "0 Bellagio, Lago di Como {'id': 'https://collections.ashmolean.org/coll... \n", "\n", " accession_number image_url \\\n", "0 WA1949.255 https://collections.ashmolean.org/media/ashmol... \n", "\n", " date_created current_owner date_created_earliest date_created_latest \n", "0 1835 NaN 1835 1835 " ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "'End of the Lake of Lecco'" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
classificationhomepageidtitlecreatoraccession_numberimage_urldate_createdcurrent_ownerdate_created_earliestdate_created_latest
0https://collections.ashmolean.org/collection/b.../48684End of the Lake of Lecco{'id': 'https://collections.ashmolean.org/coll...WA1949.254https://collections.ashmolean.org/media/ashmol...1835NaN18351835
\n", "
" ], "text/plain": [ " classification homepage id \\\n", "0 https://collections.ashmolean.org/collection/b... /48684 \n", "\n", " title \\\n", "0 End of the Lake of Lecco \n", "\n", " creator accession_number \\\n", "0 {'id': 'https://collections.ashmolean.org/coll... WA1949.254 \n", "\n", " image_url date_created \\\n", "0 https://collections.ashmolean.org/media/ashmol... 1835 \n", "\n", " current_owner date_created_earliest date_created_latest \n", "0 NaN 1835 1835 " ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "'Axmouth Landslip from Dolands Farm'" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
classificationhomepageidtitlecreatoraccession_numberimage_urldate_createdcurrent_ownerdate_created_earliestdate_created_latest
0https://collections.ashmolean.org/collection/b...125702Axmouth Landslip from Dolands Farm{'id': 'https://collections.ashmolean.org/coll...WA2000.86https://collections.ashmolean.org/media/ashmol...c. 1839NaN18391839
\n", "
" ], "text/plain": [ " classification homepage id \\\n", "0 https://collections.ashmolean.org/collection/b... 125702 \n", "\n", " title \\\n", "0 Axmouth Landslip from Dolands Farm \n", "\n", " creator accession_number \\\n", "0 {'id': 'https://collections.ashmolean.org/coll... WA2000.86 \n", "\n", " image_url date_created \\\n", "0 https://collections.ashmolean.org/media/ashmol... c. 1839 \n", "\n", " current_owner date_created_earliest date_created_latest \n", "0 NaN 1839 1839 " ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "'Study for Detail of the Piazza delle Erbe, Verona'" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
classificationhomepageidtitlecreatoraccession_numberimage_urldate_createdcurrent_ownerdate_created_earliestdate_created_latest
0https://collections.ashmolean.org/collection/b...159601Study for Detail of the Piazza delle Erbe, Verona{'id': 'https://collections.ashmolean.org/coll...WA.RS.REF.062https://collections.ashmolean.org/media/ashmol...19 May 1841NaN18411841
\n", "
" ], "text/plain": [ " classification homepage id \\\n", "0 https://collections.ashmolean.org/collection/b... 159601 \n", "\n", " title \\\n", "0 Study for Detail of the Piazza delle Erbe, Verona \n", "\n", " creator accession_number \\\n", "0 {'id': 'https://collections.ashmolean.org/coll... WA.RS.REF.062 \n", "\n", " image_url date_created \\\n", "0 https://collections.ashmolean.org/media/ashmol... 19 May 1841 \n", "\n", " current_owner date_created_earliest date_created_latest \n", "0 NaN 1841 1841 " ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "'The Palazzo Contarini-Fasan, Venice'" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
classificationhomepageidtitlecreatoraccession_numberimage_urldate_createdcurrent_ownerdate_created_earliestdate_created_latest
0https://collections.ashmolean.org/collection/b...159604The Palazzo Contarini-Fasan, Venice{'id': 'https://collections.ashmolean.org/coll...WA.RS.REF.065https://collections.ashmolean.org/media/ashmol...6 - 16 May 1841NaN18411841
\n", "
" ], "text/plain": [ " classification homepage id \\\n", "0 https://collections.ashmolean.org/collection/b... 159604 \n", "\n", " title \\\n", "0 The Palazzo Contarini-Fasan, Venice \n", "\n", " creator accession_number \\\n", "0 {'id': 'https://collections.ashmolean.org/coll... WA.RS.REF.065 \n", "\n", " image_url date_created \\\n", "0 https://collections.ashmolean.org/media/ashmol... 6 - 16 May 1841 \n", "\n", " current_owner date_created_earliest date_created_latest \n", "0 NaN 1841 1841 " ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "'Outline of Leaves of Oak, touched with Colour'" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
classificationhomepageidtitlecreatoraccession_numberimage_urldate_createdcurrent_ownerdate_created_earliestdate_created_latest
0https://collections.ashmolean.org/collection/b...159452Outline of Leaves of Oak, touched with Colour{'id': 'https://collections.ashmolean.org/coll...WA.RS.ED.253.ahttps://collections.ashmolean.org/media/ashmol...1842 - 1844NaN18421844
\n", "
" ], "text/plain": [ " classification homepage id \\\n", "0 https://collections.ashmolean.org/collection/b... 159452 \n", "\n", " title \\\n", "0 Outline of Leaves of Oak, touched with Colour \n", "\n", " creator accession_number \\\n", "0 {'id': 'https://collections.ashmolean.org/coll... WA.RS.ED.253.a \n", "\n", " image_url date_created \\\n", "0 https://collections.ashmolean.org/media/ashmol... 1842 - 1844 \n", "\n", " current_owner date_created_earliest date_created_latest \n", "0 NaN 1842 1844 " ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "'Quick Study of Leaf Contour: Bramble'" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
classificationhomepageidtitlecreatoraccession_numberimage_urldate_createdcurrent_ownerdate_created_earliestdate_created_latest
0https://collections.ashmolean.org/collection/b...159803Quick Study of Leaf Contour: Bramble{'id': 'https://collections.ashmolean.org/coll...WA.RS.RUD.280https://collections.ashmolean.org/media/ashmol...probably 1843NaN18431843
\n", "
" ], "text/plain": [ " classification homepage id \\\n", "0 https://collections.ashmolean.org/collection/b... 159803 \n", "\n", " title \\\n", "0 Quick Study of Leaf Contour: Bramble \n", "\n", " creator accession_number \\\n", "0 {'id': 'https://collections.ashmolean.org/coll... WA.RS.RUD.280 \n", "\n", " image_url date_created \\\n", "0 https://collections.ashmolean.org/media/ashmol... probably 1843 \n", "\n", " current_owner date_created_earliest date_created_latest \n", "0 NaN 1843 1843 " ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "'Leaf Contour: Laburnum'" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
classificationhomepageidtitlecreatoraccession_numberimage_urldate_createdcurrent_ownerdate_created_earliestdate_created_latest
0https://collections.ashmolean.org/collection/b...159804Leaf Contour: Laburnum{'id': 'https://collections.ashmolean.org/coll...WA.RS.RUD.281https://collections.ashmolean.org/media/ashmol...probably 1843NaN18431843
\n", "
" ], "text/plain": [ " classification homepage id \\\n", "0 https://collections.ashmolean.org/collection/b... 159804 \n", "\n", " title creator \\\n", "0 Leaf Contour: Laburnum {'id': 'https://collections.ashmolean.org/coll... \n", "\n", " accession_number image_url \\\n", "0 WA.RS.RUD.281 https://collections.ashmolean.org/media/ashmol... \n", "\n", " date_created current_owner date_created_earliest date_created_latest \n", "0 probably 1843 NaN 1843 1843 " ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "'Stone Pines at Sestri, Gulf of Genoa'" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
classificationhomepageidtitlecreatoraccession_numberimage_urldate_createdcurrent_ownerdate_created_earliestdate_created_latest
0https://collections.ashmolean.org/collection/b...159365Stone Pines at Sestri, Gulf of Genoa{'id': 'https://collections.ashmolean.org/coll...WA.RS.ED.022https://collections.ashmolean.org/media/ashmol...30 April 1845NaN18451845
\n", "
" ], "text/plain": [ " classification homepage id \\\n", "0 https://collections.ashmolean.org/collection/b... 159365 \n", "\n", " title \\\n", "0 Stone Pines at Sestri, Gulf of Genoa \n", "\n", " creator accession_number \\\n", "0 {'id': 'https://collections.ashmolean.org/coll... WA.RS.ED.022 \n", "\n", " image_url date_created \\\n", "0 https://collections.ashmolean.org/media/ashmol... 30 April 1845 \n", "\n", " current_owner date_created_earliest date_created_latest \n", "0 NaN 1845 1845 " ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "'Part of the Façade of the destroyed Church of San Michele in Foro, Lucca, as it appeared in 1845'" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
classificationhomepageidtitlecreatoraccession_numberimage_urldate_createdcurrent_ownerdate_created_earliestdate_created_latest
0https://collections.ashmolean.org/collection/b...159407Part of the Façade of the destroyed Church of ...{'id': 'https://collections.ashmolean.org/coll...WA.RS.ED.083https://collections.ashmolean.org/media/ashmol...May 1845NaN18451845
\n", "
" ], "text/plain": [ " classification homepage id \\\n", "0 https://collections.ashmolean.org/collection/b... 159407 \n", "\n", " title \\\n", "0 Part of the Façade of the destroyed Church of ... \n", "\n", " creator accession_number \\\n", "0 {'id': 'https://collections.ashmolean.org/coll... WA.RS.ED.083 \n", "\n", " image_url date_created \\\n", "0 https://collections.ashmolean.org/media/ashmol... May 1845 \n", "\n", " current_owner date_created_earliest date_created_latest \n", "0 NaN 1845 1845 " ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "'Rough Sketch of Tree Growth: Macugnaga'" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
classificationhomepageidtitlecreatoraccession_numberimage_urldate_createdcurrent_ownerdate_created_earliestdate_created_latest
0https://collections.ashmolean.org/collection/b...159476Rough Sketch of Tree Growth: Macugnaga{'id': 'https://collections.ashmolean.org/coll...WA.RS.RUD.296.ahttps://collections.ashmolean.org/media/ashmol...4 August 1845NaN18451845
\n", "
" ], "text/plain": [ " classification homepage id \\\n", "0 https://collections.ashmolean.org/collection/b... 159476 \n", "\n", " title \\\n", "0 Rough Sketch of Tree Growth: Macugnaga \n", "\n", " creator accession_number \\\n", "0 {'id': 'https://collections.ashmolean.org/coll... WA.RS.RUD.296.a \n", "\n", " image_url date_created \\\n", "0 https://collections.ashmolean.org/media/ashmol... 4 August 1845 \n", "\n", " current_owner date_created_earliest date_created_latest \n", "0 NaN 1845 1845 " ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "\"Drawing of the Background of Raphael's 'Virgin and Child with the Infant Saint John' (The 'Madonna del Cardellino')\"" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
classificationhomepageidtitlecreatoraccession_numberimage_urldate_createdcurrent_ownerdate_created_earliestdate_created_latest
0https://collections.ashmolean.org/collection/b...159572Drawing of the Background of Raphael's 'Virgin...{'id': 'https://collections.ashmolean.org/coll...WA.RS.ED.269https://collections.ashmolean.org/media/ashmol...probably June 1845NaN18451845
\n", "
" ], "text/plain": [ " classification homepage id \\\n", "0 https://collections.ashmolean.org/collection/b... 159572 \n", "\n", " title \\\n", "0 Drawing of the Background of Raphael's 'Virgin... \n", "\n", " creator accession_number \\\n", "0 {'id': 'https://collections.ashmolean.org/coll... WA.RS.ED.269 \n", "\n", " image_url date_created \\\n", "0 https://collections.ashmolean.org/media/ashmol... probably June 1845 \n", "\n", " current_owner date_created_earliest date_created_latest \n", "0 NaN 1845 1845 " ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "'Study of the Marble Inlaying on the Front of the Casa Loredan, Venice'" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
classificationhomepageidtitlecreatoraccession_numberimage_urldate_createdcurrent_ownerdate_created_earliestdate_created_latest
0https://collections.ashmolean.org/collection/b...159660Study of the Marble Inlaying on the Front of t...{'id': 'https://collections.ashmolean.org/coll...WA.RS.RUD.022https://collections.ashmolean.org/media/ashmol...September - October 1845NaN18451845
\n", "
" ], "text/plain": [ " classification homepage id \\\n", "0 https://collections.ashmolean.org/collection/b... 159660 \n", "\n", " title \\\n", "0 Study of the Marble Inlaying on the Front of t... \n", "\n", " creator accession_number \\\n", "0 {'id': 'https://collections.ashmolean.org/coll... WA.RS.RUD.022 \n", "\n", " image_url \\\n", "0 https://collections.ashmolean.org/media/ashmol... \n", "\n", " date_created current_owner date_created_earliest \\\n", "0 September - October 1845 NaN 1845 \n", "\n", " date_created_latest \n", "0 1845 " ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "'The Gryphon bearing the south Shaft of the west Entrance of the Duomo, Verona'" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
classificationhomepageidtitlecreatoraccession_numberimage_urldate_createdcurrent_ownerdate_created_earliestdate_created_latest
0https://collections.ashmolean.org/collection/b...159405The Gryphon bearing the south Shaft of the wes...{'id': 'https://collections.ashmolean.org/coll...WA.RS.ED.081https://collections.ashmolean.org/media/ashmol...11 May 1846NaN18461846
\n", "
" ], "text/plain": [ " classification homepage id \\\n", "0 https://collections.ashmolean.org/collection/b... 159405 \n", "\n", " title \\\n", "0 The Gryphon bearing the south Shaft of the wes... \n", "\n", " creator accession_number \\\n", "0 {'id': 'https://collections.ashmolean.org/coll... WA.RS.ED.081 \n", "\n", " image_url date_created \\\n", "0 https://collections.ashmolean.org/media/ashmol... 11 May 1846 \n", "\n", " current_owner date_created_earliest date_created_latest \n", "0 NaN 1846 1846 " ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "'Part of the Façade of the destroyed Church of San Michele in Foro, Lucca, sketched in colour'" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
classificationhomepageidtitlecreatoraccession_numberimage_urldate_createdcurrent_ownerdate_created_earliestdate_created_latest
0https://collections.ashmolean.org/collection/b...159408Part of the Façade of the destroyed Church of ...{'id': 'https://collections.ashmolean.org/coll...WA.RS.ED.084https://collections.ashmolean.org/media/ashmol...30 June - 1 July 1846NaN18461846
\n", "
" ], "text/plain": [ " classification homepage id \\\n", "0 https://collections.ashmolean.org/collection/b... 159408 \n", "\n", " title \\\n", "0 Part of the Façade of the destroyed Church of ... \n", "\n", " creator accession_number \\\n", "0 {'id': 'https://collections.ashmolean.org/coll... WA.RS.ED.084 \n", "\n", " image_url date_created \\\n", "0 https://collections.ashmolean.org/media/ashmol... 30 June - 1 July 1846 \n", "\n", " current_owner date_created_earliest date_created_latest \n", "0 NaN 1846 1846 " ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "'Lateral View of the Façade San Michele in Foro, Lucca'" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
classificationhomepageidtitlecreatoraccession_numberimage_urldate_createdcurrent_ownerdate_created_earliestdate_created_latest
0https://collections.ashmolean.org/collection/b...159409Lateral View of the Façade San Michele in Foro...{'id': 'https://collections.ashmolean.org/coll...WA.RS.ED.085https://collections.ashmolean.org/media/ashmol...30 June - 1 July 1846NaN18461846
\n", "
" ], "text/plain": [ " classification homepage id \\\n", "0 https://collections.ashmolean.org/collection/b... 159409 \n", "\n", " title \\\n", "0 Lateral View of the Façade San Michele in Foro... \n", "\n", " creator accession_number \\\n", "0 {'id': 'https://collections.ashmolean.org/coll... WA.RS.ED.085 \n", "\n", " image_url date_created \\\n", "0 https://collections.ashmolean.org/media/ashmol... 30 June - 1 July 1846 \n", "\n", " current_owner date_created_earliest date_created_latest \n", "0 NaN 1846 1846 " ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "'The Sculpture of a Dragon filling a Quatrefoil on the North Entrance of Rouen Cathedral'" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
classificationhomepageidtitlecreatoraccession_numberimage_urldate_createdcurrent_ownerdate_created_earliestdate_created_latest
0https://collections.ashmolean.org/collection/b...159671The Sculpture of a Dragon filling a Quatrefoil...{'id': 'https://collections.ashmolean.org/coll...WA.RS.RUD.042.ahttps://collections.ashmolean.org/media/ashmol...October 1848NaN18481848
\n", "
" ], "text/plain": [ " classification homepage id \\\n", "0 https://collections.ashmolean.org/collection/b... 159671 \n", "\n", " title \\\n", "0 The Sculpture of a Dragon filling a Quatrefoil... \n", "\n", " creator accession_number \\\n", "0 {'id': 'https://collections.ashmolean.org/coll... WA.RS.RUD.042.a \n", "\n", " image_url date_created \\\n", "0 https://collections.ashmolean.org/media/ashmol... October 1848 \n", "\n", " current_owner date_created_earliest date_created_latest \n", "0 NaN 1848 1848 " ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "'Euphemia (Effie) Ruskin'" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
classificationhomepageidtitlecreatoraccession_numberimage_urldate_createdcurrent_ownerdate_created_earliestdate_created_latest
0https://collections.ashmolean.org/collection/b...101252Euphemia (Effie) Ruskin{'id': 'https://collections.ashmolean.org/coll...WA1961.37https://collections.ashmolean.org/media/ashmol...1846 - 1851NaN18461851
\n", "
" ], "text/plain": [ " classification homepage id \\\n", "0 https://collections.ashmolean.org/collection/b... 101252 \n", "\n", " title creator \\\n", "0 Euphemia (Effie) Ruskin {'id': 'https://collections.ashmolean.org/coll... \n", "\n", " accession_number image_url \\\n", "0 WA1961.37 https://collections.ashmolean.org/media/ashmol... \n", "\n", " date_created current_owner date_created_earliest date_created_latest \n", "0 1846 - 1851 NaN 1846 1851 " ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "\"Ivy-Leaved Toadflax ('Oxford Ivy')\"" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
classificationhomepageidtitlecreatoraccession_numberimage_urldate_createdcurrent_ownerdate_created_earliestdate_created_latest
0https://collections.ashmolean.org/collection/b...159362Ivy-Leaved Toadflax ('Oxford Ivy'){'id': 'https://collections.ashmolean.org/coll...WA.RS.ED.019https://collections.ashmolean.org/media/ashmol...1852NaN18521852
\n", "
" ], "text/plain": [ " classification homepage id \\\n", "0 https://collections.ashmolean.org/collection/b... 159362 \n", "\n", " title \\\n", "0 Ivy-Leaved Toadflax ('Oxford Ivy') \n", "\n", " creator accession_number \\\n", "0 {'id': 'https://collections.ashmolean.org/coll... WA.RS.ED.019 \n", "\n", " image_url date_created \\\n", "0 https://collections.ashmolean.org/media/ashmol... 1852 \n", "\n", " current_owner date_created_earliest date_created_latest \n", "0 NaN 1852 1852 " ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "'Part of the Palazzo Priuli, Venice'" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
classificationhomepageidtitlecreatoraccession_numberimage_urldate_createdcurrent_ownerdate_created_earliestdate_created_latest
0https://collections.ashmolean.org/collection/b...159536Part of the Palazzo Priuli, Venice{'id': 'https://collections.ashmolean.org/coll...WA.RS.ED.210https://collections.ashmolean.org/media/ashmol...probably 1852NaN18521852
\n", "
" ], "text/plain": [ " classification homepage id \\\n", "0 https://collections.ashmolean.org/collection/b... 159536 \n", "\n", " title \\\n", "0 Part of the Palazzo Priuli, Venice \n", "\n", " creator accession_number \\\n", "0 {'id': 'https://collections.ashmolean.org/coll... WA.RS.ED.210 \n", "\n", " image_url date_created \\\n", "0 https://collections.ashmolean.org/media/ashmol... probably 1852 \n", "\n", " current_owner date_created_earliest date_created_latest \n", "0 NaN 1852 1852 " ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "'Study for Detail of the Sarcophagus and Canopy of the Tomb of Mastino II della Scala at Verona'" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
classificationhomepageidtitlecreatoraccession_numberimage_urldate_createdcurrent_ownerdate_created_earliestdate_created_latest
0https://collections.ashmolean.org/collection/b...159598Study for Detail of the Sarcophagus and Canopy...{'id': 'https://collections.ashmolean.org/coll...WA.RS.REF.059https://collections.ashmolean.org/media/ashmol...1852NaN18521852
\n", "
" ], "text/plain": [ " classification homepage id \\\n", "0 https://collections.ashmolean.org/collection/b... 159598 \n", "\n", " title \\\n", "0 Study for Detail of the Sarcophagus and Canopy... \n", "\n", " creator accession_number \\\n", "0 {'id': 'https://collections.ashmolean.org/coll... WA.RS.REF.059 \n", "\n", " image_url date_created \\\n", "0 https://collections.ashmolean.org/media/ashmol... 1852 \n", "\n", " current_owner date_created_earliest date_created_latest \n", "0 NaN 1852 1852 " ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "'The Exterior of the Ducal Palace, Venice'" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
classificationhomepageidtitlecreatoraccession_numberimage_urldate_createdcurrent_ownerdate_created_earliestdate_created_latest
0https://collections.ashmolean.org/collection/b...159606The Exterior of the Ducal Palace, Venice{'id': 'https://collections.ashmolean.org/coll...WA.RS.REF.067https://collections.ashmolean.org/media/ashmol...1852NaN18521852
\n", "
" ], "text/plain": [ " classification homepage id \\\n", "0 https://collections.ashmolean.org/collection/b... 159606 \n", "\n", " title \\\n", "0 The Exterior of the Ducal Palace, Venice \n", "\n", " creator accession_number \\\n", "0 {'id': 'https://collections.ashmolean.org/coll... WA.RS.REF.067 \n", "\n", " image_url date_created \\\n", "0 https://collections.ashmolean.org/media/ashmol... 1852 \n", "\n", " current_owner date_created_earliest date_created_latest \n", "0 NaN 1852 1852 " ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "'Study of the North Gable of the Tomb of Mastino II della Scala, Verona'" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
classificationhomepageidtitlecreatoraccession_numberimage_urldate_createdcurrent_ownerdate_created_earliestdate_created_latest
0https://collections.ashmolean.org/collection/b...159712Study of the North Gable of the Tomb of Mastin...{'id': 'https://collections.ashmolean.org/coll...WA.RS.RUD.095https://collections.ashmolean.org/media/ashmol...probably June 1852NaN18521852
\n", "
" ], "text/plain": [ " classification homepage id \\\n", "0 https://collections.ashmolean.org/collection/b... 159712 \n", "\n", " title \\\n", "0 Study of the North Gable of the Tomb of Mastin... \n", "\n", " creator accession_number \\\n", "0 {'id': 'https://collections.ashmolean.org/coll... WA.RS.RUD.095 \n", "\n", " image_url date_created \\\n", "0 https://collections.ashmolean.org/media/ashmol... probably June 1852 \n", "\n", " current_owner date_created_earliest date_created_latest \n", "0 NaN 1852 1852 " ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "'Study of one of the Pinnacles of the Tomb of Mastino II della Scala, Verona'" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
classificationhomepageidtitlecreatoraccession_numberimage_urldate_createdcurrent_ownerdate_created_earliestdate_created_latest
0https://collections.ashmolean.org/collection/b...159714Study of one of the Pinnacles of the Tomb of M...{'id': 'https://collections.ashmolean.org/coll...WA.RS.RUD.097.ahttps://collections.ashmolean.org/media/ashmol...probably January 1852NaN18521852
\n", "
" ], "text/plain": [ " classification homepage id \\\n", "0 https://collections.ashmolean.org/collection/b... 159714 \n", "\n", " title \\\n", "0 Study of one of the Pinnacles of the Tomb of M... \n", "\n", " creator accession_number \\\n", "0 {'id': 'https://collections.ashmolean.org/coll... WA.RS.RUD.097.a \n", "\n", " image_url date_created \\\n", "0 https://collections.ashmolean.org/media/ashmol... probably January 1852 \n", "\n", " current_owner date_created_earliest date_created_latest \n", "0 NaN 1852 1852 " ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "'John Ruskin'" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
classificationhomepageidtitlecreatoraccession_numberimage_urldate_createdcurrent_ownerdate_created_earliestdate_created_latest
0https://collections.ashmolean.org/collection/b.../59248John Ruskin{'id': 'https://collections.ashmolean.org/coll...WA2013.67https://collections.ashmolean.org/media/ashmol...1853 - 1854NaN18531854
\n", "
" ], "text/plain": [ " classification homepage id \\\n", "0 https://collections.ashmolean.org/collection/b... /59248 \n", "\n", " title creator \\\n", "0 John Ruskin {'id': 'https://collections.ashmolean.org/coll... \n", "\n", " accession_number image_url \\\n", "0 WA2013.67 https://collections.ashmolean.org/media/ashmol... \n", "\n", " date_created current_owner date_created_earliest date_created_latest \n", "0 1853 - 1854 NaN 1853 1854 " ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "\"Etching of Turner's Drawing of 'Rietz, near Saumur'\"" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
classificationhomepageidtitlecreatoraccession_numberimage_urldate_createdcurrent_ownerdate_created_earliestdate_created_latest
0https://collections.ashmolean.org/collection/b...159417Etching of Turner's Drawing of 'Rietz, near Sa...{'id': 'https://collections.ashmolean.org/coll...WA.RS.ED.101https://collections.ashmolean.org/media/ashmol...before 1860NaN18601860
\n", "
" ], "text/plain": [ " classification homepage id \\\n", "0 https://collections.ashmolean.org/collection/b... 159417 \n", "\n", " title \\\n", "0 Etching of Turner's Drawing of 'Rietz, near Sa... \n", "\n", " creator accession_number \\\n", "0 {'id': 'https://collections.ashmolean.org/coll... WA.RS.ED.101 \n", "\n", " image_url date_created \\\n", "0 https://collections.ashmolean.org/media/ashmol... before 1860 \n", "\n", " current_owner date_created_earliest date_created_latest \n", "0 NaN 1860 1860 " ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "'Pine Forest on Mont Cenis'" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
classificationhomepageidtitlecreatoraccession_numberimage_urldate_createdcurrent_ownerdate_created_earliestdate_created_latest
0https://collections.ashmolean.org/collection/b...159576Pine Forest on Mont Cenis{'id': 'https://collections.ashmolean.org/coll...WA.RS.ED.275https://collections.ashmolean.org/media/ashmol...1854 - 1856NaN18541856
\n", "
" ], "text/plain": [ " classification homepage id \\\n", "0 https://collections.ashmolean.org/collection/b... 159576 \n", "\n", " title \\\n", "0 Pine Forest on Mont Cenis \n", "\n", " creator accession_number \\\n", "0 {'id': 'https://collections.ashmolean.org/coll... WA.RS.ED.275 \n", "\n", " image_url date_created \\\n", "0 https://collections.ashmolean.org/media/ashmol... 1854 - 1856 \n", "\n", " current_owner date_created_earliest date_created_latest \n", "0 NaN 1854 1856 " ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "'Design for a Window in the University Museum, Oxford'" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
classificationhomepageidtitlecreatoraccession_numberimage_urldate_createdcurrent_ownerdate_created_earliestdate_created_latest
0https://collections.ashmolean.org/collection/b...176324Design for a Window in the University Museum, ...{'id': 'https://collections.ashmolean.org/coll...WA1931.47https://collections.ashmolean.org/media/ashmol...c. 1855NaN18551855
\n", "
" ], "text/plain": [ " classification homepage id \\\n", "0 https://collections.ashmolean.org/collection/b... 176324 \n", "\n", " title \\\n", "0 Design for a Window in the University Museum, ... \n", "\n", " creator accession_number \\\n", "0 {'id': 'https://collections.ashmolean.org/coll... WA1931.47 \n", "\n", " image_url date_created \\\n", "0 https://collections.ashmolean.org/media/ashmol... c. 1855 \n", "\n", " current_owner date_created_earliest date_created_latest \n", "0 NaN 1855 1855 " ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "'Design for a window in the University Museum, Oxford'" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
classificationhomepageidtitlecreatoraccession_numberimage_urldate_createdcurrent_ownerdate_created_earliestdate_created_latest
0https://collections.ashmolean.org/collection/b...176325Design for a window in the University Museum, ...{'id': 'https://collections.ashmolean.org/coll...WA1931.49https://collections.ashmolean.org/media/ashmol...c. 1855NaN18551855
\n", "
" ], "text/plain": [ " classification homepage id \\\n", "0 https://collections.ashmolean.org/collection/b... 176325 \n", "\n", " title \\\n", "0 Design for a window in the University Museum, ... \n", "\n", " creator accession_number \\\n", "0 {'id': 'https://collections.ashmolean.org/coll... WA1931.49 \n", "\n", " image_url date_created \\\n", "0 https://collections.ashmolean.org/media/ashmol... c. 1855 \n", "\n", " current_owner date_created_earliest date_created_latest \n", "0 NaN 1855 1855 " ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "'Design for a window in the University Museum, Oxford'" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
classificationhomepageidtitlecreatoraccession_numberimage_urldate_createdcurrent_ownerdate_created_earliestdate_created_latest
0https://collections.ashmolean.org/collection/b...176326Design for a window in the University Museum, ...{'id': 'https://collections.ashmolean.org/coll...WA1931.51https://collections.ashmolean.org/media/ashmol...c. 1855NaN18551855
\n", "
" ], "text/plain": [ " classification homepage id \\\n", "0 https://collections.ashmolean.org/collection/b... 176326 \n", "\n", " title \\\n", "0 Design for a window in the University Museum, ... \n", "\n", " creator accession_number \\\n", "0 {'id': 'https://collections.ashmolean.org/coll... WA1931.51 \n", "\n", " image_url date_created \\\n", "0 https://collections.ashmolean.org/media/ashmol... c. 1855 \n", "\n", " current_owner date_created_earliest date_created_latest \n", "0 NaN 1855 1855 " ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "'Design for a window in the University Museum, Oxford'" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
classificationhomepageidtitlecreatoraccession_numberimage_urldate_createdcurrent_ownerdate_created_earliestdate_created_latest
0https://collections.ashmolean.org/collection/b...176327Design for a window in the University Museum, ...{'id': 'https://collections.ashmolean.org/coll...WA1931.52https://collections.ashmolean.org/media/ashmol...c. 1855NaN18551855
\n", "
" ], "text/plain": [ " classification homepage id \\\n", "0 https://collections.ashmolean.org/collection/b... 176327 \n", "\n", " title \\\n", "0 Design for a window in the University Museum, ... \n", "\n", " creator accession_number \\\n", "0 {'id': 'https://collections.ashmolean.org/coll... WA1931.52 \n", "\n", " image_url date_created \\\n", "0 https://collections.ashmolean.org/media/ashmol... c. 1855 \n", "\n", " current_owner date_created_earliest date_created_latest \n", "0 NaN 1855 1855 " ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "'Design for a window in the University Museum, Oxford'" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
classificationhomepageidtitlecreatoraccession_numberimage_urldate_createdcurrent_ownerdate_created_earliestdate_created_latest
0https://collections.ashmolean.org/collection/b...176328Design for a window in the University Museum, ...{'id': 'https://collections.ashmolean.org/coll...WA1931.53https://collections.ashmolean.org/media/ashmol...c. 1855NaN18551855
\n", "
" ], "text/plain": [ " classification homepage id \\\n", "0 https://collections.ashmolean.org/collection/b... 176328 \n", "\n", " title \\\n", "0 Design for a window in the University Museum, ... \n", "\n", " creator accession_number \\\n", "0 {'id': 'https://collections.ashmolean.org/coll... WA1931.53 \n", "\n", " image_url date_created \\\n", "0 https://collections.ashmolean.org/media/ashmol... c. 1855 \n", "\n", " current_owner date_created_earliest date_created_latest \n", "0 NaN 1855 1855 " ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "'Design for a window in the University Museum, Oxford'" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
classificationhomepageidtitlecreatoraccession_numberimage_urldate_createdcurrent_ownerdate_created_earliestdate_created_latest
0https://collections.ashmolean.org/collection/b...176329Design for a window in the University Museum, ...{'id': 'https://collections.ashmolean.org/coll...WA1931.54https://collections.ashmolean.org/media/ashmol...c. 1855NaN18551855
\n", "
" ], "text/plain": [ " classification homepage id \\\n", "0 https://collections.ashmolean.org/collection/b... 176329 \n", "\n", " title \\\n", "0 Design for a window in the University Museum, ... \n", "\n", " creator accession_number \\\n", "0 {'id': 'https://collections.ashmolean.org/coll... WA1931.54 \n", "\n", " image_url date_created \\\n", "0 https://collections.ashmolean.org/media/ashmol... c. 1855 \n", "\n", " current_owner date_created_earliest date_created_latest \n", "0 NaN 1855 1855 " ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "'Design for a window in the University Museum, Oxford'" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
classificationhomepageidtitlecreatoraccession_numberimage_urldate_createdcurrent_ownerdate_created_earliestdate_created_latest
0https://collections.ashmolean.org/collection/b...176330Design for a window in the University Museum, ...{'id': 'https://collections.ashmolean.org/coll...WA1931.55https://collections.ashmolean.org/media/ashmol...c. 1855NaN18551855
\n", "
" ], "text/plain": [ " classification homepage id \\\n", "0 https://collections.ashmolean.org/collection/b... 176330 \n", "\n", " title \\\n", "0 Design for a window in the University Museum, ... \n", "\n", " creator accession_number \\\n", "0 {'id': 'https://collections.ashmolean.org/coll... WA1931.55 \n", "\n", " image_url date_created \\\n", "0 https://collections.ashmolean.org/media/ashmol... c. 1855 \n", "\n", " current_owner date_created_earliest date_created_latest \n", "0 NaN 1855 1855 " ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "'Design for a window in the University Museum, Oxford'" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
classificationhomepageidtitlecreatoraccession_numberimage_urldate_createdcurrent_ownerdate_created_earliestdate_created_latest
0https://collections.ashmolean.org/collection/b...176331Design for a window in the University Museum, ...{'id': 'https://collections.ashmolean.org/coll...WA1931.56https://collections.ashmolean.org/media/ashmol...c. 1855NaN18551855
\n", "
" ], "text/plain": [ " classification homepage id \\\n", "0 https://collections.ashmolean.org/collection/b... 176331 \n", "\n", " title \\\n", "0 Design for a window in the University Museum, ... \n", "\n", " creator accession_number \\\n", "0 {'id': 'https://collections.ashmolean.org/coll... WA1931.56 \n", "\n", " image_url date_created \\\n", "0 https://collections.ashmolean.org/media/ashmol... c. 1855 \n", "\n", " current_owner date_created_earliest date_created_latest \n", "0 NaN 1855 1855 " ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "'Design for a window in the University Museum, Oxford'" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
classificationhomepageidtitlecreatoraccession_numberimage_urldate_createdcurrent_ownerdate_created_earliestdate_created_latest
0https://collections.ashmolean.org/collection/b...176332Design for a window in the University Museum, ...{'id': 'https://collections.ashmolean.org/coll...WA1931.50https://collections.ashmolean.org/media/ashmol...c. 1855NaN18551855
\n", "
" ], "text/plain": [ " classification homepage id \\\n", "0 https://collections.ashmolean.org/collection/b... 176332 \n", "\n", " title \\\n", "0 Design for a window in the University Museum, ... \n", "\n", " creator accession_number \\\n", "0 {'id': 'https://collections.ashmolean.org/coll... WA1931.50 \n", "\n", " image_url date_created \\\n", "0 https://collections.ashmolean.org/media/ashmol... c. 1855 \n", "\n", " current_owner date_created_earliest date_created_latest \n", "0 NaN 1855 1855 " ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "\"Study in Neutral Tint of Turner's 'The Pass of Faido'\"" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
classificationhomepageidtitlecreatoraccession_numberimage_urldate_createdcurrent_ownerdate_created_earliestdate_created_latest
0https://collections.ashmolean.org/collection/b...159582Study in Neutral Tint of Turner's 'The Pass of...{'id': 'https://collections.ashmolean.org/coll...WA.RS.ED.287https://collections.ashmolean.org/media/ashmol...1846 - 1865NaN18461865
\n", "
" ], "text/plain": [ " classification homepage id \\\n", "0 https://collections.ashmolean.org/collection/b... 159582 \n", "\n", " title \\\n", "0 Study in Neutral Tint of Turner's 'The Pass of... \n", "\n", " creator accession_number \\\n", "0 {'id': 'https://collections.ashmolean.org/coll... WA.RS.ED.287 \n", "\n", " image_url date_created \\\n", "0 https://collections.ashmolean.org/media/ashmol... 1846 - 1865 \n", "\n", " current_owner date_created_earliest date_created_latest \n", "0 NaN 1846 1865 " ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "'Study of a few Blades of Grass as they Grew'" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
classificationhomepageidtitlecreatoraccession_numberimage_urldate_createdcurrent_ownerdate_created_earliestdate_created_latest
0https://collections.ashmolean.org/collection/b...159350Study of a few Blades of Grass as they Grew{'id': 'https://collections.ashmolean.org/coll...WA.RS.ED.006https://collections.ashmolean.org/media/ashmol...probably spring 1856NaN18561856
\n", "
" ], "text/plain": [ " classification homepage id \\\n", "0 https://collections.ashmolean.org/collection/b... 159350 \n", "\n", " title \\\n", "0 Study of a few Blades of Grass as they Grew \n", "\n", " creator accession_number \\\n", "0 {'id': 'https://collections.ashmolean.org/coll... WA.RS.ED.006 \n", "\n", " image_url date_created \\\n", "0 https://collections.ashmolean.org/media/ashmol... probably spring 1856 \n", "\n", " current_owner date_created_earliest date_created_latest \n", "0 NaN 1856 1856 " ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "'Fribourg, Switzerland: Pen sketch'" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
classificationhomepageidtitlecreatoraccession_numberimage_urldate_createdcurrent_ownerdate_created_earliestdate_created_latest
0https://collections.ashmolean.org/collection/b...159427Fribourg, Switzerland: Pen sketch{'id': 'https://collections.ashmolean.org/coll...WA.RS.ED.114.ahttps://collections.ashmolean.org/media/ashmol...July or August - September 1856NaN18561856
\n", "
" ], "text/plain": [ " classification homepage id \\\n", "0 https://collections.ashmolean.org/collection/b... 159427 \n", "\n", " title \\\n", "0 Fribourg, Switzerland: Pen sketch \n", "\n", " creator accession_number \\\n", "0 {'id': 'https://collections.ashmolean.org/coll... WA.RS.ED.114.a \n", "\n", " image_url \\\n", "0 https://collections.ashmolean.org/media/ashmol... \n", "\n", " date_created current_owner date_created_earliest \\\n", "0 July or August - September 1856 NaN 1856 \n", "\n", " date_created_latest \n", "0 1856 " ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "'Study of Young Leaves of Plane, in Light and Shade'" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
classificationhomepageidtitlecreatoraccession_numberimage_urldate_createdcurrent_ownerdate_created_earliestdate_created_latest
0https://collections.ashmolean.org/collection/b...159453Study of Young Leaves of Plane, in Light and S...{'id': 'https://collections.ashmolean.org/coll...WA.RS.ED.254https://collections.ashmolean.org/media/ashmol...probably 1857NaN18571857
\n", "
" ], "text/plain": [ " classification homepage id \\\n", "0 https://collections.ashmolean.org/collection/b... 159453 \n", "\n", " title \\\n", "0 Study of Young Leaves of Plane, in Light and S... \n", "\n", " creator accession_number \\\n", "0 {'id': 'https://collections.ashmolean.org/coll... WA.RS.ED.254 \n", "\n", " image_url date_created \\\n", "0 https://collections.ashmolean.org/media/ashmol... probably 1857 \n", "\n", " current_owner date_created_earliest date_created_latest \n", "0 NaN 1857 1857 " ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "'Finished Study of Agrimony Leaves'" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
classificationhomepageidtitlecreatoraccession_numberimage_urldate_createdcurrent_ownerdate_created_earliestdate_created_latest
0https://collections.ashmolean.org/collection/b...159454Finished Study of Agrimony Leaves{'id': 'https://collections.ashmolean.org/coll...WA.RS.ED.255.ahttps://collections.ashmolean.org/media/ashmol...probably 1857NaN18571857
\n", "
" ], "text/plain": [ " classification homepage id \\\n", "0 https://collections.ashmolean.org/collection/b... 159454 \n", "\n", " title \\\n", "0 Finished Study of Agrimony Leaves \n", "\n", " creator accession_number \\\n", "0 {'id': 'https://collections.ashmolean.org/coll... WA.RS.ED.255.a \n", "\n", " image_url date_created \\\n", "0 https://collections.ashmolean.org/media/ashmol... probably 1857 \n", "\n", " current_owner date_created_earliest date_created_latest \n", "0 NaN 1857 1857 " ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "\"Tracing of Turner's 'Hospice of the Great Saint Bernard'\"" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
classificationhomepageidtitlecreatoraccession_numberimage_urldate_createdcurrent_ownerdate_created_earliestdate_created_latest
0https://collections.ashmolean.org/collection/b...159730Tracing of Turner's 'Hospice of the Great Sain...{'id': 'https://collections.ashmolean.org/coll...WA.RS.RUD.150https://collections.ashmolean.org/media/ashmol...probably 1857NaN18571857
\n", "
" ], "text/plain": [ " classification homepage id \\\n", "0 https://collections.ashmolean.org/collection/b... 159730 \n", "\n", " title \\\n", "0 Tracing of Turner's 'Hospice of the Great Sain... \n", "\n", " creator accession_number \\\n", "0 {'id': 'https://collections.ashmolean.org/coll... WA.RS.RUD.150 \n", "\n", " image_url date_created \\\n", "0 https://collections.ashmolean.org/media/ashmol... probably 1857 \n", "\n", " current_owner date_created_earliest date_created_latest \n", "0 NaN 1857 1857 " ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "'The Courtyard of a Late Gothic Wooden House at Abbeville'" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
classificationhomepageidtitlecreatoraccession_numberimage_urldate_createdcurrent_ownerdate_created_earliestdate_created_latest
0https://collections.ashmolean.org/collection/b...159340The Courtyard of a Late Gothic Wooden House at...{'id': 'https://collections.ashmolean.org/coll...WA.RS.ED.062https://collections.ashmolean.org/media/ashmol...1858NaN18581858
\n", "
" ], "text/plain": [ " classification homepage id \\\n", "0 https://collections.ashmolean.org/collection/b... 159340 \n", "\n", " title \\\n", "0 The Courtyard of a Late Gothic Wooden House at... \n", "\n", " creator accession_number \\\n", "0 {'id': 'https://collections.ashmolean.org/coll... WA.RS.ED.062 \n", "\n", " image_url date_created \\\n", "0 https://collections.ashmolean.org/media/ashmol... 1858 \n", "\n", " current_owner date_created_earliest date_created_latest \n", "0 NaN 1858 1858 " ] }, "metadata": {}, "output_type": "display_data" }, { "ename": "TypeError", "evalue": "unsupported operand type(s) for +: 'NoneType' and 'str'", "output_type": "error", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mTypeError\u001b[0m Traceback (most recent call last)", "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[1;32m 94\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 95\u001b[0m \u001b[0;31m# create drop down options for jsonld vis\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 96\u001b[0;31m \u001b[0mtitle\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mobjProp\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m\"title\"\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;34m+\u001b[0m \u001b[0;34m\" (\"\u001b[0m \u001b[0;34m+\u001b[0m \u001b[0mobjProp\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m\"id\"\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;34m+\u001b[0m \u001b[0;34m\".json)\"\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 97\u001b[0m \u001b[0mselectOptions\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mappend\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mtitle\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mobjProp\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m\"id\"\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;34m+\u001b[0m \u001b[0;34m\".json\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 98\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;31mTypeError\u001b[0m: unsupported operand type(s) for +: 'NoneType' and 'str'" ] } ], "source": [ "outputdir = \"./data/ruskin/output/json/\"\n", "\n", "try:\n", " import pandas as pd\n", "except:\n", " !pip install pandas\n", " import pandas as pd\n", " \n", " \n", "import requests\n", "\n", "try:\n", " from bs4 import BeautifulSoup\n", "except:\n", " %pip install bs4\n", " from bs4 import BeautifulSoup\n", " \n", "import re\n", "\n", "#cromulent\n", "from cromulent.model import factory\n", " \n", "# custom linked art coding\n", "from lib import linkedart as la\n", "\n", "selectOptions = []\n", "selectOptions.append((\"Please select an artwork\", \"\"))\n", "\n", "\n", "baseURI = \"https://collections.ashmolean.org/collection/\"\n", "ash_file = './data/ashmolean/ash.html'\n", "\n", "# open HTML file\n", "html_text = open(ash_file, 'r').read()\n", "\n", "# create soup\n", "soup = BeautifulSoup(html_text, 'html.parser')\n", "\n", "# iterate through artwork descriptions in HTML\n", "for artwork in soup.find_all('div',attrs={\"class\":\"list-inner\"}):\n", " \n", " # title\n", " title = artwork.find('h3').string\n", " \n", " # id\n", " id = artwork.find('h3').find('a').get('href')\n", " id = id[-6:]\n", " \n", " # creator\n", " creator = [{\"id\": \"https://collections.ashmolean.org/collection/search/trigger/person_id/value/7800\", \"name\":\"John Ruskin\",\"role\":\"Artist\"}]\n", " \n", " # accession number\n", " accession_number = artwork.find('span').string\n", " accession_number = accession_number.replace(\"Accession no. \", \"\")\n", " \n", " # image url\n", " image_url = artwork.find(\"img\").get(\"src\")\n", " \n", " # date created\n", " date_created = artwork.find(\"p\").string\n", " date_created = date_created.replace(\"Date: \",\"\")\n", " \n", " objProp = {\n", " \"classification\":\"\",\n", " \"homepage\":\"https://collections.ashmolean.org/collection/browse-9148/object/\" + id,\n", " \"id\":id,\n", " \"title\":title,\n", " \"creator\":creator,\n", " \"accession_number\":accession_number,\n", " \"image_url\":image_url,\n", " \"date_created\":date_created,\n", " \"current_owner\" : {\"name\":\"Ashmolean Museum\",\n", " \"location\":\"Oxford, England, UK\",\n", " \"type\": \"http://vocab.getty.edu/aat/300312281\" ,\n", " \"type_label\": \"\"}\n", " }\n", " \n", " # look for year in value \n", " years = re.findall('(\\d{4})', date_created)\n", " if len(years) == 1:\n", " \n", " objProp[\"date_created_earliest\"] = years[0]\n", " objProp[\"date_created_latest\"] = years[0]\n", " elif len(years) == 2: \n", " objProp[\"date_created_earliest\"] = years[0]\n", " objProp[\"date_created_latest\"] = years[1]\n", " else:\n", " # use Ruskins birth/death years\n", " objProp[\"date_created_earliest\"] = 1819\n", " objProp[\"date_created_latest\"] = 1900\n", " \n", " \n", " object_uri = baseURI + id\n", " \n", " # create drop down options for jsonld vis\n", " title = objProp[\"title\"] + \" (\" + objProp[\"id\"] + \".json)\" \n", " selectOptions.append((title, objProp[\"id\"] + \".json\"))\n", " \n", " objLA = la.createObjDesc(objProp,la.objTypes,object_uri)\n", " \n", " # write to file \n", " text_file = open(outputdir + objProp[\"id\"] + \".json\", \"wt\")\n", " n = text_file.write(factory.toString(objLA, compact=False))\n", " text_file.close()\n", " \n", " display(objProp[\"title\"])\n", " display(pd.DataFrame(objProp, index=[0]))\n", "\n", " " ] }, { "cell_type": "markdown", "id": "f144bee4", "metadata": {}, "source": [ "### Visualisation of the Linked Art JSON-LD\n", "\n", "The Linked Art JSON-LD representation can be viewed in a data visualisation below. Select an artwork from the dropdown menu." ] }, { "cell_type": "code", "execution_count": 7, "id": "3aa1647f", "metadata": {}, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "22e4e2bae3ec46cdb3287f554887cf32", "version_major": 2, "version_minor": 0 }, "text/plain": [ "Dropdown(options=(('Please select an artwork', ''), ('The Tower of Gloucester Cathedral (159710.json)', '15971…" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": [ "\n", "require.config({paths: {\n", " d3: \"http://d3js.org/d3.v3.min\"\n", "}});\n", "\n", "function visjsonld(file, selector){\n", " \n", " require([\"d3\"], function(d3) {\n", " \n", " d3.json(file, (err, jsonld) => {\n", " \n", " var config = {};\n", " \n", " var h = config.h || 800\n", " , w = config.w || 3000\n", " , maxLabelWidth = config.maxLabelWidth || 200\n", " , transitionDuration = config.transitionDuration || 750\n", " , transitionEase = config.transitionEase || 'cubic-in-out'\n", " , minRadius = config.minRadius || 5\n", " , scalingFactor = config.scalingFactor || 2;\n", " \n", " var i = 0;\n", "\n", " var tree = d3.layout.tree()\n", " .size([h, w]);\n", " \n", " var diagonal = d3.svg.diagonal()\n", " .projection(function(d) { return [d.y, d.x]; });\n", " \n", " d3.select(selector).selectAll(\"svg\").remove();\n", " \n", " var svg = d3.select(selector).append('svg')\n", " .attr('width', w)\n", " .attr('height', h)\n", " .attr('style', 'background-color:#446a7f')\n", " .append('g')\n", " .attr('transform', 'translate(' + maxLabelWidth + ',0)');\n", " \n", " var root = jsonldTree(jsonld);\n", " root.x0 = h / 2;\n", " root.y0 = 0;\n", " root.children.forEach(collapse);\n", " \n", " function changeSVGWidth(newWidth) {\n", " if (w !== newWidth) {\n", " d3.select(selector + ' > svg').attr('width', newWidth);\n", " }\n", " }\n", " \n", " function jsonldTree(source) {\n", " var tree = {};\n", " \n", " if ('@id' in source) {\n", " tree.isIdNode = true;\n", " tree.name = source['@id'];\n", " if (tree.name.length > maxLabelWidth / 9) {\n", " tree.valueExtended = tree.name;\n", " tree.name = '...' + tree.valueExtended.slice(-Math.floor(maxLabelWidth / 9));\n", " }\n", " } else {\n", " tree.isIdNode = true;\n", " tree.isBlankNode = true;\n", " // random id, can replace with actual uuid generator if needed\n", " tree.name = '_' + Math.random().toString(10).slice(-7);\n", " }\n", " \n", " var children = [];\n", " Object.keys(source).forEach(function(key) {\n", " if (key === '@id' || key === '@context' || source[key] === null) return;\n", " \n", " var valueExtended, value;\n", " if (typeof source[key] === 'object' && !Array.isArray(source[key])) {\n", " children.push({\n", " name: key,\n", " children: [jsonldTree(source[key])]\n", " });\n", " } else if (Array.isArray(source[key])) {\n", " children.push({\n", " name: key,\n", " children: source[key].map(function(item) {\n", " if (typeof item === 'object') {\n", " return jsonldTree(item);\n", " } else {\n", " return { name: item };\n", " }\n", " })\n", " });\n", " } else {\n", " valueExtended = source[key];\n", " value = valueExtended;\n", " if (value.length > maxLabelWidth / 9) {\n", " value = value.slice(0, Math.floor(maxLabelWidth / 2)) + '...';\n", " children.push({\n", " name: key,\n", " value: value,\n", " valueExtended: valueExtended\n", " });\n", " } else {\n", " children.push({\n", " name: key,\n", " value: value\n", " });\n", " }\n", " }\n", " });\n", " \n", " if (children.length) {\n", " tree.children = children;\n", " }\n", " \n", " return tree;\n", " }\n", " \n", " function update(source) {\n", " var nodes = tree.nodes(root).reverse();\n", " var links = tree.links(nodes);\n", " \n", " nodes.forEach(function(d) { d.y = d.depth * maxLabelWidth; });\n", " \n", " var node = svg.selectAll('g.node')\n", " .data(nodes, function(d) { return d.id || (d.id = ++i); });\n", " \n", " var nodeEnter = node.enter()\n", " .append('g')\n", " .attr('class', 'node')\n", " .attr('transform', function(d) { return 'translate(' + source.y0 + ',' + source.x0 + ')'; })\n", " .on('click', click);\n", " \n", " nodeEnter.append('circle')\n", " .attr('r', 0)\n", " .style('stroke-width', function(d) {\n", " return d.isIdNode ? '2px' : '1px';\n", " })\n", " .style('stroke', function(d) {\n", " return d.isIdNode ? 'navy' : '#78BE21';\n", " })\n", " .style('fill', function(d) {\n", " if (d.isIdNode) {\n", " return d._children ? 'white' : 'white';\n", " } else {\n", " return d._children ? 'white' : 'white';\n", " }\n", " })\n", " \n", " \n", " nodeEnter.append('text')\n", " .attr('x', function(d) {\n", " var spacing = computeRadius(d) + 5;\n", " return d.children || d._children ? -spacing : spacing;\n", " })\n", " .attr('dy', '4')\n", " .attr('text-anchor', function(d) { return d.children || d._children ? 'end' : 'start'; })\n", " .text(function(d) { return d.name + (d.value ? ': ' + d.value : ''); })\n", " .style('fill-opacity', 0)\n", " \n", ";\n", " \n", " var maxSpan = Math.max.apply(Math, nodes.map(function(d) { return d.y + maxLabelWidth; }));\n", " if (maxSpan + maxLabelWidth + 20 > w) {\n", " changeSVGWidth(maxSpan + maxLabelWidth);\n", " d3.select(selector).node().scrollLeft = source.y0;\n", " }\n", " \n", " var nodeUpdate = node.transition()\n", " .duration(transitionDuration)\n", " .ease(transitionEase)\n", " .attr('transform', function(d) { return 'translate(' + d.y + ',' + d.x + ')'; });\n", " \n", " nodeUpdate.select('circle')\n", " .attr('r', function(d) { return computeRadius(d); })\n", " .style('stroke-width', function(d) {\n", " return d.isIdNode ? '2px' : '1px';\n", " })\n", " .style('stroke', function(d) {\n", " return d.isIdNode ? '#78BE21' : '#78BE21';\n", " })\n", " .style('fill', function(d) {\n", " if (d.isIdNode) {\n", " return d._children ? 'navy' : '#78BE21';\n", " } else {\n", " return d._children ? 'navy' : '#78BE21';\n", " }\n", " });\n", " \n", " nodeUpdate.select('text').style('fill-opacity', 1);\n", " nodeUpdate.select('text').style('font-family', \"'Open Sans', 'Helvetica Neue', Helvetica, sans-serif\");\n", " nodeUpdate.select('text').style('fill', 'white');\n", " nodeUpdate.select('text').style('font-size', '12px');\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " var nodeExit = node.exit().transition()\n", " .duration(transitionDuration)\n", " .ease(transitionEase)\n", " .attr('transform', function(d) { return 'translate(' + source.y + ',' + source.x + ')'; })\n", " .remove();\n", " \n", " nodeExit.select('circle').attr('r', 0);\n", " nodeExit.select('text').style('fill-opacity', 0);\n", " \n", " var link = svg.selectAll('path.link')\n", " .data(links, function(d) { return d.target.id; });\n", " \n", " link.enter().insert('path', 'g')\n", " .attr('class', 'link')\n", " .attr('style', 'fill: none;stroke: #DADFE1;stroke-width: 1px;')\n", " .attr('d', function(d) {\n", " var o = { x: source.x0, y: source.y0 };\n", " return diagonal({ source: o, target: o });\n", " });\n", " \n", " link.transition()\n", " .duration(transitionDuration)\n", " .ease(transitionEase)\n", " .attr('d', diagonal);\n", " \n", " link.exit().transition()\n", " .duration(transitionDuration)\n", " .ease(transitionEase)\n", " .attr('d', function(d) {\n", " var o = { x: source.x, y: source.y };\n", " return diagonal({ source: o, target: o });\n", " })\n", " .remove();\n", " \n", " nodes.forEach(function(d) {\n", " d.x0 = d.x;\n", " d.y0 = d.y;\n", " });\n", " }\n", " \n", " function computeRadius(d) {\n", " if (d.children || d._children) {\n", " return minRadius + (numEndNodes(d) / scalingFactor);\n", " } else {\n", " return minRadius;\n", " }\n", " }\n", " \n", " function numEndNodes(n) {\n", " var num = 0;\n", " if (n.children) {\n", " n.children.forEach(function(c) {\n", " num += numEndNodes(c);\n", " });\n", " } else if (n._children) {\n", " n._children.forEach(function(c) {\n", " num += numEndNodes(c);\n", " });\n", " } else {\n", " num++;\n", " }\n", " return num;\n", " }\n", " \n", " function click(d) {\n", " if (d.children) {\n", " d._children = d.children;\n", " d.children = null;\n", " } else {\n", " d.children = d._children;\n", " d._children = null;\n", " }\n", " \n", " update(d);\n", " \n", " // fast-forward blank nodes\n", " if (d.children) {\n", " d.children.forEach(function(child) {\n", " if (child.isBlankNode && child._children) {\n", " click(child);\n", " }\n", " });\n", " }\n", " }\n", " \n", " function collapse(d) {\n", " if (d.children) {\n", " d._children = d.children;\n", " d._children.forEach(collapse);\n", " d.children = null;\n", " }\n", " }\n", " \n", " update(root);\n", " \n", " \n", " })\n", "\n", "\n", "\n", "\n", "})}\n", "var file = './data/ruskin/output/json/159601.json';var selector = '#visash';visjsonld(file, selector); " ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": [ "document.getElementById('artworkash').src = 'https://collections.ashmolean.org/media/ashmole6_collection/w800/Collections/Single_Objects/WA/WA_RS/WA_RS_REF_062-a-L.jpg';" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "try:\n", " import ipywidgets\n", "except:\n", " %pip install ipywidgets\n", " import ipywidgets\n", "\n", "from ipywidgets import Layout, FileUpload \n", "from IPython.display import display, IFrame, HTML, Image, Javascript\n", "try:\n", " import json\n", "except:\n", " !pip install json\n", " import json \n", " \n", "\n", "def dropdown_eventhandler_tate(change):\n", " with open('./src/js/visld.js', 'r') as _jscript:\n", " outputdir = \"./data/ruskin/output/json/\"\n", " code = _jscript.read() + \"var file = '\" + outputdir + change.new + \"';var selector = '#visash';visjsonld(file, selector); \"\n", " display(Javascript(code))\n", " \n", " with open( outputdir + change.new) as json_file:\n", " \n", " artwork = json.load(json_file)\n", " if (\"representation\" in artwork):\n", " image = artwork[\"representation\"][0][\"id\"]\n", " display(Javascript(\"document.getElementById('artworkash').src = '\" + image + \"';\"))\n", " else:\n", " display(Javascript(\"document.getElementById('artworkash').src = '';\"))\n", " \n", "selectObject = ipywidgets.Dropdown(options=selectOptions)\n", "selectObject.observe(dropdown_eventhandler_tate, names='value')\n", "\n", "display(selectObject)" ] }, { "cell_type": "markdown", "id": "23e54414", "metadata": {}, "source": [ "
\n", "\n", "
" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.8.8" } }, "nbformat": 4, "nbformat_minor": 5 }