{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# #RickyRenuncia Project\n", "\n", "The notebooks in this case module summarize part of the experiences the team of the [#RickyRenuncia Project](https://libarchivist.com/rrp/rickyrenuncia/) while working with Twitter data.\n", "\n", "* Contributors: Marisol Ramos, Irmarie Fraticelli-Rodríguez, Joel Blanco-Rivera & Eduardo Beltran Feliciano\n", "* Source Available: https://github.com/RickyRenunciaProject/RikcyRenuncia-case-module\n", "* License: [Creative Commons - Attribute 4.0 Intl](https://creativecommons.org/licenses/by/4.0/)\n", "* [Lesson Plan for Instructors](./lesson-plan.ipynb)\n", "\n", "## Introduction\n", "\n", "On July 13, 2019, the Centro de Periodismo Investigativo (CPI) shared 889 pages of a private chat from Telegram platform where governor Ricardo Roselló Nevares and several of the members of his cabinet discussed a variety of strategies to manipulate public opinion. They wanted to change the negative narrative against the government related to the management of funds for the recovery effort after Hurricane María or the real number of deaths that occurred after this catastrophe. Furthermore, they used this platform to discuss and/or plan attacks against who they considered their political enemies such as the mayor of San Juan, Carmen Yulín Cruz, the grassroots organization el Colectiva Feminista o the LGBT singer Ricky Martin, using misogynistic and homophobic language.\n", "\n", "The private chat also uncovered sexist comments made by the governor and his brothers about women they dislike whom they called putas (bitches) or gatitas (kittens), and cruel and macabre jokes they made related to the backlog of dead bodies waiting for autopsies at the morgue in Ciencias Forenses: \n", "\n", "**Ch Sobri admin**: Ahora que estamos en ese tema sobre Ciencias Forenses, no tenemos algun cadaver para alimentar a nuestros cuervos? Claramente necesitan atención (El Chat de Telegram).\n", "\n", "This crass behavior triggered a massive public response never seen in Puerto Rico. Thousands of people took to the streets to protest demanding the resignation of the governor of his post. The magnitude of these protests exceeded similar demonstrations in the past such as the marches against the US Navy and their presence in the island-municipality of Vieques back in 2000. Some people called this movement the #RickyRenuncia (in reference to the hashtag used on Twitter and Facebook), while others are calling the events the **verano puertorriqueño**, **verano Boricua** or, **el verano del 2019**.\n", "\n", "\n", "\n", "\"Renamed\n", "\n", "### Further Information\n", "Learn more about this project at the [website](https://libarchivist.com/rrp/rickyrenuncia/index)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Objectives\n", "\n", "The RickyRenuncia Project's main objective is to preserve digital materials (video, audio, images, news, tweets, among others) related to the resignation of the Governor of Puerto Rico, Ricardo Rosselló. For this IMLS grant project, our main objective was to share what tools we used to capture and analyze Twitter data collected around the time of the *Summer of 2019* in Puerto Rico.\n", "\n", "- Utilize RDF schemas to represent data from social media.\n", "- Familiarize with Twarc tool.\n", "- Visualize GeoJSON data.\n", "- See the potential of Web Interfaces curatorial purposes.\n", "- Generate visualizations from popularity indexes.\n", "- Introduction to SQL queries.\n", "- Introduction to Pandas Dataframes\n", "\n", "## Learning Goals\n", "\n", "* **Computational Practices**:\n", " * Utilize third party tools to acquire data.\n", " * See the potential of Web Interfaces curatorial purposes.\n", " * Generate visualizations from popularity indexes.\n", "* **Archival Practices**:\n", " * Utilize RDF schemas to represent data from social media.\n", " * Familiarize with Twarc tool.\n", " * Metadata Crosswalk" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Software and Tools\n", "\n", "As part of this \n", "\n", "* [Twarc](https://pypi.org/project/twarc/)\n", "* [tweet-requester](https://pypi.org/project/tweet-requester/)\n", "* [pandas](https://pandas.pydata.org/docs/)\n", "* [sqlite3](https://docs.python.org/3/library/sqlite3.html)\n", "* [matplotlib](https://matplotlib.org/)\n", "\n", "\n", "## API Credentials\n", "\n", "As later parts of this notebook require Twitter API and Google API credentials, we recommend users to take a look at [Developer Registration](Developer_Registration.ipynb) before they continue with the rest of the experience.\n", "\n", "\n", "## Python Library\n", "\n", "Install the python library `tweet-requester` in you environment as it will be used in some of the notebooks." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# Install a pip package in the current Jupyter kernel\n", "import sys\n", "!{sys.executable} -m pip install -q tweet-requester\n", "!{sys.executable} -m pip show tweet-requester" ] }, { "cell_type": "markdown", "metadata": { "tags": [] }, "source": [ "# Acquiring or Accessing the Data\n", "Please write instructions here that show users how to obtain the research data, or let them know that it is packaged with your notebooks in Github. Does the student or user need additional permissions or accounts in order to obtain the data. If the data is downloaded separately, how should they save the data locally.\n", "In some cases the data may be available from a web API. If so, then what steps are needed in order to access that API?\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Notebooks\n", "1. [Capturing Multimedia and Tweets with RDF](./1-Crosswalk.ipynb)\n", "1. [Twarc Tutorial](./2-Twarc.ipynb)\n", "1. [Evaluating Tweets](./3-Evaluating_Content.ipynb) \n", "1. [Popularity Rating](./4-Media_Rating.ipynb) " ] } ], "metadata": { "cases_info": { "computational_practices": [ "cas:dp_collecting_data", "cas:dp_creating_data" ] }, "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.10" } }, "nbformat": 4, "nbformat_minor": 4 }