Corpus, network code and outputs for a bibliometric and critical review of iron pyrite (FeS2) photovoltaics

Published: 9 October 2026| Version 2 | DOI: 10.17632/6jwz76zpsg.2
Contributors:
,

Description

This dataset supports the article "Why has iron pyrite (FeS2) not delivered its photovoltage? A bibliometric and critical review of synthesis, defects, surfaces and devices" (submitted to Solar Energy Materials and Solar Cells). Scope. A Scopus search on 25 August 2026 (title, abstract and keywords; articles and reviews in English; no date limit) returned 378 records on iron pyrite (FeS2) as a photovoltaic material. Two authors screened them and included 217 records published between 1981 and 2026. The query and screening criteria are given in the article. Contents. (1) records_217.csv: bibliographic metadata of the 217 included records (Scopus EID, DOI, authors, author IDs, title, year, source, volume, pages, citation count on 25 August 2026, author and index keywords, document type). (2) S2.2_identified_378_records_inclusion_flag.csv: all 378 records returned by the search, with inclusion flag. (3) cited_documents.csv, cited_document_labels.csv and reference_parsing.json: the cited-document keys (first-author surname, year, volume and, where needed, first page) derived from the reference lists of the 217 records, 9,991 record-document pairs and 4,947 distinct cited documents. (4) Python code that builds four networks (co-authorship, keyword co-occurrence, co-citation and bibliographic coupling), clusters them with the Louvain method (networkx 3.6.1, resolution 1.0, seed 42), tests stability over 100 random seeds and runs robustness tests (thresholds, resolution, null model, alternative weights, removal of reviews, subsampling, per-front retention and coupling without record pairs that share an author). (5) All outputs: node and edge tables, network summaries, research-front and co-citation tables, robustness results, a recall check and the figures of the article. Provenance and AI. No data in this dataset was generated by an AI or language model, and no AI tool was used to produce or verify the data. The records come from Scopus, screening decisions were made and confirmed by the authors, and all outputs are computed deterministically by the included scripts; they are byte-identical across runs and across Python hash seeds. Scopus content. Abstracts and raw reference strings are Scopus content and are not redistributed. The Scopus EIDs allow the full export to be regenerated; the code then gives identical results. Bibliographic metadata of Scopus records © Elsevier B.V. See README.md for a description of every file and instructions to reproduce all results.

Files

Steps to reproduce

1. Requirements: Python 3.11 with the packages in requirements.txt (networkx 3.6.1, matplotlib, numpy, scikit-learn). Install with: pip install -r requirements.txt 2. Download the whole dataset, keep the folder structure, and run all commands from the top folder. 3. Build the networks: python fes2_networks.py > out/run_log.txt The script reads the derived inputs (records_217.csv, cited_documents.csv, cited_document_labels.csv, reference_parsing.json), builds the co-authorship, keyword co-occurrence, co-citation and bibliographic-coupling networks, runs Louvain clustering (resolution 1.0, seed 42) and the 100-seed stability test, and writes the node tables, edge lists and summary.json to out/. 4. Robustness tests: python robustness.py Writes sensitivity/robustness.json (coupling thresholds, resolution scan, null model, co-citation thresholds, Salton and association-strength weights, removal of reviews and of multi-material records, 90% subsampling, per-front retention, coupling without record pairs that share an author, all-author co-authorship, keyword-network sensitivity). Two tests need raw Scopus reference strings; their results, computed from the full export, are kept in the file. 5. Tables and figures: python front_stats.py (research fronts and co-citation clusters, out/front_table.csv) python make_figures.py python fig_flow.py python fig_chain.py python fig_graphical_abstract.py Figures are written to figs/ as PDF and PNG. 6. Check: the files in out/ and sensitivity/ should be identical to those deposited. Results do not depend on the Python hash seed, because nodes are added in sorted order. 7. Optional, from the full Scopus export: search Scopus for the 217 EIDs listed in records_217.csv, export them as CSV with all fields including references, and save the file as corpus_217.csv in the top folder. Then run python make_derived.py to regenerate the derived inputs, python fes2_networks.py to rebuild the networks directly from the export (the outputs are identical), and python recall_snowball.py to reproduce the recall check (sensitivity/recall_snowball.csv).

Institutions

Categories

Materials Science, Semiconductor, Photovoltaics, Network Analysis, Bibliometrics

Licence