diff --git a/.gitignore b/.gitignore index 23b99e089..0845fb45a 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ __pycache__/ bibliovenv/ Bibenv/ -.idea/ \ No newline at end of file +.idea/ +venv/ \ No newline at end of file diff --git a/execution_evidence.ipynb b/execution_evidence.ipynb new file mode 100644 index 000000000..aae868210 --- /dev/null +++ b/execution_evidence.ipynb @@ -0,0 +1,811 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "fa25a520", + "metadata": {}, + "source": [ + "# ETL Pipeline — Execution Evidence\n", + "Bibliometrix-Python ETL Exam — [Your Name/Group]\n", + "\n", + "This notebook documents the standardization pipeline (`get_data.py`,\n", + "`validation.py`) tested against real exports from Web of Science and PubMed.\n", + "\n", + "## 1. Architecture Overview\n", + "- **Extract**: reuses `parsers.py` (WoS, PubMed, Cochrane) and pandas readers (Scopus CSV, Dimensions XLSX) already present in the repo.\n", + "- **Transform**: reuses `format_functions.py`'s per-column formatters, which map each source's proprietary columns to the WoS standard schema.\n", + "- **Validate**: new module `validation.py` — enforces the type contract (list[str] for multi-value fields, str for scalars, no NaN/None).\n", + "- **Load**: new function `get_data.py` — orchestrates Extract → Transform → Validate → SR generation → `df.set()`, wired to the \"Start\" button.\n", + "- **SR (Short Reference)**: reused from existing `metaTagExtraction(df, Field=\"SR\")` in `metatagextraction.py`, not reimplemented." + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "424cd8cb", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Successfully processed: sample_wos.txt\n", + "Successfully processed 1 files.\n", + "Shape: (2, 34)\n" + ] + }, + { + "data": { + "text/html": [ + "
| \n", + " | AB | \n", + "AU | \n", + "AU_UN | \n", + "AU1_UN | \n", + "BP | \n", + "EP | \n", + "CR | \n", + "C1 | \n", + "DB | \n", + "DE | \n", + "... | \n", + "RP | \n", + "SC | \n", + "SN | \n", + "SO | \n", + "SR | \n", + "TC | \n", + "TI | \n", + "UT | \n", + "VL | \n", + "AF | \n", + "
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | \n", + "This paper presents a bibliometric analysis of... | \n", + "[Smith J., Doe A.] | \n", + "[] | \n", + "\n", + " | 100 | \n", + "115 | \n", + "[Aria M, 2017, J INFORMETR, V11, P959, DOI 10.... | \n", + "[Univ Naples Federico II, Dept Elect Engn & In... | \n", + "Web_of_Science | \n", + "[bibliometrics, open science, research evaluat... | \n", + "... | \n", + "Smith, J (corresponding author), Univ Naples F... | \n", + "[] | \n", + "\n", + " | JOURNAL OF INFORMETRICS | \n", + "Smith J., 2022, JOURNAL OF INFORMETRICS | \n", + "12 | \n", + "A bibliometric analysis of open science practices | \n", + "WOS:000800000001 | \n", + "[16] | \n", + "[] | \n", + "
| 1 | \n", + "We apply science mapping techniques, including... | \n", + "[Rossi M., Bianchi L., Verdi P.] | \n", + "[] | \n", + "\n", + " | 2001 | \n", + "2030 | \n", + "[Aria M, 2017, J INFORMETR, V11, P959, DOI 10.... | \n", + "[Univ Naples Federico II, Naples, Italy, Univ ... | \n", + "Web_of_Science | \n", + "[science mapping, co-citation analysis, themat... | \n", + "... | \n", + "Rossi, M (corresponding author), Univ Naples F... | \n", + "[] | \n", + "\n", + " | SCIENTOMETRICS | \n", + "Rossi M., 2023, SCIENTOMETRICS | \n", + "5 | \n", + "Mapping the evolution of scientometric researc... | \n", + "WOS:000800000002 | \n", + "[128] | \n", + "[] | \n", + "
2 rows × 34 columns
\n", + "| \n", + " | SR | \n", + "SR_FULL | \n", + "
|---|---|---|
| 0 | \n", + "Smith J., 2022, JOURNAL OF INFORMETRICS | \n", + "Smith J., 2022, JOURNAL OF INFORMETRICS | \n", + "
| 1 | \n", + "Rossi M., 2023, SCIENTOMETRICS | \n", + "Rossi M., 2023, SCIENTOMETRICS | \n", + "
| \n", + " | AB | \n", + "AU | \n", + "AU_UN | \n", + "AU1_UN | \n", + "BP | \n", + "EP | \n", + "CR | \n", + "C1 | \n", + "DB | \n", + "DE | \n", + "... | \n", + "RP | \n", + "SC | \n", + "SN | \n", + "SO | \n", + "SR | \n", + "TC | \n", + "TI | \n", + "UT | \n", + "VL | \n", + "AF | \n", + "
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | \n", + "Bibliometrics is the study of academic publish... | \n", + "[Ninkov A, Frank JR, Maggio LA] | \n", + "[University of Ottawa, University of Ottawa, U... | \n", + "University of Ottawa | \n", + "173 | \n", + "176 | \n", + "[] | \n", + "[School of Information Studies, University of ... | \n", + "PubMed | \n", + "[Bibliometrics, Humans, Publications, Publishing] | \n", + "... | \n", + "\n", + " | \n", + " | 2212-277X (Electronic) 2212-2761 (Print) 2212-... | \n", + "Perspectives on medical education | \n", + "Ninkov A, 2022, Perspect Med Educ | \n", + "0 | \n", + "Bibliometrics: Methods for studying academic p... | \n", + "34914027 | \n", + "11 | \n", + "[] | \n", + "
| 1 | \n", + "As one of the emerging industries, feed indust... | \n", + "[Wang Y, Zheng C, Li H, Wu H] | \n", + "[National Science Library, University of Chine... | \n", + "National Science Library | \n", + "241 | \n", + "249 | \n", + "[] | \n", + "[Discipline Consulting Service, National Scien... | \n", + "PubMed | \n", + "[Animals, Bibliometrics, Cluster Analysis] | \n", + "... | \n", + "\n", + " | \n", + " | 1872-2075 (Electronic) 1000-3061 (Linking) | \n", + "Sheng wu gong cheng xue bao = Chinese journal ... | \n", + "Wang Y, 2020, Sheng Wu Gong Cheng Xue Bao | \n", + "0 | \n", + "[Bibliometrics evaluation of biological feed b... | \n", + "32147996 | \n", + "36 | \n", + "[] | \n", + "
| 2 | \n", + "Polystyrene plastic pollution poses a pressing... | \n", + "[Tan Y, Ji L, Mo Y, Huang H, Lei X] | \n", + "[Hengyang Medical School, Hengyang Medical S... | \n", + "Hengyang Medical School | \n", + "465 | \n", + "478 | \n", + "[] | \n", + "[Clinical Anatomy and Reproductive Medicine Ap... | \n", + "PubMed | \n", + "[Bibliometrics, Humans, Polystyrenes, Infertil... | \n", + "... | \n", + "\n", + " | \n", + " | 1477-0393 (Electronic) 0748-2337 (Linking) | \n", + "Toxicology and industrial health | \n", + "Tan Y, 2024, Toxicol Ind Health | \n", + "0 | \n", + "Bibliometrics analysis of hotspots research on... | \n", + "38805015 | \n", + "40 | \n", + "[] | \n", + "
| 3 | \n", + "BACKGROUND: Alopecia areata (AA) is an autoimm... | \n", + "[Luo WR, Shen G, Yang LH, Zhu XH] | \n", + "[The Second Affiliated Hospital (Changzheng H... | \n", + "The Second Affiliated Hospital (Changzheng Ho... | \n", + "42 | \n", + "58 | \n", + "[] | \n", + "[Department of Plastic and Reconstructive Surg... | \n", + "PubMed | \n", + "[Humans, United States, Alopecia Areata/drug t... | \n", + "... | \n", + "\n", + " | \n", + " | 1421-9832 (Electronic) 1018-8665 (Linking) | \n", + "Dermatology (Basel, Switzerland) | \n", + "Luo WR, 2024, Dermatology | \n", + "0 | \n", + "A Bibliometrics of the Treatment of Alopecia A... | \n", + "37939681 | \n", + "240 | \n", + "[] | \n", + "
| 4 | \n", + "PURPOSE: Bibliometric analyses have gained pop... | \n", + "[Hani U, Chen JW, Holland C, McGirt MJ, Kim PK... | \n", + "[University of Vanderbilt, University of Vande... | \n", + "\n", + " | 25 | \n", + "33 | \n", + "[] | \n", + "[Carolina Neurosurgery and Spine Associates, 2... | \n", + "PubMed | \n", + "[Humans, Scoliosis/surgery, Technology, Biblio... | \n", + "... | \n", + "\n", + " | \n", + " | 2212-1358 (Electronic) 2212-134X (Linking) | \n", + "Spine deformity | \n", + "Hani U, 2024, Spine Deform | \n", + "0 | \n", + "Patent bibliometrics in spinal deformity: the ... | \n", + "37845600 | \n", + "12 | \n", + "[] | \n", + "
5 rows × 34 columns
\n", + "| \n", + " | SR | \n", + "SR_FULL | \n", + "
|---|---|---|
| 0 | \n", + "Ninkov A, 2022, Perspect Med Educ | \n", + "Ninkov A, 2022, Perspect Med Educ | \n", + "
| 1 | \n", + "Wang Y, 2020, Sheng Wu Gong Cheng Xue Bao | \n", + "Wang Y, 2020, Sheng Wu Gong Cheng Xue Bao | \n", + "
| 2 | \n", + "Tan Y, 2024, Toxicol Ind Health | \n", + "Tan Y, 2024, Toxicol Ind Health | \n", + "
| 3 | \n", + "Luo WR, 2024, Dermatology | \n", + "Luo WR, 2024, Dermatology | \n", + "
| 4 | \n", + "Hani U, 2024, Spine Deform | \n", + "Hani U, 2024, Spine Deform | \n", + "