chdl-0011
CH’s Rock Explosion of 1971-72
Above: Ticket image courtesy Carnegie Hall Rose Archives
Carnegie Hall experienced a veritable rock explosion during its 1971-72 season, with 70 rock concerts between September 1971 and June 1972.
Here are two ways to learn about these events. First, explore a birthplace map of the rockers who performed on these concerts by clicking on the 🔴 red map markers!
Find out more about these events and their contemporary context in the chronological table below. Click on an event title to view details, and view the Billboard Hot 100 charts for that particular week.
Lab Report
EXPERIMENT LABEL/TITLE
CH’s Rock Explosion of 1971-72
TL;DR
We created a map to explore the birthplaces of rock performers from Carnegie Hall’s 1971-72 season, a table to link to information on each performance, and a link to the Billboard Hot 100 charts from the week of each concert.
-verbose
Carnegie Hall experienced a veritable rock explosion during its 1971-72 season, with 70 rock concerts between September 1971 and June 1972. The years following the 1964 appearances by the Beatles and Rolling Stones showed steady yearly increases in the number of rock events at Carnegie Hall, from one in 1967-68, four in 1968-69, and 13 in 1969-70. But even given a jump to 38 events in 1970-71, the 70 rock concerts in 1971-72 marked a nearly unprecedented increase.
As a means to begin exploring the origins, impact, and cultural context of this period in both rock music’s and Carnegie Hall’s history, we correlated 1) a birthplace map of the performers on these events; 2) links to detailed performance information (where available); and 3) links to the Billboard Hot 100 charts corresponding to the week of each event. Since the Hot 100 reflects album sales and popular tastes, it offers an interesting contemporary lens through which to consider these events. We used performance history data from our SPARQL endpoint and data and display templates from Wikidata’s query service.
METHODS
We first ran a very basic SPARQL query to obtain the Carnegie Hall name IDs of the performers on these 70 concerts (e.g. this ID for Neil Young), which we used to create a Wikidata query to plot the birthplace of each performer on a map, using the Wikidata property for Carnegie Hall Agent ID, P4104, and the query service’s built-in map template:
#defaultView:Map
SELECT ?person ?personLabel ?personImage ?birthPlaceLabel ?location (YEAR(?date) as ?year)
(IRI(CONCAT("https://www.carnegiehall.org/About/History/Performance-History-Search?q=&dex=prod_PHS&pf=",
(STR(ENCODE_FOR_URI(?personLabel))))) AS ?phsLink)
WHERE
{
VALUES ?chAgentID {"124647" "124688" "124689" "11159" "124704" "124687" "78264" "78265" "124613" "34392"
"56064" "80081" "69354" "69356" "73058" "64230" "61695" "76004" "18592" "82746"
"69353" "80080" "104468" "104470" "104469" "63464" "104471" "124599" "124600"
"66122" "118317" "25403" "82747" "14113" "15294" "124610" "124611" "63461"
"82742" "33038" "39010" "124631" "119910" "119907" "52619" "66121" "44128"
"30315" "14578" "59400" "55994" "47902" "38883" "44127" "14100" "20112" "82745"
"119909" "124706" "118316" "124634" "82748" "20869" "68198" "124639" "63467"
"45335" "63468" "63463" "6445" "119911" "48889" "63470" "24423" "59309" "59983"
"63462" "63466" "124643" "64306" "124646" "44507" "124609" "124612" "10103"
"124636" "124640" "82743" "63471" "124644" "66129" "18504" "26354" "30297" "55993"
"124635" "50618" "63472" "78263" "118315" "61577" "66128" "106792" "104472" "124616"}
?person wdt:P569 ?date ;
wdt:P19 ?birthPlace ;
wdt:P4104 ?chAgentID .
?birthPlace wdt:P625 ?location .
OPTIONAL { ?person wdt:P18 ?personImage }
SERVICE wikibase:label { bd:serviceParam wikibase:language "en". }
}
ORDER BY ?year
For the Carnegie Hall event data, we created a second query for our own SPARQL endpoint to retrieve the ID, title, and date for each event. The query also outputs a formatted link to our online Performance History Search, which provides a convenient means to view the details of each performance:
PREFIX chgenres: <http://data.carnegiehall.org/genres/>
PREFIX dcterms: <http://purl.org/dc/terms/>
PREFIX event: <http://purl.org/NET/c4dm/event.owl#>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX mo: <http://purl.org/ontology/mo/>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
SELECT DISTINCT (str(?label) AS ?eventTitle) ?date ?phsLink
WHERE {
?event rdfs:label ?label ;
mo:genre chgenres:39 ;
dcterms:date ?date ;
event:place ?place .
?place rdfs:label ?venueLabel .
BIND(IRI(REPLACE(str(?event), "http://data.carnegiehall.org/events/", "https://www.carnegiehall.org/About/History/Performance-History-Search?q=&dex=prod_PHS&event=")) AS ?phsLink).
FILTER(?date >= xsd:dateTime("1971-09-01T00:00:00") && ?date <= xsd:dateTime("1972-09-01T00:00:00"))
}
ORDER BY ?date
Note that both this query and the performer ID query mentioned above make use of event-level statements about the genre of a performance (http://data.carnegiehall.org/genres/39
). To learn more about our approach to the concept of genre in our performance history data, please see this discussion post.
Finally, we wrote a Python script that uses the output of the above SPARQL query to find the corresponding Billboard Hot 100 chart from the week of each event and assemble all the data in a text file, which can then be easily translated into the Markdown format used by GitHub Pages. Since the Hot 100 is published weekly on Saturday, we needed to take each event date and calculate what the date for Saturday of that week would have been, which is then combined with the base URL for the Hot 100 charts:
# !/usr/local/bin/python3.8.1
# ----Copyright (c) 2021 Carnegie Hall | The MIT License (MIT)----
# ----For the full license terms, please visit https://github.com/CarnegieHall/linked-data/blob/master/LICENSE----
## Argument[0] is script to run
## Argument[1] is path to JSON results from SPARQL query of CH rock events
import json
import sys
from datetime import datetime, timedelta
import dateutil.parser
def get_next_weekday(startdate):
"""
@startdate: given date, in format 'YYYY-MM-DD'
"""
d = datetime.strptime(startdate, '%Y-%m-%d')
t = timedelta((12 - d.weekday()) % 7)
return (d + t).strftime('%Y-%m-%d')
filePath_1 = sys.argv[1]
displayData = ''
with open(filePath_1, newline=None) as f1:
chData = json.load(f1)
for result in chData["results"]["bindings"]:
eventTitle = result["eventTitle"]["value"]
eventDate = result["date"]["value"]
href_phs = result["phsLink"]["value"]
tagOpen_start = '<a href="'
tagOpen_end = '" target="_blank">'
tagClose = '</a>'
phs_formattedLink = f'{tagOpen_start}{href_phs}{tagOpen_end}{eventTitle}{tagClose}'
displayDate = dateutil.parser.isoparse(eventDate).strftime('%a %b %-d %Y at %-I%p')
eventDateTime = dateutil.parser.parse(eventDate)
startdate = str(datetime.date(eventDateTime))
hot100_date = get_next_weekday(startdate)
href_hot100 = 'https://www.billboard.com/charts/hot-100/'
text_hot100 = 'Billboard Hot 100 for this week'
hot100_formattedLink = f'{tagOpen_start}{href_hot100}{hot100_date}{tagOpen_end}{text_hot100}{tagClose}'
dataStr = f'{phs_formattedLink}\t{displayDate}\t{hot100_formattedLink}\n'
displayData += dataStr
with open('rockEvents.txt', 'w') as textFile:
textFile.write(displayData)
The output of the Python script is a simple TSV file (saved as .txt), which we then opened in the Atom text editor and used Atom’s tsv-to-md package to quickly convert the file to Markdown format to paste into our Experiment template on GitHub.
CONCLUSIONS
what we learned
Wikidata’s out-of-the-box display templates are a wonderful way to easily create data visualizations, and do not require hosting your own dataset or creating your own visualization tools. They allow us to leverage the Carnegie Hall Agent ID property to surface interesting connections between CH’s named entities and external data/resources. The Billboard Hot 100 charts offer an interesting contemporary lens through which to view these rock concerts, since the programmatic content of the performances directly correlates to popular trends in a way that more “typical” Carnegie Hall performances featuring canonical classical works usually does not.
further investigation
We hope to soon write a blog post or article exploring this fascinating season of concerts in greater depth. This would include research in our archival collections to consult board minutes and executive files from the seasons preceding and following 1971-72, in order to better understand both the sudden spike in rock bookings and the subsequent sharp drop-off.