4 ms·
Difficult to understand how to extract artist information reliably. This is a flat data set so to do a proper ETL into a relational database you'll need to norm
by mdoms 5y ago
Difficult to understand how to extract artist information reliably. This is a flat data set so to do a proper ETL into a relational database you'll need to normalize as you go. But each piece of information about the artists is stored in a separate array, and the arrays are not all of the same size. So assuming you can rely on the arrays all being ordered the same (dubious assumption) there's still no way to map reliably.
For example, how do I create Artist records with the correct bios assigned to each artist from this record? (Nationality is easy, if the sorting assumption holds).
{
"Title": "Zhar-ptitsa, nos. 1-14",
"Artist": [
"Léon Bakst",
"Ivan Bilibin",
"Leonid Brailovskii",
"Sergei Chekhonin",
"L. E. Chirikov",
"Natalia Goncharova",
"Boris Grigor'ev",
"Boris Kustodiev",
"Mikhail Larionov",
"Georgi Shlikht"
],
"ConstituentID": [
300,
23753,
23754,
14602,
23755,
2229,
14632,
23756,
3389,
23757
],
"ArtistBio": [
"Russian, 1866–1924",
"Russian, 1881–1962",
"Russian, 1881–1964"
],
"Nationality": [
"Russian",
"",
"",
"",
"",
"Russian",
"",
"",
"Russian"
],
- joe5150 5y agoIn this case, each ConstituentID in the Artworks.json records corresponds to an artist in the Artists.json records. I would cross-reference these two datasets and discard "Artist", "ArtistBio", etc from Artworks.json.