CoolFace
Datasetpublic

GodotCN/science-datalake

Science Data Lake A unified, portable science data lake integrating 7 scholarly datasets (~525 GB Parquet) with cross-dataset DOI normalization, 13 scientific ontologies (1.3M terms), and a reproducible ETL pipeline. Note: One additional source (Semantic Scholar S2AG) is supported by the pipeline but is not redistributed here due to its API terms of service. See Not Included in This Upload below. What's Unique This dataset enables… See the full description on the dataset page: https://huggingface.co/datasets/GodotCN/science-datalake.

sourceHugging Facecc0-1.0updated 6mo agoView on Hugging Face
1likes129downloads
Dataset Card

<p align="center"> <img src="https://raw.githubusercontent.com/J0nasW/science-datalake/main/sdl_banner.jpg" alt="Science Data Lake" width="100%"> </p>

<p align="center"> <a href="https://arxiv.org/abs/2603.03126"><img src="https://img.shields.io/badge/arXiv-2603.03126-b31b1b" alt="arXiv"></a> <a href="https://github.com/J0nasW/science-datalake"><img src="https://img.shields.io/badge/GitHub-Repository-181717?logo=github" alt="GitHub"></a> <a href="https://doi.org/10.57967/hf/7850"><img src="https://img.shields.io/badge/DOI-10.57967%2Fhf%2F7850-blue" alt="DOI"></a> <a href="https://github.com/J0nasW/science-datalake/blob/main/SCHEMA.md"><img src="https://img.shields.io/badge/LLM--Ready-SCHEMA.md-purple" alt="LLM-Ready"></a> <a href="https://x.com/JonasHW"><img src="https://img.shields.io/badge/Follow-%40Jonas_H_W-black?logo=x" alt="Follow on X"></a> <a href="https://wilinski.me"><img src="https://img.shields.io/badge/Author-wilinski.me-orange" alt="Author website"></a> </p>

Science Data Lake

A unified, portable science data lake integrating 7 scholarly datasets (~525 GB Parquet) with cross-dataset DOI normalization, 13 scientific ontologies (1.3M terms), and a reproducible ETL pipeline.

Note: One additional source (Semantic Scholar S2AG) is supported by the pipeline but is not redistributed here due to its API terms of service. See Not Included in This Upload below.

What's Unique

This dataset enables queries that are impossible with any single source:

sql
-- "Top disruptive papers with open-source code, checking for retractions"
SELECT doi, title, year,
       sciscinet_disruption,      -- from SciSciNet
       oa_cited_by_count,         -- from OpenAlex
       has_pwc,                   -- from Papers With Code
       has_retraction             -- from Retraction Watch
FROM unified_papers
WHERE has_pwc AND sciscinet_disruption > 0.5
ORDER BY oa_cited_by_count DESC
LIMIT 20

Datasets Included

DatasetPapers/RecordsLicenseKey Contribution
OpenAlex479M worksCC0 1.0 (public domain)Broadest coverage, topics, FWCI
SciSciNet v2250M papersCC BY 4.0Disruption index, atypicality, team size
Papers With Code513K papersCC BY-SA 4.0Method-task-dataset-code links
Retraction Watch69K recordsOpen (via Crossref)Retraction flags + reasons
Reliance on Science47.8M pairsCC BY-NC 4.0Patent-to-paper citation pairs (global)
Preprint-to-Paper146K pairsCC BY 4.0bioRxiv preprint to published paper
13 Ontologies1.3M termsVarious (see below)CSO, MeSH, GO, DOID, ChEBI, NCIT, HPO, EDAM, AGROVOC, UNESCO, STW, MSC2020, PhySH

Ontology Licenses

OntologyLicense
MeSHPublic Domain (US government work)
GO, ChEBI, NCIT, EDAM, CSO, PhySH, STWCC BY 4.0
DOIDCC0 1.0
AGROVOCCC BY 3.0 IGO
UNESCO ThesaurusCC BY-SA 3.0 IGO
HPOCustom (free for research use)
MSC2020CC BY-NC-SA 4.0 (non-commercial)

Snapshot Dates

Each source was downloaded at a specific point in time:

DatasetSnapshot / ReleaseNotes
OpenAlex2026-02-03S3 snapshot
SciSciNet v22024-11-01GCS bucket
Papers With Code2025-07Archived JSON
Retraction Watch2025-02Crossref CSV
Reliance on Sciencev64Zenodo record
Preprint-to-Paper2025-06Zenodo record
13 Ontologies2026-02Official sources

All snapshots can be refreshed using the update pipeline — see below.

Not Included in This Upload

The following source is supported by the full pipeline (GitHub) but is not redistributed here due to its API terms of service:

DatasetReasonHow to obtain
S2AG (Semantic Scholar, 231M papers)License requires individual agreement with Semantic ScholarSemantic Scholar Datasets API

After downloading S2AG locally, run the full pipeline to integrate it.

Key Tables

unified_papers (293M rows)

The headline table: one row per unique DOI, joining all sources.

