{
  "format": "dataset-manifest/1",
  "slug": "crowdsourced-local-news-platform",
  "version": 1,
  "seed": "crowdsourced-local-news-platform:1",
  "spec": {
    "format": "dataset/1",
    "slug": "crowdsourced-local-news-platform",
    "name": "Community News Insights",
    "tagline": "Articles, users, reactions, events, ads, and comments from a crowdsourced local news platform.",
    "description": "Residents share stories and engage with local happenings on a crowdsourced local news platform, creating a lively environment where community voices are amplified. Articles serve as the primary medium through which news is disseminated, allowing users to contribute their insights and experiences. Readers can react to articles, showcasing their opinions and fostering interaction among community members. Meanwhile, local events are featured prominently, highlighting opportunities for residents to gather and connect. Advertisements serve as a bridge between local businesses and the audience, promoting services and products that cater to the community's needs. Comments provide a space for discussions surrounding the articles and events, reflecting the community's sentiment and engagement levels.\n\nIn this dataset, the 'articles' table contains entries for each story published on the platform, detailing the title, author, content, and publication date. The 'users' table identifies the individuals contributing to the platform, capturing their demographics and engagement history. The 'reactions' table tracks users' responses to articles, indicating whether they liked, shared, or commented on a piece. Events are documented in the 'events' table, encapsulating details about upcoming community gatherings. Advertisements are found in the 'advertisements' table, linking local businesses to relevant articles or events. Lastly, the 'comments' table records discussions stemming from articles, providing insights into community sentiments.\n\nJoins across these tables allow for rich analysis of interactions, such as correlating user reactions to article popularity or analyzing how advertisements impact event attendance. Developers can explore various questions with this data, such as how community engagement changes over time, which articles attract the most reactions, and what types of events draw the highest turnout. This synthetic dataset is an excellent resource for practicing data analysis skills, enabling users to simulate real-world scenarios on a vibrant, community-driven news platform.",
    "domain": "media",
    "shape": "graph-edges",
    "useCases": [
      "sql-practice",
      "teaching"
    ],
    "keywords": [
      "local news",
      "community engagement",
      "articles",
      "reader reactions",
      "events",
      "advertisements"
    ],
    "locale": "en",
    "license": "CC0-1.0",
    "version": 1,
    "tables": {
      "articles": {
        "description": "This table contains articles submitted by community members. Each row represents an article along with details like title, content, and publication date.",
        "rows": 200,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each article."
          },
          "title": {
            "kind": "sentence",
            "description": "The title of the article."
          },
          "content": {
            "kind": "paragraph",
            "description": "The full text of the article."
          },
          "published_at": {
            "kind": "datetime",
            "from": "2022-01-01",
            "to": "2023-12-31",
            "description": "The date and time when the article was published.",
            "dayProfile": "waking"
          },
          "author_id": {
            "kind": "fk",
            "ref": "users.id",
            "description": "The ID of the user who authored the article."
          }
        }
      },
      "users": {
        "description": "A table of users who contribute articles and engage with the platform. Each row represents a user with their details.",
        "rows": 150,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each user."
          },
          "full_name": {
            "kind": "fullName",
            "description": "The full name of the user."
          },
          "email": {
            "kind": "email",
            "from": "full_name",
            "description": "The email address of the user."
          },
          "joined_at": {
            "kind": "datetime",
            "from": "2022-01-01",
            "to": "2023-12-31",
            "description": "The date when the user joined the platform.",
            "dayProfile": "waking"
          }
        }
      },
      "reactions": {
        "description": "This table captures reader reactions to articles. Each row links a user with their reaction to a specific article.",
        "rows": 500,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each reaction."
          },
          "user_id": {
            "kind": "fk",
            "ref": "users.id",
            "description": "The ID of the user who reacted."
          },
          "article_id": {
            "kind": "fk",
            "ref": "articles.id",
            "description": "The ID of the article being reacted to."
          },
          "reaction_type": {
            "kind": "enum",
            "values": [
              "like",
              "dislike",
              "love",
              "angry"
            ],
            "description": "The type of reaction given by the user."
          },
          "created_at": {
            "kind": "datetime",
            "from": "2022-01-01",
            "to": "2023-12-31",
            "description": "The date and time when the reaction was made.",
            "nullable": true,
            "when": {
              "column": "reaction_type",
              "in": [
                "like",
                "dislike",
                "love",
                "angry"
              ]
            },
            "dayProfile": "waking"
          }
        }
      },
      "events": {
        "description": "This table contains neighborhood events organized within the community. Each row represents an event with details such as name, date, and location.",
        "rows": 100,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each event."
          },
          "name": {
            "kind": "sentence",
            "description": "The name of the event."
          },
          "event_date": {
            "kind": "datetime",
            "from": "2022-01-01",
            "to": "2023-12-31",
            "description": "The date of the event.",
            "trend": "seasonal"
          },
          "location": {
            "kind": "words",
            "description": "The location where the event is held."
          }
        }
      },
      "advertisements": {
        "description": "This table represents advertisements placed by local businesses on the platform. Each row links an advertisement to an article.",
        "rows": 80,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each advertisement."
          },
          "article_id": {
            "kind": "fk",
            "ref": "articles.id",
            "description": "The ID of the article associated with the advertisement."
          },
          "business_name": {
            "kind": "sentence",
            "description": "The name of the business placing the advertisement."
          },
          "ad_content": {
            "kind": "paragraph",
            "description": "The content of the advertisement."
          },
          "created_at": {
            "kind": "datetime",
            "from": "2022-01-01",
            "to": "2023-12-31",
            "description": "The date and time when the advertisement was created.",
            "dayProfile": "business"
          }
        }
      },
      "comments": {
        "description": "This table contains comments made by users on articles. Each row links a user to their comment on a specific article.",
        "rows": 400,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each comment."
          },
          "user_id": {
            "kind": "fk",
            "ref": "users.id",
            "description": "The ID of the user who made the comment."
          },
          "article_id": {
            "kind": "fk",
            "ref": "articles.id",
            "description": "The ID of the article being commented on."
          },
          "content": {
            "kind": "paragraph",
            "description": "The text of the comment."
          },
          "is_flagged": {
            "kind": "bool",
            "trueRate": 0.1,
            "description": "Indicates whether the comment has been flagged by users."
          },
          "created_at": {
            "kind": "datetime",
            "from": "2022-01-01",
            "to": "2023-12-31",
            "description": "The date and time when the comment was made.",
            "dayProfile": "waking"
          }
        }
      }
    },
    "structure": "multi-table",
    "traits": [
      "categorical",
      "timestamped",
      "nullable"
    ],
    "analysisQuestions": [
      "What types of reactions are most common among readers?",
      "Which articles have the most comments, and what does that say about reader engagement?",
      "How do advertisements correlate with article reactions?",
      "What events draw the highest attendance and engagement?",
      "Are there patterns in flagged comments that indicate issues in discourse?"
    ],
    "suggestedQueries": [
      {
        "title": "List all articles with their authors",
        "sql": "SELECT articles.title, users.full_name FROM articles JOIN users ON articles.author_id = users.id;",
        "dialect": "postgres"
      },
      {
        "title": "Count reactions by type for each article",
        "sql": "SELECT article_id, reaction_type, COUNT(*) as reaction_count FROM reactions GROUP BY article_id, reaction_type;",
        "dialect": "postgres"
      },
      {
        "title": "Find the most commented articles",
        "sql": "SELECT article_id, COUNT(*) as comment_count FROM comments GROUP BY article_id ORDER BY comment_count DESC;",
        "dialect": "postgres"
      },
      {
        "title": "Analyze the effect of advertisements on article reactions",
        "sql": "SELECT articles.title, COUNT(reactions.id) as reaction_count FROM articles LEFT JOIN reactions ON articles.id = reactions.article_id LEFT JOIN advertisements ON articles.id = advertisements.article_id GROUP BY articles.title;",
        "dialect": "postgres"
      },
      {
        "title": "Identify users with the most flagged comments",
        "sql": "SELECT users.full_name, COUNT(comments.id) as flagged_count FROM comments JOIN users ON comments.user_id = users.id WHERE comments.is_flagged = TRUE GROUP BY users.full_name ORDER BY flagged_count DESC;",
        "dialect": "postgres"
      }
    ],
    "usageScenarios": [
      {
        "title": "SQL Practice for Data Analysts",
        "body": "Data analysts can use the Community News Insights dataset to practice SQL queries that involve joins and aggregations. By exploring the relationships between articles, reactions, and comments, they can gain insights into user engagement and article performance."
      },
      {
        "title": "Teaching SQL in Education",
        "body": "Educators can utilize this dataset in classrooms to teach SQL fundamentals. The dataset's structure allows for practical exercises that cover a variety of SQL concepts, including filtering, grouping, and joining tables, making it an ideal resource for hands-on learning."
      },
      {
        "title": "Market Research for Local Businesses",
        "body": "Local businesses can analyze the dataset to understand community engagement with articles and advertisements. By evaluating which ads perform well in relation to article interactions, businesses can tailor their marketing strategies to better connect with their audience."
      },
      {
        "title": "Community Engagement Studies",
        "body": "Researchers studying community dynamics can leverage this dataset to analyze how local news influences community engagement. By examining the relationships between articles, events, and reader reactions, they can draw conclusions about the impact of local news on social interactions."
      }
    ]
  },
  "counts": {
    "events": 100,
    "users": 150,
    "articles": 200,
    "advertisements": 80,
    "comments": 400,
    "reactions": 500
  },
  "stats": {
    "articles": {
      "rows": 200,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 200,
          "min": 1,
          "max": 200
        },
        "title": {
          "nulls": 0,
          "distinct": 200
        },
        "content": {
          "nulls": 0,
          "distinct": 200
        },
        "published_at": {
          "nulls": 0,
          "distinct": 200,
          "min": "2022-01-06 19:41:48",
          "max": "2023-12-29 21:55:21"
        },
        "author_id": {
          "nulls": 0,
          "distinct": 111,
          "min": 2,
          "max": 150
        }
      }
    },
    "users": {
      "rows": 150,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 150,
          "min": 1,
          "max": 150
        },
        "full_name": {
          "nulls": 0,
          "distinct": 141,
          "min": "Alice Novak",
          "max": "Zoe Park"
        },
        "email": {
          "nulls": 0,
          "distinct": 150
        },
        "joined_at": {
          "nulls": 0,
          "distinct": 150,
          "min": "2022-01-01 22:51:15",
          "max": "2023-12-30 18:27:54"
        }
      }
    },
    "reactions": {
      "rows": 500,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 500,
          "min": 1,
          "max": 500
        },
        "user_id": {
          "nulls": 0,
          "distinct": 147,
          "min": 1,
          "max": 150
        },
        "article_id": {
          "nulls": 0,
          "distinct": 183,
          "min": 1,
          "max": 200
        },
        "reaction_type": {
          "nulls": 0,
          "distinct": 4,
          "min": "angry",
          "max": "love"
        },
        "created_at": {
          "nulls": 0,
          "distinct": 500,
          "min": "2022-01-01 11:42:49",
          "max": "2023-12-31 18:59:45"
        }
      }
    },
    "events": {
      "rows": 100,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 100,
          "min": 1,
          "max": 100
        },
        "name": {
          "nulls": 0,
          "distinct": 100
        },
        "event_date": {
          "nulls": 0,
          "distinct": 100,
          "min": "2022-01-14 20:25:34",
          "max": "2023-12-29 23:01:24"
        },
        "location": {
          "nulls": 0,
          "distinct": 99
        }
      }
    },
    "advertisements": {
      "rows": 80,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 80,
          "min": 1,
          "max": 80
        },
        "article_id": {
          "nulls": 0,
          "distinct": 63,
          "min": 3,
          "max": 200
        },
        "business_name": {
          "nulls": 0,
          "distinct": 80
        },
        "ad_content": {
          "nulls": 0,
          "distinct": 80
        },
        "created_at": {
          "nulls": 0,
          "distinct": 80,
          "min": "2022-01-02 16:20:58",
          "max": "2023-12-26 12:22:33"
        }
      }
    },
    "comments": {
      "rows": 400,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 400,
          "min": 1,
          "max": 400
        },
        "user_id": {
          "nulls": 0,
          "distinct": 135,
          "min": 1,
          "max": 150
        },
        "article_id": {
          "nulls": 0,
          "distinct": 176,
          "min": 1,
          "max": 200
        },
        "content": {
          "nulls": 0,
          "distinct": 400
        },
        "is_flagged": {
          "nulls": 0,
          "distinct": 2,
          "min": "false",
          "max": "true"
        },
        "created_at": {
          "nulls": 0,
          "distinct": 400,
          "min": "2022-01-01 20:36:09",
          "max": "2023-12-31 00:13:34"
        }
      }
    }
  },
  "artifacts": [
    {
      "file": "csv/events.csv",
      "format": "csv",
      "table": "events",
      "key": "datasets/crowdsourced-local-news-platform/v1/csv/events.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/crowdsourced-local-news-platform/v1/csv/events.csv",
      "bytes": 10853,
      "sha256": "c9231eca5f83b45cd5bd5e35ad2de72331746a818cb9b6993cbbc38b34ba849a",
      "rows": 100,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/users.csv",
      "format": "csv",
      "table": "users",
      "key": "datasets/crowdsourced-local-news-platform/v1/csv/users.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/crowdsourced-local-news-platform/v1/csv/users.csv",
      "bytes": 9058,
      "sha256": "24b51ec56f1a61b73961caf41fa329e220d533ec63b7c7d00d0dd1614989650d",
      "rows": 150,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/articles.csv",
      "format": "csv",
      "table": "articles",
      "key": "datasets/crowdsourced-local-news-platform/v1/csv/articles.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/crowdsourced-local-news-platform/v1/csv/articles.csv",
      "bytes": 50426,
      "sha256": "2d5cd4c5f0e73d133614020389756894f4f2b4b465bac50edd31c347bfe69b12",
      "rows": 200,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/advertisements.csv",
      "format": "csv",
      "table": "advertisements",
      "key": "datasets/crowdsourced-local-news-platform/v1/csv/advertisements.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/crowdsourced-local-news-platform/v1/csv/advertisements.csv",
      "bytes": 20598,
      "sha256": "55f800fc88a792ecf741f0583eb815d568c0fa9c4cec7320dba04fcd566159e8",
      "rows": 80,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/comments.csv",
      "format": "csv",
      "table": "comments",
      "key": "datasets/crowdsourced-local-news-platform/v1/csv/comments.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/crowdsourced-local-news-platform/v1/csv/comments.csv",
      "bytes": 81383,
      "sha256": "9f61ba1b68e5e5e9ac6a00c74a34efb0708750325c25a7d408a2dece36a5bfce",
      "rows": 400,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/reactions.csv",
      "format": "csv",
      "table": "reactions",
      "key": "datasets/crowdsourced-local-news-platform/v1/csv/reactions.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/crowdsourced-local-news-platform/v1/csv/reactions.csv",
      "bytes": 18862,
      "sha256": "c4488853a20c7bb7d0d101021f04bd81ab72d0836c5cf383574e10c0b8770b72",
      "rows": 500,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "crowdsourced-local-news-platform.json",
      "format": "json",
      "table": null,
      "key": "datasets/crowdsourced-local-news-platform/v1/crowdsourced-local-news-platform.json",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/crowdsourced-local-news-platform/v1/crowdsourced-local-news-platform.json",
      "bytes": 349187,
      "sha256": "3e2f12234da693bc343c46e3585f1489f2d3702610ad684a7b7a788d7708a14d",
      "rows": null,
      "contentType": "application/json; charset=utf-8"
    },
    {
      "file": "sql/postgres.sql",
      "format": "sql-postgres",
      "table": null,
      "key": "datasets/crowdsourced-local-news-platform/v1/sql/postgres.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/crowdsourced-local-news-platform/v1/sql/postgres.sql",
      "bytes": 215082,
      "sha256": "f9a539bdfbcbc44141a1e1671ecde728dab93c9d0f59ce5afdd3aa64226f70cb",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/mysql.sql",
      "format": "sql-mysql",
      "table": null,
      "key": "datasets/crowdsourced-local-news-platform/v1/sql/mysql.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/crowdsourced-local-news-platform/v1/sql/mysql.sql",
      "bytes": 212854,
      "sha256": "2ee8eee07ec80240ea44872a242c738af8ec78dced1ec02d312f9442ae7d7e5c",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/mssql.sql",
      "format": "sql-mssql",
      "table": null,
      "key": "datasets/crowdsourced-local-news-platform/v1/sql/mssql.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/crowdsourced-local-news-platform/v1/sql/mssql.sql",
      "bytes": 216671,
      "sha256": "0d805b5d68664cef40dfe4cbc71b3d0daa85b888dce34e91e99eacc119461cb1",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/sqlite.sql",
      "format": "sql-sqlite",
      "table": null,
      "key": "datasets/crowdsourced-local-news-platform/v1/sql/sqlite.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/crowdsourced-local-news-platform/v1/sql/sqlite.sql",
      "bytes": 212591,
      "sha256": "c0ac3bfea4a968f463f6013c594a32384f6ec1911cbe0a280a2b13fdde178294",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "prisma/seed.ts",
      "format": "prisma-seed",
      "table": null,
      "key": "datasets/crowdsourced-local-news-platform/v1/prisma/seed.ts",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/crowdsourced-local-news-platform/v1/prisma/seed.ts",
      "bytes": 313229,
      "sha256": "d6f16ba865f125a5978370af259de4cee1f10c5022180eef2c678fa704cba4cd",
      "rows": null,
      "contentType": "application/typescript; charset=utf-8"
    },
    {
      "file": "django/fixtures.json",
      "format": "django-fixture",
      "table": null,
      "key": "datasets/crowdsourced-local-news-platform/v1/django/fixtures.json",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/crowdsourced-local-news-platform/v1/django/fixtures.json",
      "bytes": 407505,
      "sha256": "872c9cfdcd9c31acc1c9772604322d6900b343e5bd11f66ef736c58990aea28c",
      "rows": null,
      "contentType": "application/json; charset=utf-8"
    }
  ],
  "publishedAt": 1788734246872,
  "updatedAt": 1788734246872
}
