{
  "format": "dataset-manifest/1",
  "slug": "literary-connections",
  "version": 1,
  "seed": "literary-connections:1",
  "spec": {
    "format": "dataset/1",
    "slug": "literary-connections",
    "name": "Literary Connections",
    "tagline": "User profiles, books, messages, events, and participation data from an online book club.",
    "description": "Members of an online book club connect through vibrant discussions, sharing recommendations and experiences centered around their favorite books. They engage in lively exchanges, exploring various genres and authors, while attending events designed to deepen their literary appreciation. Within this dynamic environment, user profiles capture crucial information about each member, including their interests, activity levels, and the books they read and discuss. The interactions among users are tracked through messages, which highlight the most active conversations and foster community ties.\n\nThe dataset comprises several key tables: 'users', 'books', 'messages', 'events', and 'event_participants'. Each row in the 'users' table represents a unique member, detailing their profile information. The 'books' table catalogues the various titles available for discussion, with each row corresponding to an individual book and its attributes, including genre and author. The 'messages' table captures the exchanges between users, linking to the corresponding users through unique identifiers. The 'events' table outlines scheduled gatherings, listings of specific book discussions or guest author talks, with each entry signifying a distinct occasion. Finally, the 'event_participants' table connects users to events, indicating which members attended specific gatherings.\n\nThis rich dataset allows for exploration of questions about user engagement, such as which genres attract the most active conversations, how ratings of books correlate with user attendance at events, and trends in book popularity over time. Practicing with this data can yield insights into social behaviors, user preferences, and community dynamics within the literary space. It is important to note that the data is synthetic, designed to simulate realistic interactions and provide a robust platform for analytical practice.",
    "domain": "social",
    "shape": "graph-edges",
    "useCases": [
      "sql-practice",
      "teaching"
    ],
    "keywords": [
      "book club",
      "social interaction",
      "literary discussions",
      "event participation",
      "user profiles"
    ],
    "locale": "en",
    "license": "CC0-1.0",
    "version": 1,
    "tables": {
      "users": {
        "description": "This table contains user profiles, each representing a member of the book club. It includes personal information and the user's preferences.",
        "rows": 200,
        "columns": {
          "user_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": "User's email address."
          },
          "join_date": {
            "kind": "date",
            "from": "2020-01-01",
            "to": "2023-12-31",
            "description": "The date the user joined the book club."
          },
          "favorite_genre": {
            "kind": "enum",
            "values": [
              "fiction",
              "non-fiction",
              "mystery",
              "fantasy",
              "biography"
            ],
            "description": "User's preferred book genre."
          }
        }
      },
      "books": {
        "description": "This table includes the details of the books discussed within the club, linking users to their reading interests.",
        "rows": 150,
        "columns": {
          "book_id": {
            "kind": "pk",
            "description": "Unique identifier for each book."
          },
          "title": {
            "kind": "words",
            "max": 10,
            "description": "The title of the book."
          },
          "author": {
            "kind": "fullName",
            "description": "The author of the book."
          },
          "genre": {
            "kind": "enum",
            "values": [
              "fiction",
              "non-fiction",
              "mystery",
              "fantasy",
              "biography"
            ],
            "description": "Genre of the book."
          },
          "publication_year": {
            "kind": "int",
            "min": 1900,
            "max": 2023,
            "description": "Year the book was published."
          }
        }
      },
      "messages": {
        "description": "This table records the messages exchanged between members, facilitating discussions and recommendations.",
        "rows": 500,
        "columns": {
          "message_id": {
            "kind": "pk",
            "description": "Unique identifier for each message."
          },
          "sender_id": {
            "kind": "fk",
            "ref": "users.user_id",
            "description": "The user ID of the message sender."
          },
          "receiver_id": {
            "kind": "fk",
            "ref": "users.user_id",
            "description": "The user ID of the message receiver."
          },
          "content": {
            "kind": "sentence",
            "max": 140,
            "description": "The content of the message."
          },
          "sent_at": {
            "kind": "datetime",
            "from": "2020-01-01",
            "to": "2023-12-31",
            "dayProfile": "waking",
            "description": "The timestamp when the message was sent."
          }
        }
      },
      "events": {
        "description": "This table holds information about events organized by the book club, such as discussion sessions and author meet-ups.",
        "rows": 100,
        "columns": {
          "event_id": {
            "kind": "pk",
            "description": "Unique identifier for each event."
          },
          "event_name": {
            "kind": "words",
            "max": 5,
            "description": "The name of the event."
          },
          "event_date": {
            "kind": "date",
            "from": "2020-01-01",
            "to": "2023-12-31",
            "description": "The date of the event."
          },
          "location": {
            "kind": "words",
            "max": 10,
            "description": "The location of the event."
          }
        }
      },
      "event_participants": {
        "description": "This table tracks the participants of each event, linking users to the events they attend.",
        "rows": 300,
        "via": "event_id",
        "columns": {
          "participant_id": {
            "kind": "pk",
            "description": "Unique identifier for each participant entry."
          },
          "user_id": {
            "kind": "fk",
            "ref": "users.user_id",
            "description": "The user ID of the participant."
          },
          "event_id": {
            "kind": "fk",
            "ref": "events.event_id",
            "description": "The ID of the event the user is attending."
          }
        }
      }
    },
    "structure": "multi-table",
    "traits": [
      "categorical",
      "timestamped",
      "nullable"
    ],
    "analysisQuestions": [
      "What genres are most popular among the members?",
      "Which books generate the most discussion within the club?",
      "How does event attendance correlate with user engagement?",
      "What types of messages do members exchange most frequently?",
      "Are there patterns in user preferences based on their join date?"
    ],
    "suggestedQueries": [
      {
        "title": "List all users and their favorite genres.",
        "sql": "SELECT full_name, favorite_genre FROM users;",
        "dialect": "postgres"
      },
      {
        "title": "Count messages exchanged between users.",
        "sql": "SELECT sender_id, COUNT(*) FROM messages GROUP BY sender_id;",
        "dialect": "postgres"
      },
      {
        "title": "Find the most discussed books by genre.",
        "sql": "SELECT genre, COUNT(*) FROM books JOIN messages ON books.book_id = messages.book_id GROUP BY genre;",
        "dialect": "postgres"
      },
      {
        "title": "Identify users attending specific events.",
        "sql": "SELECT user_id, event_id FROM event_participants WHERE event_id = 1;",
        "dialect": "postgres"
      },
      {
        "title": "Analyze event attendance trends over time.",
        "sql": "SELECT event_date, COUNT(*) FROM event_participants JOIN events ON event_participants.event_id = events.event_id GROUP BY event_date;",
        "dialect": "postgres"
      }
    ],
    "usageScenarios": [
      {
        "title": "Educators using the dataset",
        "body": "Educators can utilize the Literary Connections dataset to teach students about database design and SQL querying. By engaging with real-world scenarios, they can demonstrate how to analyze relationships between tables, perform joins, and aggregate data to derive insights."
      },
      {
        "title": "Developers building social applications",
        "body": "Developers can leverage this dataset to prototype social applications focused on book discussions. The data allows them to simulate user interactions, recommend books based on user preferences, and analyze participation trends in events."
      },
      {
        "title": "Data analysts performing literary trend analyses",
        "body": "Data analysts can use the dataset to explore literary trends, such as tracking which genres are gaining popularity over time or analyzing user engagement patterns based on event participation. These insights can inform marketing strategies for book clubs."
      },
      {
        "title": "Researchers studying reading habits",
        "body": "Researchers can analyze the dataset to gain insights into reading habits across different demographics, exploring how genre preferences and book discussions influence community engagement in online book clubs."
      }
    ]
  },
  "counts": {
    "books": 150,
    "events": 100,
    "users": 200,
    "event_participants": 300,
    "messages": 500
  },
  "stats": {
    "users": {
      "rows": 200,
      "columns": {
        "user_id": {
          "nulls": 0,
          "distinct": 200,
          "min": 1,
          "max": 200
        },
        "full_name": {
          "nulls": 0,
          "distinct": 198,
          "min": "Amir Sato",
          "max": "Zoe Ruiz"
        },
        "email": {
          "nulls": 0,
          "distinct": 200
        },
        "join_date": {
          "nulls": 0,
          "distinct": 176,
          "min": "2020-01-03",
          "max": "2023-12-19"
        },
        "favorite_genre": {
          "nulls": 0,
          "distinct": 5,
          "min": "biography",
          "max": "non-fiction"
        }
      }
    },
    "books": {
      "rows": 150,
      "columns": {
        "book_id": {
          "nulls": 0,
          "distinct": 150,
          "min": 1,
          "max": 150
        },
        "title": {
          "nulls": 0,
          "distinct": 150
        },
        "author": {
          "nulls": 0,
          "distinct": 149,
          "min": "Alice Costa",
          "max": "Zoe Vargas"
        },
        "genre": {
          "nulls": 0,
          "distinct": 5,
          "min": "biography",
          "max": "non-fiction"
        },
        "publication_year": {
          "nulls": 0,
          "distinct": 95,
          "min": 1900,
          "max": 2023
        }
      }
    },
    "messages": {
      "rows": 500,
      "columns": {
        "message_id": {
          "nulls": 0,
          "distinct": 500,
          "min": 1,
          "max": 500
        },
        "sender_id": {
          "nulls": 0,
          "distinct": 185,
          "min": 1,
          "max": 200
        },
        "receiver_id": {
          "nulls": 0,
          "distinct": 186,
          "min": 1,
          "max": 200
        },
        "content": {
          "nulls": 0,
          "distinct": 496
        },
        "sent_at": {
          "nulls": 0,
          "distinct": 500,
          "min": "2020-01-01 16:26:45",
          "max": "2023-12-28 10:10:00"
        }
      }
    },
    "events": {
      "rows": 100,
      "columns": {
        "event_id": {
          "nulls": 0,
          "distinct": 100,
          "min": 1,
          "max": 100
        },
        "event_name": {
          "nulls": 0,
          "distinct": 100
        },
        "event_date": {
          "nulls": 0,
          "distinct": 96,
          "min": "2020-01-19",
          "max": "2023-12-24"
        },
        "location": {
          "nulls": 0,
          "distinct": 100
        }
      }
    },
    "event_participants": {
      "rows": 300,
      "columns": {
        "participant_id": {
          "nulls": 0,
          "distinct": 300,
          "min": 1,
          "max": 300
        },
        "user_id": {
          "nulls": 0,
          "distinct": 159,
          "min": 1,
          "max": 200
        },
        "event_id": {
          "nulls": 0,
          "distinct": 92,
          "min": 4,
          "max": 100
        }
      }
    }
  },
  "artifacts": [
    {
      "file": "csv/books.csv",
      "format": "csv",
      "table": "books",
      "key": "datasets/literary-connections/v1/csv/books.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/literary-connections/v1/csv/books.csv",
      "bytes": 10269,
      "sha256": "26e8a585b7d88346c5da0a09ff226ddf750f4738f6a8d792bd1b649795ba7587",
      "rows": 150,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/events.csv",
      "format": "csv",
      "table": "events",
      "key": "datasets/literary-connections/v1/csv/events.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/literary-connections/v1/csv/events.csv",
      "bytes": 8088,
      "sha256": "2be3a44b0303b9dbce292b8b9bf0dce1554b88d0eaf367793b9c0c4590c612b1",
      "rows": 100,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/users.csv",
      "format": "csv",
      "table": "users",
      "key": "datasets/literary-connections/v1/csv/users.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/literary-connections/v1/csv/users.csv",
      "bytes": 12178,
      "sha256": "279a9e654222654c49d12353950c515a970034133fa69ba47403139dccd7600e",
      "rows": 200,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/event_participants.csv",
      "format": "csv",
      "table": "event_participants",
      "key": "datasets/literary-connections/v1/csv/event_participants.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/literary-connections/v1/csv/event_participants.csv",
      "bytes": 3349,
      "sha256": "92872f3d842c9a154b21461ca2587e756140e149911e1336feb7066c10d5cc00",
      "rows": 300,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/messages.csv",
      "format": "csv",
      "table": "messages",
      "key": "datasets/literary-connections/v1/csv/messages.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/literary-connections/v1/csv/messages.csv",
      "bytes": 44145,
      "sha256": "8d9fb4d70fa30f1e7a93be5857838f81c62b12a04953fb01d78df92cc77049ec",
      "rows": 500,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "literary-connections.json",
      "format": "json",
      "table": null,
      "key": "datasets/literary-connections/v1/literary-connections.json",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/literary-connections/v1/literary-connections.json",
      "bytes": 206563,
      "sha256": "6bc695e8efe2184bf2de180ad1658ef0d95eadc14aba1c229c3ad65396faca0e",
      "rows": null,
      "contentType": "application/json; charset=utf-8"
    },
    {
      "file": "sql/postgres.sql",
      "format": "sql-postgres",
      "table": null,
      "key": "datasets/literary-connections/v1/sql/postgres.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/literary-connections/v1/sql/postgres.sql",
      "bytes": 97676,
      "sha256": "dbfff25e15985e26df424790984686d0aca83be929de786855d93da92cfb31ac",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/mysql.sql",
      "format": "sql-mysql",
      "table": null,
      "key": "datasets/literary-connections/v1/sql/mysql.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/literary-connections/v1/sql/mysql.sql",
      "bytes": 97048,
      "sha256": "35ab11d41b43b8faefeb980f8aa7cec9b0b2af54baf9305fd69c91dcd236fb5a",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/mssql.sql",
      "format": "sql-mssql",
      "table": null,
      "key": "datasets/literary-connections/v1/sql/mssql.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/literary-connections/v1/sql/mssql.sql",
      "bytes": 99925,
      "sha256": "b94ac02af31f942ae8619a403d1a7e56e4e5312b2f13ebc2818151d939333356",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/sqlite.sql",
      "format": "sql-sqlite",
      "table": null,
      "key": "datasets/literary-connections/v1/sql/sqlite.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/literary-connections/v1/sql/sqlite.sql",
      "bytes": 96810,
      "sha256": "dfee11b4aecabb77e4e6c923fd6fb87e684a8de9cee078d79a567b64ee9bbc67",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "prisma/seed.ts",
      "format": "prisma-seed",
      "table": null,
      "key": "datasets/literary-connections/v1/prisma/seed.ts",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/literary-connections/v1/prisma/seed.ts",
      "bytes": 173585,
      "sha256": "f652f7c6f0b07288a162bf502ce4e4369804845b265b08a931318758893db63a",
      "rows": null,
      "contentType": "application/typescript; charset=utf-8"
    },
    {
      "file": "django/fixtures.json",
      "format": "django-fixture",
      "table": null,
      "key": "datasets/literary-connections/v1/django/fixtures.json",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/literary-connections/v1/django/fixtures.json",
      "bytes": 248661,
      "sha256": "3f596d41001fbcfdecd877844ca5048af2b38e4f87312a337f3a878464414808",
      "rows": null,
      "contentType": "application/json; charset=utf-8"
    }
  ],
  "publishedAt": 1788768587585,
  "updatedAt": 1788768587585
}