ColumnTypeDescription
doiVARCHARNormalized DOI (lowercase, no prefix)
titleVARCHARBest available title (OpenAlex > S2AG)
yearBIGINTPublication year
openalex_idVARCHAROpenAlex work ID
sciscinet_paperidVARCHARSciSciNet paper ID
has_openalexBOOLEANPresent in OpenAlex
has_sciscinetBOOLEANPresent in SciSciNet
has_pwcBOOLEANHas code on Papers With Code
has_retractionBOOLEANFlagged in Retraction Watch
has_s2agBOOLEANPresent in Semantic Scholar
has_patentBOOLEANCited by at least one patent (RoS)
s2ag_corpusidBIGINTSemantic Scholar corpus ID
s2ag_citationcountINTEGERS2AG citation count
oa_cited_by_countBIGINTOpenAlex citation count
sciscinet_disruptionDOUBLEDisruption index (CD index)
sciscinet_atypicalityDOUBLEAtypicality score
oa_fwciDOUBLEField-Weighted Citation Impact
Note: The S2AG columns (s2ag_corpusid, s2ag_citationcount, s2ag_influentialcitationcount, s2ag_isopenaccess, has_s2ag) are present in the uploaded file but will contain NULL/FALSE values unless S2AG has been integrated locally. All other columns (including has_patent from Reliance on Science) are fully populated.

topic_ontology_map

Maps OpenAlex's 4,516 topics to terms in 13 scientific ontologies via embedding-based semantic similarity (BGE-large-en-v1.5, 1024-dim) + exact matching for large ontologies (MeSH, ChEBI, NCIT). 16,150 mappings covering 99.8% of topics. Columns include similarity (cosine, 0-1) and match_type (label/synonym/exact) for quality filtering.

ontology_bridges

Cross-ontology links discovered via shared external IDs (UMLS, Wikidata, MESH, etc.).

Usage with DuckDB

Option 1: Pre-built database file (recommended)

This repository includes a ready-to-use DuckDB database file (datalake.duckdb, 274 KB) with 145 SQL views pre-configured to read directly from HuggingFace. Download just this one file and query all 7 datasets immediately — no pipeline setup required.

python
import duckdb

con = duckdb.connect()
con.execute("INSTALL httpfs; LOAD httpfs;")
con.execute("ATTACH 'hf://datasets/J0nasW/science-datalake/datalake.duckdb' AS lake")

# Query using familiar schema.table syntax
df = con.execute("""
    SELECT doi, title, year, sciscinet_disruption, oa_cited_by_count
    FROM lake.xref.unified_papers
    WHERE sciscinet_disruption IS NOT NULL
    ORDER BY sciscinet_disruption DESC
    LIMIT 100
""").df()

# Cross-source joins work out of the box
con.execute("""
    SELECT t.display_name AS topic, o.ontology, o.term_name, o.similarity
    FROM lake.xref.topic_ontology_map o
    JOIN lake.openalex.topics t ON t.id = o.topic_id
    WHERE o.similarity >= 0.85
    ORDER BY o.similarity DESC
    LIMIT 20
""").df()

Option 2: Direct Parquet queries

You can also query individual Parquet files directly without the database file:

python
import duckdb

con = duckdb.connect()
con.execute("INSTALL httpfs; LOAD httpfs;")

df = con.execute("""
    SELECT doi, title, year, sciscinet_disruption, oa_cited_by_count
    FROM 'hf://datasets/J0nasW/science-datalake/xref/unified_papers/*.parquet'
    WHERE sciscinet_disruption IS NOT NULL
    ORDER BY sciscinet_disruption DESC
    LIMIT 100
""").df()

Keeping the Data Current

The full pipeline supports incremental updates. When upstream sources release new snapshots:

bash
# Update a single dataset
python scripts/datalake_cli.py update openalex

# Update all datasets and rebuild cross-reference tables
python scripts/datalake_cli.py update
python scripts/materialize_unified_papers.py

See the GitHub repository for full pipeline documentation.

LLM & AI Agent Integration

This data lake ships with [SCHEMA.md](https://github.com/J0nasW/science-datalake/blob/main/SCHEMA.md) — a structured reference file optimized for LLM-based coding agents (Claude Code, Cursor, Copilot, etc.). It contains every table, column, type, join strategy, and performance tier in a format that AI agents can use to write correct DuckDB SQL without prior schema knowledge.

Point your AI assistant at SCHEMA.md and ask it to query across all 7 hosted datasets and 13 ontologies using natural language.

Building the Full Instance (All 8 Sources)

Clone the GitHub repository and run the pipeline to integrate all sources including S2AG:

bash
git clone https://github.com/J0nasW/science-datalake
cd science-datalake
python scripts/datalake_cli.py download --all
python scripts/datalake_cli.py convert --all
python scripts/create_unified_db.py
python scripts/materialize_unified_papers.py

Citation

If you use the Science Data Lake, please cite the paper:

bibtex
@article{wilinski2026sciencedatalake,
  title   = {The Science Data Lake: A Unified Open Infrastructure Integrating
             293 Million Papers Across Eight Scholarly Sources with
             Embedding-Based Ontology Alignment},
  author  = {Wilinski, Jonas},
  journal = {arXiv preprint arXiv:2603.03126},
  year    = {2026},
  url     = {https://arxiv.org/abs/2603.03126}
}

Dataset DOI: 10.57967/hf/7850

License

This dataset aggregates multiple sources, each with its own license. Users must comply with the most restrictive license applicable to the sources they use.

ComponentLicense
Integration code (scripts, pipeline)MIT
OpenAlex dataCC0 1.0 (public domain)
SciSciNet v2 dataCC BY 4.0
Papers With Code dataCC BY-SA 4.0
Retraction Watch dataOpen (via Crossref)
Reliance on Science dataCC BY-NC 4.0
Preprint-to-Paper dataCC BY 4.0
Cross-reference tables (unified_papers, topic_ontology_map)Derived work — most restrictive source license applies
OntologiesVarious — see table above; note MSC2020 is CC BY-NC-SA 4.0