← Back to Datasets

Stack Overflow Dataset

Mapping programming knowledge exchange through user-question-answer interactions and tag relationships

Dataset Overview

The Stack Overflow dataset is a large-scale collection of question-and-answer data sourced from the public Stack Exchange data dump and made available through Google BigQuery on Kaggle. It contains detailed information on posts (questions and answers), comments, users, tags, badges, and votes, capturing the activity and knowledge exchange of the Stack Overflow developer community. Widely used for data analysis, SQL benchmarking, and machine learning research, the dataset enables exploration of programming trends, user behavior, and content dynamics over time. Check the dataset source page here.

Total node count: 445,272,721

Total edge count: 623,117,158

Dataset Download

Because the Stack Overflow dataset on Kaggle is a BigQuery-backed dataset, so you don't get regular downloadable files the same way you would for a normal Kaggle dataset. Instead, you may directly query Google's BigQuery service to access the dataset. For example, you can use their Python API to query the dataset:

bash
pip install google-cloud-bigquery
python
from google.cloud import bigquery

# Initialize the client (requires GOOGLE_APPLICATION_CREDENTIALS)
client = bigquery.Client()

# Define the query string targeting a public Stack Overflow dataset
query = """
    SELECT * FROM bigquery-public-data.stackoverflow.posts_questions
"""

# Execute the asynchronous query job
query_job = client.query(query)
results = query_job.result() # Waits for job completion

# Iterate through the results and display the count
for row in results:
    print(row)

Or to save you some troubles, you can click the button below and download the extracted and selected csv files from our repository:

Benchmark Workloads

Select a platform below to view the specific data loading commands and queries used to benchmark performance.

Runtime Results

* The unit of all results shown below are in milliseconds (ms)

Date (Instance) PuppyGraph Neo4j TigerGraph GraphFrames (CPU/Wall)
Q1 8214 516000 9070 362/150000
Q2 12044 444000 2030 376/148000
Q3 502 56000 2100 59.8/23700
Q4 11275 1494000 2930 197/94000
Q5 797 48000 5230 75.3/29600
Q6 1477 168600 8120 202/90000
Q7 78500 46280 70490 782/245000
Q8 303 588000 1500 191/91000
Q9 3959 442800 1740 231/94000
Q10 2574 235200 2340 339/116000