cultural heritage dates in ruby
TRANSCRIPT
![Page 1: Cultural Heritage Dates in Ruby](https://reader033.vdocuments.site/reader033/viewer/2022060205/55a1d92d1a28abf2198b459d/html5/thumbnails/1.jpg)
Cultural Heritage DatesUnderstanding the provenance of an artwork.
David Newbury@workergnome
![Page 2: Cultural Heritage Dates in Ruby](https://reader033.vdocuments.site/reader033/viewer/2022060205/55a1d92d1a28abf2198b459d/html5/thumbnails/2.jpg)
What is Art Tracks?
Art Tracks is a research projectat the Carnegie Museum of Art.
![Page 3: Cultural Heritage Dates in Ruby](https://reader033.vdocuments.site/reader033/viewer/2022060205/55a1d92d1a28abf2198b459d/html5/thumbnails/3.jpg)
What is Art Tracks?
Art Tracks is a research projectat the Carnegie Museum of Art.
We're digitizing the history of ownership of art.
![Page 4: Cultural Heritage Dates in Ruby](https://reader033.vdocuments.site/reader033/viewer/2022060205/55a1d92d1a28abf2198b459d/html5/thumbnails/4.jpg)
Oldest item
Vase
MESOPOTAMIAN, SUSA(C. 3000 BCE-2000 BCE)painted earthenware
Walter Read Hovey Collection
![Page 5: Cultural Heritage Dates in Ruby](https://reader033.vdocuments.site/reader033/viewer/2022060205/55a1d92d1a28abf2198b459d/html5/thumbnails/5.jpg)
Newest item
My Heart Is Not Here My Heart'sin The Highlands Chasing The Deers
Rokni Haerizadeh (2013) gesso, ink, and watercolor on printed paper
The Henry L. Hillman Fund
![Page 6: Cultural Heritage Dates in Ruby](https://reader033.vdocuments.site/reader033/viewer/2022060205/55a1d92d1a28abf2198b459d/html5/thumbnails/6.jpg)
Museums are full of art.Art is culture.
Art is also stuff.
![Page 7: Cultural Heritage Dates in Ruby](https://reader033.vdocuments.site/reader033/viewer/2022060205/55a1d92d1a28abf2198b459d/html5/thumbnails/7.jpg)
Stuff has a history.
— Created by an artist
— Sold to collectors
— Given to children
— Sold at auctions
Eventually, it ends up at a museum.
![Page 8: Cultural Heritage Dates in Ruby](https://reader033.vdocuments.site/reader033/viewer/2022060205/55a1d92d1a28abf2198b459d/html5/thumbnails/8.jpg)
The record of this is called
Provenance.
![Page 9: Cultural Heritage Dates in Ruby](https://reader033.vdocuments.site/reader033/viewer/2022060205/55a1d92d1a28abf2198b459d/html5/thumbnails/9.jpg)
Provenance is a chain of ownership.
Every time a painting changes hands,it's a new link in that chain.
![Page 10: Cultural Heritage Dates in Ruby](https://reader033.vdocuments.site/reader033/viewer/2022060205/55a1d92d1a28abf2198b459d/html5/thumbnails/10.jpg)
Water Lilies (Nymphéas)
Claude Oscar Monet [1840-1926]; Estate of Claude Oscar Monet; Michel Monet, son of the artist, Sorel Moussel, Dept. Eure et Loire, 1926 until 1950; Walter P. Chrysler, Jr. [1908-1988], New York, NY, 1950 until 1962; purchased by Museum, April 1962.
![Page 11: Cultural Heritage Dates in Ruby](https://reader033.vdocuments.site/reader033/viewer/2022060205/55a1d92d1a28abf2198b459d/html5/thumbnails/11.jpg)
What Data?
![Page 12: Cultural Heritage Dates in Ruby](https://reader033.vdocuments.site/reader033/viewer/2022060205/55a1d92d1a28abf2198b459d/html5/thumbnails/12.jpg)
The Person
NameBirthDeathLocation
Portrait of Isabella de' Cosimo I de Medici
C. 1570-1574Alessandro Allorioil on canvas (transferred from panel)
Gift of Mrs. Paul B. Ernst
![Page 13: Cultural Heritage Dates in Ruby](https://reader033.vdocuments.site/reader033/viewer/2022060205/55a1d92d1a28abf2198b459d/html5/thumbnails/13.jpg)
The Transfer
Acquisition MethodDirect Transfer
Auction
Harry Shokler1942silkscreen on paper
Leisser Art Fund
![Page 14: Cultural Heritage Dates in Ruby](https://reader033.vdocuments.site/reader033/viewer/2022060205/55a1d92d1a28abf2198b459d/html5/thumbnails/14.jpg)
Metadata
Stock numbersFootnotesPrimary ownership
Footed bowl
C. 1925OTTO LINDIG (GERMAN, 1895–1966)earthenware
Gift of Barry Friedman, Ltd.
![Page 15: Cultural Heritage Dates in Ruby](https://reader033.vdocuments.site/reader033/viewer/2022060205/55a1d92d1a28abf2198b459d/html5/thumbnails/15.jpg)
Dates
AcquisitionDeacquisition
Persimmon (Kaki)
MAKI HAKU (JAPANESE, 1924–2000)woodcut with embossing on paper
Bequest of Dr. James B. Austin
![Page 16: Cultural Heritage Dates in Ruby](https://reader033.vdocuments.site/reader033/viewer/2022060205/55a1d92d1a28abf2198b459d/html5/thumbnails/16.jpg)
Dates are not a thing
A date is a string representationof a particular moment of time.
...At a particular location.
...On earth.
![Page 17: Cultural Heritage Dates in Ruby](https://reader033.vdocuments.site/reader033/viewer/2022060205/55a1d92d1a28abf2198b459d/html5/thumbnails/17.jpg)
Easy Date Problems:
12/4/2014: December 4th or April 12th?
Depends on your national standard. Don't do this.
ISO 8601 is what you want.
2014-12-04T00:00:00
![Page 18: Cultural Heritage Dates in Ruby](https://reader033.vdocuments.site/reader033/viewer/2022060205/55a1d92d1a28abf2198b459d/html5/thumbnails/18.jpg)
Medium Date Problems:
2014-12-04T00:00:00:December 4th or December 3rd?
Depends on your location. Use UTC.
Time zones matter.
2014-12-04T00:00:00Z
![Page 19: Cultural Heritage Dates in Ruby](https://reader033.vdocuments.site/reader033/viewer/2022060205/55a1d92d1a28abf2198b459d/html5/thumbnails/19.jpg)
Hard Date Problems:
October 6th, 1582
Exists in England. Doesn't exist in Italy.
Date.new(1582,10,5) # ArgumentError: invalid date
Date.new(1582,10,14,Date::ENGLAND) # <Date: 1582-10-14 ((2299170j,0s,0n),+0s,2361222j)>
fantastic trolling opportunity here for tests.
![Page 20: Cultural Heritage Dates in Ruby](https://reader033.vdocuments.site/reader033/viewer/2022060205/55a1d92d1a28abf2198b459d/html5/thumbnails/20.jpg)
Harder Date Problems:
What year comes before 1 AD?
— 0 AD?
— 1 BCE?
St. George and the Dragon
YUGOSLAVIANC. 1500oil on panel
Gift of Dr. Walter Read Hovey
![Page 21: Cultural Heritage Dates in Ruby](https://reader033.vdocuments.site/reader033/viewer/2022060205/55a1d92d1a28abf2198b459d/html5/thumbnails/21.jpg)
Choosing an Epoch
![Page 22: Cultural Heritage Dates in Ruby](https://reader033.vdocuments.site/reader033/viewer/2022060205/55a1d92d1a28abf2198b459d/html5/thumbnails/22.jpg)
Unix TimeSeconds since 0h Jan 1, 1970
DateTime.new(2014,12,4,20,0,0).to_time.to_i # => 1417723200
Valid between December 13, 1901 and 19 January 2038.
![Page 23: Cultural Heritage Dates in Ruby](https://reader033.vdocuments.site/reader033/viewer/2022060205/55a1d92d1a28abf2198b459d/html5/thumbnails/23.jpg)
GregorianThe way you learned dates in schoolvalid since Oct 15, 1582
DateTime.new(2014,12,4,20,0,0).to_s # => "2014-12-04T20:00:00+00:00"
![Page 24: Cultural Heritage Dates in Ruby](https://reader033.vdocuments.site/reader033/viewer/2022060205/55a1d92d1a28abf2198b459d/html5/thumbnails/24.jpg)
Julian DayThe way Ruby represents datesdays since 12h Jan 1, 4713 BC
DateTime.new(2014,12,4,20,0,0).jd # => 2456996
![Page 25: Cultural Heritage Dates in Ruby](https://reader033.vdocuments.site/reader033/viewer/2022060205/55a1d92d1a28abf2198b459d/html5/thumbnails/25.jpg)
Heliocentric Julian DayThe current day. On the sun.
![Page 26: Cultural Heritage Dates in Ruby](https://reader033.vdocuments.site/reader033/viewer/2022060205/55a1d92d1a28abf2198b459d/html5/thumbnails/26.jpg)
Barycentric Julian DayThe current day. At the center of the solar system.
![Page 27: Cultural Heritage Dates in Ruby](https://reader033.vdocuments.site/reader033/viewer/2022060205/55a1d92d1a28abf2198b459d/html5/thumbnails/27.jpg)
Dates in RubyMug
TOBIAS BAUER (GERMAN)1695-1705blown, gold-ruby glass w/silver-gilt mounts
DuPuy Fund
![Page 28: Cultural Heritage Dates in Ruby](https://reader033.vdocuments.site/reader033/viewer/2022060205/55a1d92d1a28abf2198b459d/html5/thumbnails/28.jpg)
Time
— Based on (and implemented in) C
— Counts seconds from Unix Epoch
— Compatible with Unix and other languages
— Fast
![Page 29: Cultural Heritage Dates in Ruby](https://reader033.vdocuments.site/reader033/viewer/2022060205/55a1d92d1a28abf2198b459d/html5/thumbnails/29.jpg)
Date && DateTime
— Written in Ruby
— Counts days from Julian Epoch
— Slower
![Page 30: Cultural Heritage Dates in Ruby](https://reader033.vdocuments.site/reader033/viewer/2022060205/55a1d92d1a28abf2198b459d/html5/thumbnails/30.jpg)
Internal Implementation
if you #inspect a DateTime:
DateTime.new(2014,12,4,20,0,0).inspect # <DateTime: 2014-12-04T20:00:00+00:00 ((2456996j,72000s,0n),+0s,2299161j)>
![Page 31: Cultural Heritage Dates in Ruby](https://reader033.vdocuments.site/reader033/viewer/2022060205/55a1d92d1a28abf2198b459d/html5/thumbnails/31.jpg)
DateTime: 2014-12-04T20:00:00+00:00 ((2456996j,72000s,0n),+0s,2299161j)
2014-12-04T20:00:00+00:00
the current time in ISO 8601.
![Page 32: Cultural Heritage Dates in Ruby](https://reader033.vdocuments.site/reader033/viewer/2022060205/55a1d92d1a28abf2198b459d/html5/thumbnails/32.jpg)
DateTime: 2014-12-04T20:00:00+00:00 ((2456996j,72000s,0n),+0s,2299161j)
2456996j The number of days since the Julian Epoch
+
72000s some number of seconds
+
0n some number of nanoseconds
![Page 33: Cultural Heritage Dates in Ruby](https://reader033.vdocuments.site/reader033/viewer/2022060205/55a1d92d1a28abf2198b459d/html5/thumbnails/33.jpg)
DateTime: 2014-12-04T20:00:00+00:00 ((2456996j,72000s,0n), +0s ,2299161j)
+0s
The offset in seconds from UTC time
![Page 34: Cultural Heritage Dates in Ruby](https://reader033.vdocuments.site/reader033/viewer/2022060205/55a1d92d1a28abf2198b459d/html5/thumbnails/34.jpg)
DateTime: 2014-12-04T20:00:00+00:00 ((2456996j,72000s,0n),+0s, 2299161j )
2299161j
The day of the Gregorian Reform.
![Page 35: Cultural Heritage Dates in Ruby](https://reader033.vdocuments.site/reader033/viewer/2022060205/55a1d92d1a28abf2198b459d/html5/thumbnails/35.jpg)
Imprecise Data.Computers hate imprecision.
Apr. 27, 1978
ON KAWARA (JAPANESE, 1932–2014)1978Liquitex on canvas
A. W. Mellon Acquisition Endowment Fund and Carnegie International Acquisition Fund
![Page 36: Cultural Heritage Dates in Ruby](https://reader033.vdocuments.site/reader033/viewer/2022060205/55a1d92d1a28abf2198b459d/html5/thumbnails/36.jpg)
Precision
— January 1, 1900
— January 1900
— 1900
— the 1900s
— the 20th Century
What is the difference?
![Page 37: Cultural Heritage Dates in Ruby](https://reader033.vdocuments.site/reader033/viewer/2022060205/55a1d92d1a28abf2198b459d/html5/thumbnails/37.jpg)
date_time_precision gem
https://github.com/Spokeo/date_time_precision
Extends Ruby Date, Time, and DateTime to include the notion of date precision.
![Page 38: Cultural Heritage Dates in Ruby](https://reader033.vdocuments.site/reader033/viewer/2022060205/55a1d92d1a28abf2198b459d/html5/thumbnails/38.jpg)
require 'date_time_precision
year = DateTime.new(1990)=> #<DateTime: 1990-01-01T00:00:00+00:00 ((2447893j,0s,0n),+0s,2299161j)>
year.precision => 1 # or DateTimePrecision::YEAR
year.day?=> false
year.year?=> true
![Page 39: Cultural Heritage Dates in Ruby](https://reader033.vdocuments.site/reader033/viewer/2022060205/55a1d92d1a28abf2198b459d/html5/thumbnails/39.jpg)
Persists via copy
new_year = year=> #<DateTime: 1990-01-01T00:00:00+00:00 ((2447893j,0s,0n),+0s,2299161j)>
new_year.precision=> 1
![Page 40: Cultural Heritage Dates in Ruby](https://reader033.vdocuments.site/reader033/viewer/2022060205/55a1d92d1a28abf2198b459d/html5/thumbnails/40.jpg)
Needed to handle DECADE && CENTURY precision
year = DateTime.new(1755)
year.decade=> 1750
century = yearcentury.precision = DateTimePrecision::CENTURY
year.century=> 1700
![Page 41: Cultural Heritage Dates in Ruby](https://reader033.vdocuments.site/reader033/viewer/2022060205/55a1d92d1a28abf2198b459d/html5/thumbnails/41.jpg)
Custom Extensions for Date#earliest && Date#latest
year = Date.new(1755)
year.earliest=> Wed, 01 Jan 1755year.latest=> Wed, 31 Dec 1755
century = Date.new(1800)century.precision = DateTimePrecision::CENTURY
century.earliest=> Wed, 01 Jan 1800century.latest=> Sun, 31 Dec 1899
![Page 42: Cultural Heritage Dates in Ruby](https://reader033.vdocuments.site/reader033/viewer/2022060205/55a1d92d1a28abf2198b459d/html5/thumbnails/42.jpg)
OntologiesModeling the data.
![Page 43: Cultural Heritage Dates in Ruby](https://reader033.vdocuments.site/reader033/viewer/2022060205/55a1d92d1a28abf2198b459d/html5/thumbnails/43.jpg)
...
What is the CIDOC CRM
The CIDOC Conceptual Reference Model (CRM) provides definitions and a formal structure for describing the implicit and explicit concepts and relationships used in cultural heritage documentation.
— http://www.cidoc-crm.org
![Page 44: Cultural Heritage Dates in Ruby](https://reader033.vdocuments.site/reader033/viewer/2022060205/55a1d92d1a28abf2198b459d/html5/thumbnails/44.jpg)
A Timeline represents the entire history of ownership of a single work.
![Page 45: Cultural Heritage Dates in Ruby](https://reader033.vdocuments.site/reader033/viewer/2022060205/55a1d92d1a28abf2198b459d/html5/thumbnails/45.jpg)
A Period is a single period in time representing an single owner of a work.
![Page 46: Cultural Heritage Dates in Ruby](https://reader033.vdocuments.site/reader033/viewer/2022060205/55a1d92d1a28abf2198b459d/html5/thumbnails/46.jpg)
Beginnings & Endings
![Page 47: Cultural Heritage Dates in Ruby](https://reader033.vdocuments.site/reader033/viewer/2022060205/55a1d92d1a28abf2198b459d/html5/thumbnails/47.jpg)
George, 1950; Mary 1965.
![Page 48: Cultural Heritage Dates in Ruby](https://reader033.vdocuments.site/reader033/viewer/2022060205/55a1d92d1a28abf2198b459d/html5/thumbnails/48.jpg)
George, by 1960 until sometime after 1962; Mary, in 1970.
![Page 49: Cultural Heritage Dates in Ruby](https://reader033.vdocuments.site/reader033/viewer/2022060205/55a1d92d1a28abf2198b459d/html5/thumbnails/49.jpg)
John Doe, 1995
![Page 50: Cultural Heritage Dates in Ruby](https://reader033.vdocuments.site/reader033/viewer/2022060205/55a1d92d1a28abf2198b459d/html5/thumbnails/50.jpg)
John Doe, by 1995
![Page 51: Cultural Heritage Dates in Ruby](https://reader033.vdocuments.site/reader033/viewer/2022060205/55a1d92d1a28abf2198b459d/html5/thumbnails/51.jpg)
John Doe, after 1995
![Page 52: Cultural Heritage Dates in Ruby](https://reader033.vdocuments.site/reader033/viewer/2022060205/55a1d92d1a28abf2198b459d/html5/thumbnails/52.jpg)
John Doe, until 1995
![Page 53: Cultural Heritage Dates in Ruby](https://reader033.vdocuments.site/reader033/viewer/2022060205/55a1d92d1a28abf2198b459d/html5/thumbnails/53.jpg)
John Doe, until at least 1995
![Page 54: Cultural Heritage Dates in Ruby](https://reader033.vdocuments.site/reader033/viewer/2022060205/55a1d92d1a28abf2198b459d/html5/thumbnails/54.jpg)
John Doe, until sometime before 1995
![Page 55: Cultural Heritage Dates in Ruby](https://reader033.vdocuments.site/reader033/viewer/2022060205/55a1d92d1a28abf2198b459d/html5/thumbnails/55.jpg)
John Doe, in 1960
![Page 56: Cultural Heritage Dates in Ruby](https://reader033.vdocuments.site/reader033/viewer/2022060205/55a1d92d1a28abf2198b459d/html5/thumbnails/56.jpg)
John Doe, 1950 until 2000
![Page 57: Cultural Heritage Dates in Ruby](https://reader033.vdocuments.site/reader033/viewer/2022060205/55a1d92d1a28abf2198b459d/html5/thumbnails/57.jpg)
require 'museum_provenance'
text = "sold December 1936 to Robert Doe, Pittsburgh"period = MuseumProvenance::Period.new() puts period.parse_time_string(text)# => sold to Robert Doe, Pittsburgh
puts period.beginning.to_s# => December 1936
puts period.beginning.earliest# => 1936-12-01
puts period.beginning.latest# => 1936-12-31
puts period.ending.to_s# => nil
![Page 58: Cultural Heritage Dates in Ruby](https://reader033.vdocuments.site/reader033/viewer/2022060205/55a1d92d1a28abf2198b459d/html5/thumbnails/58.jpg)
Why all this work?
![Page 59: Cultural Heritage Dates in Ruby](https://reader033.vdocuments.site/reader033/viewer/2022060205/55a1d92d1a28abf2198b459d/html5/thumbnails/59.jpg)
Nazi War Crimes.
![Page 60: Cultural Heritage Dates in Ruby](https://reader033.vdocuments.site/reader033/viewer/2022060205/55a1d92d1a28abf2198b459d/html5/thumbnails/60.jpg)
![Page 61: Cultural Heritage Dates in Ruby](https://reader033.vdocuments.site/reader033/viewer/2022060205/55a1d92d1a28abf2198b459d/html5/thumbnails/61.jpg)
Thank You.https://github.com/cmoa/museum_provenance
David Newbury@workergnome