{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Review of data ingested from TAPoR (draft)\n", "\n", "This is document cheks the TAPoR dataset using the python library Pandas.\n", "\n", "Reference to ticket: https://gitlab.gwdg.de/sshoc/data-ingestion/-/issues/7\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Preamble" ] }, { "cell_type": "code", "execution_count": 79, "metadata": {}, "outputs": [], "source": [ "import ast\n", "import sys\n", "import numpy as np\n", "import pandas as pd\n", "import matplotlib.pyplot as plt\n", "\n", "from bokeh.io import output_notebook, show\n", "from bokeh.plotting import figure\n", "\n", "from im_tutorials.data import *\n", "from im_tutorials.utilities import flatten_lists\n", "from im_tutorials.features.text_preprocessing import *\n", "from im_tutorials.features.document_vectors import document_vector\n", "from im_tutorials.features.dim_reduction import WrapTSNE, GaussianMixtureEval\n", "# for db\n", "import sqlalchemy as db\n", "from sqlalchemy import *" ] }, { "cell_type": "code", "execution_count": 107, "metadata": {}, "outputs": [], "source": [ "engine = create_engine(\n", " \"connection_string\")\n", "connection = engine.connect()\n", "metadata = db.MetaData()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Import data" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Query the DB to get TAPoR data\n", "\n", "The TAPoR dataset used in this document is the sql dump published by Education and Research Archive (ERA) University of Alberta: \n", "\n", "https://era.library.ualberta.ca/items/f2da0666-f523-44d4-a83c-fa06351a1e94 \n", "\n", "(creation date: 2020-01-01).\n", "The table *tool* contains 1504 records, each one describing a tool. \n", "Records have been filtered according the value of the field *tool.is_approved*, there are 1363 *approved* records.\n", "In this document this dataset will be called the **TAPoR dataset**.\n", "\n", "*Note that the TAPoR dataset reviewed here is not the same that has been used for the MP ingestion, this document will be update when we'll have it*\n" ] }, { "cell_type": "code", "execution_count": 108, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "RangeIndex(start=0, stop=1363, step=1)" ] }, "execution_count": 108, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df_db_tools=pd.read_sql_query('SELECT * FROM TaPOR.tools where is_approved=1 order by last_updated', connection)\n", "df_db_tools.index" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### An example of TAPoR item\n", "Let's take a look at a random TAPoR dataset entry.\n", "(The database schema of the TAPoR dataset is described here: https://era.library.ualberta.ca/items/f2da0666-f523-44d4-a83c-fa06351a1e94/download/8057eae2-3fae-4afa-bc8e-6dcc2a257b6f.)" ] }, { "cell_type": "code", "execution_count": 116, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "id 254\n", "user_id NaN\n", "name TextQuest\n", "detail
TextQuest is a text analysis program availa...\n", "url http://www.textquest.de/pages/en/general-infor...\n", "is_approved 1\n", "creators_name Social Science Consulting\n", "creators_email info@textquest.de\n", "creators_url http://www.textquest.de/\n", "image_url images/tools/0/254.png\n", "star_average 0\n", "is_hidden 0\n", "last_updated 2013-05-13\n", "documentation_url http://www.textquest.de/pages/en/analysis-of-t...\n", "code None\n", "repository \n", "language NaN\n", "nature 0\n", "created_at 2013-05-13 18:57:27\n", "updated_at 2017-10-31 14:25:28\n", "recipes \n", "Name: 500, dtype: object" ] }, "execution_count": 116, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#df_db_tools.dtypes\n", "df_db_tools.iloc[500]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The following table shows 5 records of the TAPoR dataset." ] }, { "cell_type": "code", "execution_count": 111, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", " | id | \n", "user_id | \n", "name | \n", "detail | \n", "url | \n", "is_approved | \n", "creators_name | \n", "creators_email | \n", "creators_url | \n", "image_url | \n", "... | \n", "is_hidden | \n", "last_updated | \n", "documentation_url | \n", "code | \n", "repository | \n", "language | \n", "nature | \n", "created_at | \n", "updated_at | \n", "recipes | \n", "
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
906 | \n", "937 | \n", "1.0 | \n", "140kit | \n", "<p>140kit provides a management layer for twee... | \n", "https://github.com/WebEcologyProject/140kit | \n", "1 | \n", "Ian Pearce, Devin Gaffney | \n", "None | \n", "None | \n", "images/tools/1/937.png | \n", "... | \n", "0 | \n", "2018-10-05 | \n", "None | \n", "None | \n", "None | \n", "NaN | \n", "0 | \n", "2015-05-24 00:00:00 | \n", "2018-10-05 04:43:34 | \n", "\n", " |
334 | \n", "1229 | \n", "1.0 | \n", "3DVIA Virtools | \n", "<p>A software tool for the creation of 3D inte... | \n", "None | \n", "1 | \n", "Dassault Systemes | \n", "None | \n", "None | \n", "None | \n", "... | \n", "0 | \n", "None | \n", "None | \n", "None | \n", "None | \n", "NaN | \n", "0 | \n", "2014-12-29 00:00:00 | \n", "2014-12-29 00:00:00 | \n", "\n", " |
688 | \n", "783 | \n", "1.0 | \n", "4th Dimension | \n", "4th Dimension is a graphic environment for dev... | \n", "http://www.4d.com/products/4d2004/4dstandarded... | \n", "1 | \n", "4D | \n", "None | \n", "http://www.4d.com/ | \n", "images/tools/1/783.png | \n", "... | \n", "0 | \n", "2018-09-18 | \n", "None | \n", "None | \n", "None | \n", "NaN | \n", "0 | \n", "2015-05-24 00:00:00 | \n", "2018-09-18 20:39:31 | \n", "\n", " |
1156 | \n", "648 | \n", "937.0 | \n", "80legs | \n", "80legs is a web crawling service. You need to ... | \n", "http://80legs.com/ | \n", "1 | \n", "80legs | \n", "\n", " | \n", " | images/tools/1/648.png | \n", "... | \n", "0 | \n", "2018-10-30 | \n", "None | \n", "None | \n", "\n", " | NaN | \n", "0 | \n", "2017-10-15 23:04:46 | \n", "2018-10-30 16:03:45 | \n", "\n", " |
770 | \n", "1454 | \n", "1.0 | \n", "960 Grid System | \n", "<p>960 Grid System is a CSS template that come... | \n", "https://960.gs/ | \n", "1 | \n", "Nathan Smith | \n", "None | \n", "http://sonspring.com/ | \n", "images/tools/2/1454.png | \n", "... | \n", "0 | \n", "2018-09-27 | \n", "None | \n", "None | \n", "https://github.com/nathansmith/960-Grid-System | \n", "NaN | \n", "0 | \n", "2014-12-29 00:00:00 | \n", "2018-09-27 22:29:43 | \n", "\n", " |
5 rows × 21 columns
\n", "140kit provides a management layer for twee... \n", "334
A software tool for the creation of 3D inte... \n", "688 4th Dimension is a graphic environment for dev... \n", "1156 80legs is a web crawling service. You need to ... \n", "770
960 Grid System is a CSS template that come... \n", "\n", " url is_approved \\\n", "906 https://github.com/WebEcologyProject/140kit 1 \n", "334 None 1 \n", "688 http://www.4d.com/products/4d2004/4dstandarded... 1 \n", "1156 http://80legs.com/ 1 \n", "770 https://960.gs/ 1 \n", "\n", " creators_name creators_email creators_url \\\n", "906 Ian Pearce, Devin Gaffney None None \n", "334 Dassault Systemes None None \n", "688 4D None http://www.4d.com/ \n", "1156 80legs \n", "770 Nathan Smith None http://sonspring.com/ \n", "\n", " image_url ... is_hidden last_updated documentation_url \\\n", "906 images/tools/1/937.png ... 0 2018-10-05 None \n", "334 None ... 0 None None \n", "688 images/tools/1/783.png ... 0 2018-09-18 None \n", "1156 images/tools/1/648.png ... 0 2018-10-30 None \n", "770 images/tools/2/1454.png ... 0 2018-09-27 None \n", "\n", " code repository language nature \\\n", "906 None None NaN 0 \n", "334 None None NaN 0 \n", "688 None None NaN 0 \n", "1156 None NaN 0 \n", "770 None https://github.com/nathansmith/960-Grid-System NaN 0 \n", "\n", " created_at updated_at recipes \n", "906 2015-05-24 00:00:00 2018-10-05 04:43:34 \n", "334 2014-12-29 00:00:00 2014-12-29 00:00:00 \n", "688 2015-05-24 00:00:00 2018-09-18 20:39:31 \n", "1156 2017-10-15 23:04:46 2018-10-30 16:03:45 \n", "770 2014-12-29 00:00:00 2018-09-27 22:29:43 \n", "\n", "[5 rows x 21 columns]" ] }, "execution_count": 111, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df_db_tools.sort_values('name').head(5)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Check for duplicates in TAPoR dataset\n", "Considering the values for 'name' and 'url', it appears that in the TAPoR dataset there are 4 duplicated descriptions" ] }, { "cell_type": "code", "execution_count": 117, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", " | id | \n", "user_id | \n", "name | \n", "detail | \n", "url | \n", "is_approved | \n", "creators_name | \n", "creators_email | \n", "creators_url | \n", "image_url | \n", "... | \n", "is_hidden | \n", "last_updated | \n", "documentation_url | \n", "code | \n", "repository | \n", "language | \n", "nature | \n", "created_at | \n", "updated_at | \n", "recipes | \n", "
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1358 | \n", "148 | \n", "NaN | \n", "AntConc | \n", "AntConc is free concordance software. It is mu... | \n", "http://www.laurenceanthony.net/software/antconc/ | \n", "1 | \n", "Laurence Anthony | \n", "anthony@waseda.jp | \n", "http://www.antlab.sci.waseda.ac.jp/index.html | \n", "images/tools/0/148.png | \n", "... | \n", "0 | \n", "2019-08-19 | \n", "http://www.laurenceanthony.net/software/antcon... | \n", "None | \n", "\n", " | NaN | \n", "0 | \n", "2012-07-30 18:25:44 | \n", "2019-08-19 00:37:45 | \n", "\n", " |
1362 | \n", "1565 | \n", "1201.0 | \n", "SentiStrength | \n", "SentiStrength is a sentiment analysis (opinion... | \n", "http://sentistrength.wlv.ac.uk/ | \n", "1 | \n", "Mike Thelwall | \n", "m.thelwall@wlv.ac.uk | \n", "http://sentistrength.wlv.ac.uk | \n", "images/tools/3/1565.png | \n", "... | \n", "0 | \n", "2019-09-27 | \n", "None | \n", "None | \n", "\n", " | NaN | \n", "0 | \n", "2019-09-20 05:03:47 | \n", "2019-09-27 10:03:35 | \n", "\n", " |
652 | \n", "580 | \n", "937.0 | \n", "Voyant 2.0: Knots | \n", "Voyant Knots is a visualization where a line i... | \n", "http://voyant-tools.org/?view=knots | \n", "1 | \n", "Stéfan Sinclair and Geoffrey Rockwell | \n", "stefan.sinclair@mcgill.ca | \n", "http://stefansinclair.name/ | \n", "images/tools/1/580.png | \n", "... | \n", "1 | \n", "2016-04-29 | \n", "None | \n", "None | \n", "\n", " | NaN | \n", "0 | \n", "2016-04-29 16:08:28 | \n", "2017-10-31 14:26:36 | \n", "\n", " |
653 | \n", "581 | \n", "937.0 | \n", "Voyant 2.0: Knots | \n", "Voyant Knots is a visualization where a line i... | \n", "http://voyant-tools.org/?view=knots | \n", "1 | \n", "Stéfan Sinclair and Geoffrey Rockwell | \n", "stefan.sinclair@mcgill.ca | \n", "http://stefansinclair.name/ | \n", "images/tools/1/581.png | \n", "... | \n", "0 | \n", "2016-04-29 | \n", "None | \n", "None | \n", "\n", " | NaN | \n", "0 | \n", "2016-04-29 16:11:55 | \n", "2017-10-31 14:26:36 | \n", "\n", " |
4 rows × 21 columns
\n", "\n", " | id | \n", "category | \n", "label | \n", "version | \n", "description | \n", "licenses | \n", "contributors | \n", "properties | \n", "accessibleAt | \n", "sourceItemId | \n", "... | \n", "status | \n", "comments | \n", "olderVersions | \n", "newerVersions | \n", "repository | \n", "source.id | \n", "source.label | \n", "source.url | \n", "source.urlTemplate | \n", "source | \n", "
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
326 | \n", "335 | \n", "tool | \n", "EVI-LINHD | \n", "None | \n", "EVI-LINHD is a free and open-source cloud plat... | \n", "[] | \n", "[{'actor': {'id': 275, 'name': 'Elena González... | \n", "[{'id': 2702, 'type': {'code': 'thumbnail', 'l... | \n", "http://www.evilinhd.com/ | \n", "594 | \n", "... | \n", "ingested | \n", "[] | \n", "[] | \n", "[] | \n", "None | \n", "1.0 | \n", "TAPoR | \n", "http://tapor.ca | \n", "http://tapor.ca/tools/{source-item-id} | \n", "NaN | \n", "
532 | \n", "776 | \n", "tool | \n", "JSAN | \n", "None | \n", "The Integrated JStylo and Anonymouth Package. ... | \n", "[] | \n", "[{'actor': {'id': 493, 'name': '18th Connect',... | \n", "[{'id': 7310, 'type': {'code': 'thumbnail', 'l... | \n", "https://github.com/psal/jstylo | \n", "1559 | \n", "... | \n", "ingested | \n", "[] | \n", "[] | \n", "[] | \n", "None | \n", "1.0 | \n", "TAPoR | \n", "http://tapor.ca | \n", "http://tapor.ca/tools/{source-item-id} | \n", "NaN | \n", "
533 | \n", "451 | \n", "tool | \n", "JSAN | \n", "None | \n", "The Integrated JStylo and Anonymouth Package. ... | \n", "[] | \n", "[{'actor': {'id': 493, 'name': '18th Connect',... | \n", "[{'id': 4037, 'type': {'code': 'keyword', 'lab... | \n", "https://github.com/psal/jstylo | \n", "1557 | \n", "... | \n", "ingested | \n", "[] | \n", "[] | \n", "[] | \n", "None | \n", "1.0 | \n", "TAPoR | \n", "http://tapor.ca | \n", "http://tapor.ca/tools/{source-item-id} | \n", "NaN | \n", "
697 | \n", "1186 | \n", "tool | \n", "NodeXL | \n", "None | \n", "NodeXL is a free, open source tool for generat... | \n", "[] | \n", "[{'actor': {'id': 832, 'name': 'M. Smith, N. M... | \n", "[{'id': 11766, 'type': {'code': 'license-type'... | \n", "http://nodexl.codeplex.com/ | \n", "482 | \n", "... | \n", "ingested | \n", "[] | \n", "[] | \n", "[] | \n", "None | \n", "1.0 | \n", "TAPoR | \n", "http://tapor.ca | \n", "http://tapor.ca/tools/{source-item-id} | \n", "NaN | \n", "
854 | \n", "560 | \n", "tool | \n", "Python Tools for Text-Analysis | \n", "None | \n", "This is a set of simple, free tools for analyz... | \n", "[] | \n", "[{'actor': {'id': 424, 'name': 'David L. Hoove... | \n", "[{'id': 5060, 'type': {'code': 'thumbnail', 'l... | \n", "https://wp.nyu.edu/exceltextanalysis/python_to... | \n", "1507 | \n", "... | \n", "ingested | \n", "[] | \n", "[] | \n", "[] | \n", "None | \n", "1.0 | \n", "TAPoR | \n", "http://tapor.ca | \n", "http://tapor.ca/tools/{source-item-id} | \n", "NaN | \n", "
947 | \n", "1136 | \n", "tool | \n", "SentiStrength | \n", "None | \n", "SentiStrength is a tool for sentiment analysis... | \n", "[] | \n", "[{'actor': {'id': 799, 'name': 'Thelwall, M., ... | \n", "[{'id': 11290, 'type': {'code': 'keyword', 'la... | \n", "http://sentistrength.wlv.ac.uk/ | \n", "453 | \n", "... | \n", "ingested | \n", "[] | \n", "[] | \n", "[] | \n", "None | \n", "1.0 | \n", "TAPoR | \n", "http://tapor.ca | \n", "http://tapor.ca/tools/{source-item-id} | \n", "NaN | \n", "
948 | \n", "378 | \n", "tool | \n", "SentiStrength | \n", "None | \n", "It is a sentiment analysis program. Automatic ... | \n", "[] | \n", "[{'actor': {'id': 493, 'name': '18th Connect',... | \n", "[{'id': 3210, 'type': {'code': 'thumbnail', 'l... | \n", "http://sentistrength.wlv.ac.uk/ | \n", "1564 | \n", "... | \n", "ingested | \n", "[] | \n", "[] | \n", "[] | \n", "None | \n", "1.0 | \n", "TAPoR | \n", "http://tapor.ca | \n", "http://tapor.ca/tools/{source-item-id} | \n", "NaN | \n", "
1187 | \n", "607 | \n", "tool | \n", "UCINET | \n", "None | \n", "UCINET is a social media analysis set for soft... | \n", "[] | \n", "[{'actor': {'id': 459, 'name': 'Borgatti, S.P.... | \n", "[{'id': 5501, 'type': {'code': 'tadirah-method... | \n", "https://sites.google.com/site/ucinetsoftware/home | \n", "576 | \n", "... | \n", "ingested | \n", "[] | \n", "[] | \n", "[] | \n", "None | \n", "1.0 | \n", "TAPoR | \n", "http://tapor.ca | \n", "http://tapor.ca/tools/{source-item-id} | \n", "NaN | \n", "
476 | \n", "165 | \n", "tool | \n", "igraph | \n", "None | \n", "igraph is an open source collection of network... | \n", "[] | \n", "[{'actor': {'id': 147, 'name': 'Gábor Csárdi, ... | \n", "[{'id': 771, 'type': {'code': 'tadirah-methods... | \n", "http://igraph.org/ | \n", "623 | \n", "... | \n", "ingested | \n", "[] | \n", "[] | \n", "[] | \n", "None | \n", "1.0 | \n", "TAPoR | \n", "http://tapor.ca | \n", "http://tapor.ca/tools/{source-item-id} | \n", "NaN | \n", "
9 rows × 23 columns
\n", "\n", " | name | \n", "url | \n", "_merge | \n", "
---|---|---|---|
0 | \n", "140kit | \n", "https://github.com/WebEcologyProject/140kit | \n", "both | \n", "
1 | \n", "3DVIA Virtools | \n", "\n", " | both | \n", "
2 | \n", "4th Dimension | \n", "http://www.4d.com/products/4d2004/4dstandarded... | \n", "both | \n", "
3 | \n", "80legs | \n", "http://80legs.com/ | \n", "both | \n", "
4 | \n", "960 Grid System | \n", "https://960.gs/ | \n", "both | \n", "
\n", " | name | \n", "url | \n", "_merge | \n", "
---|---|---|---|
142 | \n", "CONDOR | \n", "http://www.ickn.org/ckntools.html | \n", "left_only | \n", "
144 | \n", "CQPweb | \n", "https://cqpweb.lancs.ac.uk/ | \n", "left_only | \n", "
146 | \n", "CSV Sort | \n", "https://bitbucket.org/richardpenman/csvsort | \n", "left_only | \n", "
156 | \n", "CasualConc | \n", "https://sites.google.com/site/casualconc/ | \n", "left_only | \n", "
161 | \n", "Chartle | \n", "\n", " | left_only | \n", "
163 | \n", "Chorus | \n", "http://chorusanalytics.co.uk/ | \n", "left_only | \n", "
165 | \n", "Chronos Timeline | \n", "http://hyperstudio.mit.edu/software/chronos-ti... | \n", "left_only | \n", "
180 | \n", "Code Bubbles | \n", "http://cs.brown.edu/~spr/codebubbles/ | \n", "left_only | \n", "
184 | \n", "Colaboratory | \n", "https://colab.research.google.com/notebooks/we... | \n", "left_only | \n", "
214 | \n", "ContaWords | \n", "http://contawords.iula.upf.edu/ | \n", "left_only | \n", "
215 | \n", "Contropedia | \n", "http://contropedia.net/ | \n", "left_only | \n", "
220 | \n", "Cowo | \n", "https://github.com/seinecle/Cowo/blob/master/R... | \n", "left_only | \n", "
223 | \n", "Critic Markup | \n", "http://criticmarkup.com/ | \n", "left_only | \n", "
228 | \n", "Cytoscape | \n", "http://www.cytoscape.org/ | \n", "left_only | \n", "
254 | \n", "Density Design - Knot | \n", "http://www.densitydesign.org/research/knot/ | \n", "left_only | \n", "
255 | \n", "DfR Browser | \n", "https://agoldst.github.io/dfr-browser/ | \n", "left_only | \n", "
300 | \n", "EVI-LINHD | \n", "http://www.evilinhd.com/ | \n", "left_only | \n", "
307 | \n", "EgoWeb 2.0 | \n", "http://www.rand.org/methods/egoweb.html | \n", "left_only | \n", "
332 | \n", "Facepager | \n", "https://github.com/strohne/Facepager | \n", "left_only | \n", "
342 | \n", "Find Locations from A Text (Named-Entity Recog... | \n", "\n", " | left_only | \n", "
\n", " | name | \n", "url | \n", "_merge | \n", "
---|---|---|---|
1343 | \n", "ANNIS | \n", "\n", " | right_only | \n", "
1344 | \n", "Adobe Flash | \n", "\n", " | right_only | \n", "
1345 | \n", "Ainm.ie | \n", "\n", " | right_only | \n", "
1346 | \n", "Alpheios | \n", "\n", " | right_only | \n", "
1347 | \n", "Anastasia | \n", "\n", " | right_only | \n", "
1348 | \n", "ArcExplorer | \n", "\n", " | right_only | \n", "
1349 | \n", "AroniSmartIntelligence™ | \n", "\n", " | right_only | \n", "
1350 | \n", "Aruspix | \n", "\n", " | right_only | \n", "
1351 | \n", "BASE | \n", "\n", " | right_only | \n", "
1352 | \n", "Basement Waterproofing: Tips and Instructions | \n", "\n", " | right_only | \n", "
1353 | \n", "Berkeley Parser | \n", "\n", " | right_only | \n", "
1354 | \n", "CATMA (Computer Aided Textual Markup and Analy... | \n", "http://www.catma.de/ | \n", "right_only | \n", "
1355 | \n", "Canva \"The Amazingly Simple Graphic Design Sof... | \n", "\n", " | right_only | \n", "
1356 | \n", "Chicken | \n", "\n", " | right_only | \n", "
1357 | \n", "CloudConvert | \n", "\n", " | right_only | \n", "
1358 | \n", "Collocate | \n", "http:// | \n", "right_only | \n", "
1359 | \n", "Commentpress | \n", "\n", " | right_only | \n", "
1360 | \n", "CoolTool NeuroLab | \n", "\n", " | right_only | \n", "
1361 | \n", "Datapress | \n", "\n", " | right_only | \n", "
1362 | \n", "Delicious | \n", "\n", " | right_only | \n", "
\n", " | name | \n", "url | \n", "last_updated | \n", "
---|---|---|---|
423 | \n", "List Words - HTML (TAPoRware) | \n", "http://taporware.ualberta.ca/~taporware/htmlTo... | \n", "2011-11-27 | \n", "
424 | \n", "List Words - XML (TAPoRware) | \n", "http://taporware.ualberta.ca/~taporware/xmlToo... | \n", "2011-11-27 | \n", "
425 | \n", "List Words - Plain Text (TAPoRware) | \n", "http://taporware.ualberta.ca/~taporware/textTo... | \n", "2011-11-28 | \n", "
426 | \n", "List Tags - HTML (TAPoRware) | \n", "http://taporware.ualberta.ca/~taporware/htmlTo... | \n", "2011-11-28 | \n", "
427 | \n", "List XML Elements (TAPoRware) | \n", "http://taporware.ualberta.ca/~taporware/xmlToo... | \n", "2011-11-28 | \n", "
\n", " | url | \n", "status | \n", "
---|---|---|
0 | \n", "test | \n", "1.0 | \n", "
1 | \n", "http://taporware.ualberta.ca/~taporware/htmlTo... | \n", "404.0 | \n", "
2 | \n", "http://taporware.ualberta.ca/~taporware/textTo... | \n", "404.0 | \n", "
3 | \n", "http://taporware.ualberta.ca/~taporware/htmlTo... | \n", "404.0 | \n", "
4 | \n", "http://taporware.ualberta.ca/~taporware/textTo... | \n", "404.0 | \n", "
\n", " | name | \n", "
---|---|
0 | \n", "Type of analysis | \n", "
1 | \n", "Type of license | \n", "
2 | \n", "Background Processing | \n", "
3 | \n", "Web Usable | \n", "
4 | \n", "Ease of Use | \n", "
5 | \n", "Warning | \n", "
6 | \n", "Usage | \n", "
7 | \n", "Tool Family | \n", "
8 | \n", "Historic Tool (developed before 2005) | \n", "
9 | \n", "Compute Canada | \n", "
10 | \n", "Link to Recipe | \n", "
11 | \n", "TaDiRAH Goals | \n", "
12 | \n", "TaDiRAH Methods | \n", "
\n", " | id | \n", "name | \n", "creators_name | \n", "url | \n", "
---|---|---|---|---|
0 | \n", "579 | \n", "Voyant 2.0: Knots | \n", "Stéfan Sinclair and Geoffrey Rockwell | \n", "http://voyant-tools.org/?view=knots | \n", "
1 | \n", "591 | \n", "Warc Extractor | \n", "Ryan Chartier & Internet Archive | \n", "https://github.com/recrm/ArchiveTools/blob/mas... | \n", "
2 | \n", "754 | \n", "TAGS https://t.co/T007ezdZoA | \n", "\n", " | None | \n", "
3 | \n", "755 | \n", "Multiple enhancements to DiRT Directory (tools... | \n", "\n", " | None | \n", "
4 | \n", "758 | \n", "RT : Today's \"dirt\": DiRT now uses TaDiRAH ter... | \n", "\n", " | None | \n", "
5 | \n", "823 | \n", "Basement Waterproofing: Tips and Instructions | \n", "\n", " | None | \n", "
6 | \n", "1017 | \n", "Datapress | \n", "MIT CSAIL | \n", "None | \n", "
7 | \n", "1063 | \n", "WordVenture | \n", "WordNet | \n", "None | \n", "
8 | \n", "1174 | \n", "VoiceThread | \n", "VoiceThread LLC | \n", "None | \n", "
9 | \n", "1183 | \n", "Purdue OWL | \n", "Purdue University Writing Lab, Purdue Universi... | \n", "None | \n", "
10 | \n", "1352 | \n", "Aruspix | \n", "\n", " | None | \n", "
11 | \n", "1369 | \n", "MMax2 | \n", "\n", " | None | \n", "
12 | \n", "1377 | \n", "Lextek | \n", "\n", " | None | \n", "
\n", " | id | \n", "name | \n", "detail | \n", "creators_name | \n", "last_updated | \n", "attributetype | \n", "attribute | \n", "
---|---|---|---|---|---|---|---|
43724 | \n", "1499 | \n", "iPhoto | \n", "<p>iPhoto is a digital photograph manipulation... | \n", "Apple | \n", "2018-10-12 | \n", "Type of analysis | \n", "Organizing | \n", "
43726 | \n", "1499 | \n", "iPhoto | \n", "<p>iPhoto is a digital photograph manipulation... | \n", "Apple | \n", "2018-10-12 | \n", "Type of analysis | \n", "Storage | \n", "
43748 | \n", "1500 | \n", "Google 3D Warehouse | \n", "<p>A collection of free-to-download 3D models ... | \n", "2018-11-06 | \n", "Type of analysis | \n", "Collaboration | \n", "|
43749 | \n", "1500 | \n", "Google 3D Warehouse | \n", "<p>A collection of free-to-download 3D models ... | \n", "2018-11-06 | \n", "Type of analysis | \n", "Dissemination | \n", "|
43750 | \n", "1500 | \n", "Google 3D Warehouse | \n", "<p>A collection of free-to-download 3D models ... | \n", "2018-11-06 | \n", "Type of analysis | \n", "Modeling | \n", "|
43759 | \n", "1501 | \n", "SketchUp (Formerly Google SketchUp) | \n", "<p>Google SketchUp is easy-to-use free 3D mode... | \n", "2018-10-26 | \n", "Type of analysis | \n", "Creation | \n", "|
43760 | \n", "1501 | \n", "SketchUp (Formerly Google SketchUp) | \n", "<p>Google SketchUp is easy-to-use free 3D mode... | \n", "2018-10-26 | \n", "Type of analysis | \n", "Interpretation | \n", "|
43761 | \n", "1501 | \n", "SketchUp (Formerly Google SketchUp) | \n", "<p>Google SketchUp is easy-to-use free 3D mode... | \n", "2018-10-26 | \n", "Type of analysis | \n", "Modeling | \n", "|
43790 | \n", "1502 | \n", "GIMP (GNU Image Manipulation Program) | \n", "<p>GIMP is image editing software, much like P... | \n", "GIMP Team | \n", "None | \n", "Type of analysis | \n", "Creation | \n", "
43818 | \n", "1556 | \n", "Reaper | \n", "REAPER is a complete digital audio production ... | \n", "Cockos | \n", "2019-03-24 | \n", "Type of analysis | \n", "Creation | \n", "
iPhoto is a digital photograph manipulation... Apple \n", "43726
iPhoto is a digital photograph manipulation... Apple \n", "43748
A collection of free-to-download 3D models ... Google \n", "43749
A collection of free-to-download 3D models ... Google \n", "43750
A collection of free-to-download 3D models ... Google \n", "43759
Google SketchUp is easy-to-use free 3D mode... Google \n", "43760
Google SketchUp is easy-to-use free 3D mode... Google \n", "43761
Google SketchUp is easy-to-use free 3D mode... Google \n", "43790
GIMP is image editing software, much like P... GIMP Team \n",
"43818 REAPER is a complete digital audio production ... Cockos \n",
"\n",
" last_updated attributetype attribute \n",
"43724 2018-10-12 Type of analysis Organizing \n",
"43726 2018-10-12 Type of analysis Storage \n",
"43748 2018-11-06 Type of analysis Collaboration \n",
"43749 2018-11-06 Type of analysis Dissemination \n",
"43750 2018-11-06 Type of analysis Modeling \n",
"43759 2018-10-26 Type of analysis Creation \n",
"43760 2018-10-26 Type of analysis Interpretation \n",
"43761 2018-10-26 Type of analysis Modeling \n",
"43790 None Type of analysis Creation \n",
"43818 2019-03-24 Type of analysis Creation "
]
},
"execution_count": 119,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df_to_ta=df_db_sub[df_db_sub['attributetype'] == 'Type of analysis'].drop_duplicates()\n",
"df_to_ta.tail(10)"
]
},
{
"cell_type": "code",
"execution_count": 47,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"Analysis 434\n",
"Visualization 236\n",
"Content Analysis 185\n",
"Search 139\n",
"Natural Language Processing 125\n",
"Discovering 124\n",
"Capture 113\n",
"Gathering 97\n",
"Publishing 92\n",
"Dissemination 91\n",
"Enrichment 90\n",
"Annotating 83\n",
"Collaboration 80\n",
"Organizing 71\n",
"Creation 52\n",
"Uncategorized 49\n",
"Storage 40\n",
"Web development 39\n",
"Modeling 25\n",
"Programming 22\n",
"Interpretation 18\n",
"RDF 12\n",
"Name: attribute, dtype: int64"
]
},
"execution_count": 47,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df_db_a = df_to_ta['attribute'].value_counts()\n",
"df_db_a.head(25)"
]
},
{
"cell_type": "code",
"execution_count": 48,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"