{
  "format": "dataset-manifest/1",
  "slug": "social-media",
  "version": 1,
  "seed": "social-media:1",
  "spec": {
    "format": "dataset/1",
    "slug": "social-media",
    "name": "Social Engagement Network",
    "tagline": "User interactions including posts, comments, likes, and groups within a social media environment.",
    "description": "Users share posts and engage in conversations, creating a dynamic environment where communication flourishes. Each user has unique attributes, including their profile information and the groups they belong to. Posts consist of text, images, or videos, each representing a moment shared by a user. Through comments, users add their thoughts or reactions to these posts, generating discussion and interaction. Likes serve as a metric of approval, allowing users to express their appreciation for content. Groups provide a space for users with similar interests to gather, share content, and initiate discussions, further enhancing the sense of community.\n\nThe users table represents individual profiles, while posts detail contributions made by these users. Comments are linked to specific posts, reflecting the conversations sparked by each piece of content. Likes directly connect to both users and posts, indicating which posts have garnered attention and support. Groups serve as a collective entity that can contain multiple users and posts, enabling broader discussions around shared interests.\n\nThis dataset is particularly useful for analyzing user engagement patterns, understanding which types of posts resonate within the community, and exploring how discussions evolve through comments. Practicing with this data can help developers create algorithms to identify trending topics, measure the effectiveness of user interactions, and simulate social dynamics within digital networks. It's important to note that all this data is synthetic, created to mimic real-world interactions without compromising privacy.",
    "domain": "social",
    "shape": "graph-edges",
    "useCases": [
      "sql-practice",
      "teaching"
    ],
    "keywords": [
      "social media",
      "user engagement",
      "posts",
      "comments",
      "likes",
      "groups",
      "stories",
      "interactions",
      "virality",
      "community"
    ],
    "locale": "en",
    "license": "CC0-1.0",
    "version": 1,
    "tables": {
      "users": {
        "description": "This table holds user information, with each row representing a unique user in the social media network. It connects to posts, comments, and group memberships.",
        "rows": 200,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each user."
          },
          "username": {
            "kind": "words",
            "min": 3,
            "max": 15,
            "unique": true,
            "description": "Unique username chosen by the user."
          },
          "bio": {
            "kind": "sentence",
            "min": 10,
            "max": 150,
            "nullable": true,
            "description": "A short biography provided by the user."
          },
          "created_at": {
            "kind": "datetime",
            "from": "2022-01-01",
            "to": "2023-01-01",
            "description": "Timestamp of when the user registered.",
            "dayProfile": "waking"
          }
        }
      },
      "posts": {
        "description": "This table contains posts made by users, linking them to the authors in the users table. Each row represents a unique post.",
        "rows": 300,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each post."
          },
          "user_id": {
            "kind": "fk",
            "ref": "users.id",
            "description": "Reference to the user who created the post."
          },
          "content": {
            "kind": "paragraph",
            "min": 20,
            "max": 500,
            "description": "The full text of the post."
          },
          "created_at": {
            "kind": "datetime",
            "from": "2022-01-01",
            "to": "2023-01-01",
            "description": "Timestamp of when the post was created.",
            "dayProfile": "waking"
          }
        }
      },
      "comments": {
        "description": "This table records comments made on posts, linking each comment to a user and a specific post. Each row represents a unique comment.",
        "rows": 500,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each comment."
          },
          "post_id": {
            "kind": "fk",
            "ref": "posts.id",
            "description": "Reference to the post on which the comment was made."
          },
          "user_id": {
            "kind": "fk",
            "ref": "users.id",
            "description": "Reference to the user who made the comment."
          },
          "content": {
            "kind": "sentence",
            "min": 5,
            "max": 280,
            "description": "The text of the comment."
          },
          "created_at": {
            "kind": "datetime",
            "from": "2022-01-01",
            "to": "2023-01-01",
            "description": "Timestamp of when the comment was created.",
            "dayProfile": "waking"
          }
        }
      },
      "likes": {
        "description": "This table tracks likes on posts. Each row represents a unique like by a user on a specific post.",
        "rows": 400,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each like."
          },
          "post_id": {
            "kind": "fk",
            "ref": "posts.id",
            "description": "Reference to the post that was liked."
          },
          "user_id": {
            "kind": "fk",
            "ref": "users.id",
            "description": "Reference to the user who liked the post."
          },
          "created_at": {
            "kind": "datetime",
            "from": "2022-01-01",
            "to": "2023-01-01",
            "description": "Timestamp of when the like was made.",
            "dayProfile": "waking"
          }
        }
      },
      "groups": {
        "description": "This table represents groups within the social media platform, with each group having multiple users as members.",
        "rows": 50,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each group."
          },
          "name": {
            "kind": "words",
            "min": 3,
            "max": 30,
            "unique": true,
            "description": "Name of the group."
          },
          "description": {
            "kind": "paragraph",
            "min": 20,
            "max": 500,
            "nullable": true,
            "description": "A brief description of the group's purpose."
          },
          "created_at": {
            "kind": "datetime",
            "from": "2022-01-01",
            "to": "2023-01-01",
            "description": "Timestamp of when the group was created.",
            "dayProfile": "waking"
          }
        }
      }
    },
    "structure": "multi-table",
    "traits": [
      "high-cardinality",
      "timestamped",
      "categorical"
    ],
    "analysisQuestions": [
      "What types of posts receive the most likes and comments?",
      "How does user engagement vary across different groups?",
      "Which users are the most influential based on their interactions?",
      "What patterns can be observed in user activity over time?",
      "How do comments affect the virality of posts?"
    ],
    "suggestedQueries": [
      {
        "title": "Fetch all posts with their authors",
        "sql": "SELECT posts.id, posts.content, users.username FROM posts JOIN users ON posts.user_id = users.id;",
        "dialect": "postgres"
      },
      {
        "title": "Count likes per post",
        "sql": "SELECT post_id, COUNT(*) as like_count FROM likes GROUP BY post_id;",
        "dialect": "postgres"
      },
      {
        "title": "Get comments for a specific post",
        "sql": "SELECT comments.content, users.username FROM comments JOIN users ON comments.user_id = users.id WHERE comments.post_id = $1;",
        "dialect": "postgres"
      },
      {
        "title": "Find the most active users based on comments",
        "sql": "SELECT user_id, COUNT(*) as comment_count FROM comments GROUP BY user_id ORDER BY comment_count DESC LIMIT 10;",
        "dialect": "postgres"
      },
      {
        "title": "Analyze engagement trends over time",
        "sql": "SELECT DATE(created_at) as engagement_date, COUNT(*) as total_engagement FROM (SELECT created_at FROM likes UNION SELECT created_at FROM comments) as engagements GROUP BY engagement_date ORDER BY engagement_date;",
        "dialect": "postgres"
      }
    ],
    "usageScenarios": [
      {
        "title": "Teaching SQL Concepts",
        "body": "Instructors can use this dataset to teach students about SQL joins, aggregations, and subqueries. By querying user interactions, students can learn how to retrieve meaningful insights from relational data, making the learning process both practical and engaging."
      },
      {
        "title": "Analyzing Social Media Strategies",
        "body": "Marketers and social media analysts can utilize this dataset to study user engagement patterns and the effectiveness of different types of posts. By evaluating likes, comments, and group interactions, they can develop data-driven strategies for boosting user engagement and improving content reach."
      },
      {
        "title": "Developing Social Media Applications",
        "body": "Developers can use this dataset as a foundation for building features in social media applications. By understanding user interactions and content dynamics, they can create algorithms for content recommendations, engagement metrics, and community-building tools."
      },
      {
        "title": "Exploring User Behavior",
        "body": "Researchers and data analysts can analyze this dataset to uncover trends in user behavior on social media. By examining how users interact with posts and groups, they can gain insights into community dynamics and the factors that drive engagement."
      }
    ]
  },
  "counts": {
    "groups": 50,
    "users": 200,
    "posts": 300,
    "comments": 500,
    "likes": 400
  },
  "stats": {
    "users": {
      "rows": 200,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 200,
          "min": 1,
          "max": 200
        },
        "username": {
          "nulls": 0,
          "distinct": 200
        },
        "bio": {
          "nulls": 21,
          "distinct": 179
        },
        "created_at": {
          "nulls": 0,
          "distinct": 200,
          "min": "2022-01-01 00:58:33",
          "max": "2023-01-01 16:43:39"
        }
      }
    },
    "posts": {
      "rows": 300,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 300,
          "min": 1,
          "max": 300
        },
        "user_id": {
          "nulls": 0,
          "distinct": 152,
          "min": 1,
          "max": 200
        },
        "content": {
          "nulls": 0,
          "distinct": 300
        },
        "created_at": {
          "nulls": 0,
          "distinct": 300,
          "min": "2022-01-01 00:09:04",
          "max": "2022-12-31 23:45:31"
        }
      }
    },
    "comments": {
      "rows": 500,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 500,
          "min": 1,
          "max": 500
        },
        "post_id": {
          "nulls": 0,
          "distinct": 255,
          "min": 1,
          "max": 300
        },
        "user_id": {
          "nulls": 0,
          "distinct": 183,
          "min": 1,
          "max": 200
        },
        "content": {
          "nulls": 0,
          "distinct": 498
        },
        "created_at": {
          "nulls": 0,
          "distinct": 500,
          "min": "2022-01-01 18:05:01",
          "max": "2023-01-01 14:20:46"
        }
      }
    },
    "likes": {
      "rows": 400,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 400,
          "min": 1,
          "max": 400
        },
        "post_id": {
          "nulls": 0,
          "distinct": 223,
          "min": 2,
          "max": 299
        },
        "user_id": {
          "nulls": 0,
          "distinct": 171,
          "min": 1,
          "max": 199
        },
        "created_at": {
          "nulls": 0,
          "distinct": 400,
          "min": "2022-01-01 18:46:31",
          "max": "2022-12-31 18:26:53"
        }
      }
    },
    "groups": {
      "rows": 50,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 50,
          "min": 1,
          "max": 50
        },
        "name": {
          "nulls": 0,
          "distinct": 50
        },
        "description": {
          "nulls": 3,
          "distinct": 47
        },
        "created_at": {
          "nulls": 0,
          "distinct": 50,
          "min": "2022-01-01 14:37:34",
          "max": "2022-12-30 20:13:09"
        }
      }
    }
  },
  "artifacts": [
    {
      "file": "csv/groups.csv",
      "format": "csv",
      "table": "groups",
      "key": "datasets/social-media/v1/csv/groups.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/social-media/v1/csv/groups.csv",
      "bytes": 13740,
      "sha256": "7da51351ee75271147f962d028341eeb5cb5338c7cd68b8ac37857d08a2cd610",
      "rows": 50,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/users.csv",
      "format": "csv",
      "table": "users",
      "key": "datasets/social-media/v1/csv/users.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/social-media/v1/csv/users.csv",
      "bytes": 27644,
      "sha256": "1c1d7eac9505c763b07dd962ed055506a486ae2347c786259628f13d2c5d3407",
      "rows": 200,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/posts.csv",
      "format": "csv",
      "table": "posts",
      "key": "datasets/social-media/v1/csv/posts.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/social-media/v1/csv/posts.csv",
      "bytes": 57290,
      "sha256": "decdd6c0c9b93098824fd9ba899429b1c0f15eca882ab3249be37411fcd1bb4b",
      "rows": 300,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/comments.csv",
      "format": "csv",
      "table": "comments",
      "key": "datasets/social-media/v1/csv/comments.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/social-media/v1/csv/comments.csv",
      "bytes": 44641,
      "sha256": "ccdc0123748ff9340531f216195d7cfccde30c5e0963896c4830e4fbfbcd2a1d",
      "rows": 500,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/likes.csv",
      "format": "csv",
      "table": "likes",
      "key": "datasets/social-media/v1/csv/likes.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/social-media/v1/csv/likes.csv",
      "bytes": 12749,
      "sha256": "da0c82573dc02a79ec7542c4da538fde8b72bce5abdb189875cbe3ed1c319aed",
      "rows": 400,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "social-media.json",
      "format": "json",
      "table": null,
      "key": "datasets/social-media/v1/social-media.json",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/social-media/v1/social-media.json",
      "bytes": 286851,
      "sha256": "ed9969bcf7c3bf4b7f411134e61807b3b3ed7b8a6881458088f5d5022bdec201",
      "rows": null,
      "contentType": "application/json; charset=utf-8"
    },
    {
      "file": "sql/postgres.sql",
      "format": "sql-postgres",
      "table": null,
      "key": "datasets/social-media/v1/sql/postgres.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/social-media/v1/sql/postgres.sql",
      "bytes": 177326,
      "sha256": "7ed32623569be3923940dc359670f6efa2e97db7ff4638e410e816b7b7dcdd40",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/mysql.sql",
      "format": "sql-mysql",
      "table": null,
      "key": "datasets/social-media/v1/sql/mysql.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/social-media/v1/sql/mysql.sql",
      "bytes": 176792,
      "sha256": "f86a15945ff57cb765b45fc7ae1c4d0417e851b2c476218f8d8fb7cba9285326",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/mssql.sql",
      "format": "sql-mssql",
      "table": null,
      "key": "datasets/social-media/v1/sql/mssql.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/social-media/v1/sql/mssql.sql",
      "bytes": 179844,
      "sha256": "e913a58234e355bf9352869744b807649edd9b8e7811e19e293a58cd55fed12e",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/sqlite.sql",
      "format": "sql-sqlite",
      "table": null,
      "key": "datasets/social-media/v1/sql/sqlite.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/social-media/v1/sql/sqlite.sql",
      "bytes": 176622,
      "sha256": "55e2ebfc8e6105170808407289f092b923148125f9b21ae888931cc57e36eae9",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "prisma/seed.ts",
      "format": "prisma-seed",
      "table": null,
      "key": "datasets/social-media/v1/prisma/seed.ts",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/social-media/v1/prisma/seed.ts",
      "bytes": 259121,
      "sha256": "341f02bd5bc1c4e26bd69c564da939363821c40233c68c60b25ebb189ec4ab63",
      "rows": null,
      "contentType": "application/typescript; charset=utf-8"
    },
    {
      "file": "django/fixtures.json",
      "format": "django-fixture",
      "table": null,
      "key": "datasets/social-media/v1/django/fixtures.json",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/social-media/v1/django/fixtures.json",
      "bytes": 342912,
      "sha256": "7b3c79df2b74ca1a43c36f4b2ce0ea7fbf9d11d1f465c3fe65f7ac62421a93fa",
      "rows": null,
      "contentType": "application/json; charset=utf-8"
    }
  ],
  "publishedAt": 1788766949228,
  "updatedAt": 1788766949228
}
