{
  "format": "dataset-manifest/1",
  "slug": "harmony-connections",
  "version": 2,
  "seed": "harmony-connections:1",
  "spec": {
    "format": "dataset/1",
    "slug": "harmony-connections",
    "name": "Harmony Connections",
    "tagline": "A platform for musicians to collaborate and create across genres.",
    "description": "Harmony Connections is a synthetic dataset designed to model a social platform that facilitates collaborations among musicians from various backgrounds. The dataset includes tables that represent users, genres, collaborations, messages, and follow relationships, creating a rich network of interactions within the music community. Each table is interconnected, allowing for complex queries around collaboration patterns, genre preferences, and user interactions. This dataset can help developers and analysts practice SQL skills, understand graph-based relationships, and explore social networking dynamics in a musical context. Users can engage with the data to answer questions about collaboration frequency, genre diversity, and messaging trends, making it an excellent resource for teaching and learning purposes.",
    "domain": "social",
    "shape": "graph-edges",
    "useCases": [
      "sql-practice",
      "teaching"
    ],
    "keywords": [
      "music",
      "collaboration",
      "social network",
      "genres",
      "users",
      "messages",
      "follows"
    ],
    "locale": "en",
    "license": "CC0-1.0",
    "version": 1,
    "tables": {
      "users": {
        "description": "Each row represents a musician on the platform, capturing their unique attributes and preferences.",
        "rows": 200,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "The unique identifier for each user."
          },
          "full_name": {
            "kind": "fullName",
            "description": "The full name of the user."
          },
          "email": {
            "kind": "email",
            "from": "full_name",
            "description": "The user's email address."
          },
          "genre": {
            "kind": "enum",
            "values": [
              "Pop",
              "Rock",
              "Jazz",
              "Classical",
              "Hip-Hop",
              "Electronic"
            ],
            "weights": [
              30,
              25,
              15,
              10,
              10,
              10
            ],
            "description": "The primary genre the user identifies with."
          },
          "bio": {
            "kind": "sentence",
            "max": 200,
            "description": "A short biography of the user.",
            "nullable": true,
            "when": {
              "column": "genre",
              "in": [
                "Pop",
                "Rock",
                "Jazz",
                "Classical",
                "Hip-Hop",
                "Electronic"
              ]
            }
          }
        }
      },
      "genres": {
        "description": "This table lists different music genres available for collaboration.",
        "rows": 6,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "The unique identifier for each genre."
          },
          "name": {
            "kind": "enum",
            "values": [
              "Pop",
              "Rock",
              "Jazz",
              "Classical",
              "Hip-Hop",
              "Electronic"
            ],
            "description": "The name of the genre.",
            "weights": [
              5,
              4,
              3,
              2,
              1,
              1
            ]
          }
        }
      },
      "collaborations": {
        "description": "Tracks the collaborations between users, linking them through their projects.",
        "rows": 150,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "The unique identifier for each collaboration."
          },
          "user_id_1": {
            "kind": "fk",
            "ref": "users.id",
            "description": "The first user involved in the collaboration."
          },
          "user_id_2": {
            "kind": "fk",
            "ref": "users.id",
            "description": "The second user involved in the collaboration."
          },
          "genre_id": {
            "kind": "fk",
            "ref": "genres.id",
            "description": "The genre associated with the collaboration."
          },
          "project_name": {
            "kind": "words",
            "max": 3,
            "description": "The name of the collaborative project.",
            "nullable": true,
            "when": {
              "column": "status",
              "in": [
                "completed",
                "pending"
              ]
            },
            "pool": [
              "Harmony",
              "Unity",
              "Connection",
              "Synergy",
              "Collaboration",
              "Network",
              "Partnership",
              "Alliance",
              "Engagement",
              "Outreach",
              "Innovation",
              "Empowerment",
              "Impact",
              "Development",
              "Growth",
              "Inclusion",
              "Support",
              "Vision",
              "Change",
              "Progress",
              "Community"
            ],
            "min": 1
          },
          "status": {
            "kind": "enum",
            "values": [
              "active",
              "completed",
              "pending"
            ],
            "description": "The current status of the collaboration.",
            "weights": [
              7,
              2,
              1
            ]
          }
        }
      },
      "messages": {
        "description": "Stores messages sent between users as part of their collaboration process.",
        "rows": 300,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "The unique identifier for each message."
          },
          "sender_id": {
            "kind": "fk",
            "ref": "users.id",
            "description": "The user who sends the message."
          },
          "recipient_id": {
            "kind": "fk",
            "ref": "users.id",
            "description": "The user who receives the message."
          },
          "content": {
            "kind": "paragraph",
            "max": 500,
            "description": "The content of the message.",
            "nullable": true
          },
          "sent_at": {
            "kind": "datetime",
            "from": "2023-01-01",
            "to": "2023-12-31",
            "description": "The timestamp when the message was sent.",
            "dayProfile": "waking"
          }
        }
      },
      "follows": {
        "description": "Represents the follow relationships between users on the platform.",
        "rows": 250,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "The unique identifier for each follow relationship."
          },
          "follower_id": {
            "kind": "fk",
            "ref": "users.id",
            "description": "The user who follows another user."
          },
          "followed_id": {
            "kind": "fk",
            "ref": "users.id",
            "description": "The user being followed."
          },
          "followed_at": {
            "kind": "datetime",
            "from": "2023-01-01",
            "to": "2023-12-31",
            "description": "The timestamp when the follow occurred.",
            "dayProfile": "business"
          }
        }
      }
    },
    "structure": "multi-table",
    "traits": [
      "categorical",
      "timestamped",
      "high-cardinality"
    ],
    "analysisQuestions": [
      "What genres do users collaborate on the most?",
      "How does the number of messages correlate with active collaborations?",
      "What are the common characteristics of users who follow each other?",
      "Are there specific genres that lead to more collaborations?",
      "How frequently do users switch genres in their collaborations?"
    ],
    "suggestedQueries": [
      {
        "title": "List all users and their primary genre",
        "sql": "SELECT full_name, genre FROM users;",
        "dialect": "postgres"
      },
      {
        "title": "Count collaborations by genre",
        "sql": "SELECT genre_id, COUNT(*) FROM collaborations GROUP BY genre_id;",
        "dialect": "postgres"
      },
      {
        "title": "Find active collaborations between two users",
        "sql": "SELECT * FROM collaborations WHERE user_id_1 = $1 AND user_id_2 = $2 AND status = 'active';",
        "dialect": "postgres"
      },
      {
        "title": "Get the message history between two users",
        "sql": "SELECT content, sent_at FROM messages WHERE sender_id = $1 AND recipient_id = $2 ORDER BY sent_at;",
        "dialect": "postgres"
      },
      {
        "title": "List users with their followers count",
        "sql": "SELECT u.full_name, COUNT(f.follower_id) AS followers_count FROM users u LEFT JOIN follows f ON u.id = f.followed_id GROUP BY u.id;",
        "dialect": "postgres"
      }
    ],
    "usageScenarios": [
      {
        "title": "Music Collaboration Analysis",
        "body": "Music data analysts can utilize this dataset to explore collaboration patterns among musicians, identifying which genres lead to the most collaborations and understanding the dynamics of user interactions. This analysis could help in designing better features for the platform."
      },
      {
        "title": "Teaching SQL Skills",
        "body": "Educators can leverage this dataset in SQL courses to teach students how to write queries involving joins, aggregations, and subqueries. The variety of relationships between tables provides a practical context for learning essential SQL skills."
      },
      {
        "title": "User Engagement Insights",
        "body": "Product managers can analyze user engagement metrics by examining the number of follows, messages exchanged, and collaborations initiated. This insight can guide decisions on feature enhancements and user retention strategies."
      },
      {
        "title": "Cross-Genre Collaboration Research",
        "body": "Researchers studying cross-genre collaborations can use this dataset to investigate how often users collaborate outside of their primary genre, potentially uncovering trends that could shape future music production and marketing strategies."
      }
    ]
  },
  "counts": {
    "genres": 6,
    "users": 200,
    "collaborations": 150,
    "follows": 250,
    "messages": 300
  },
  "stats": {
    "users": {
      "rows": 200,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 200,
          "min": 1,
          "max": 200
        },
        "full_name": {
          "nulls": 0,
          "distinct": 199,
          "min": "Alice Bauer",
          "max": "Zoe Sousa"
        },
        "email": {
          "nulls": 0,
          "distinct": 199
        },
        "genre": {
          "nulls": 0,
          "distinct": 6,
          "min": "Classical",
          "max": "Rock"
        },
        "bio": {
          "nulls": 0,
          "distinct": 200
        }
      }
    },
    "genres": {
      "rows": 6,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 6,
          "min": 1,
          "max": 6
        },
        "name": {
          "nulls": 0,
          "distinct": 5,
          "min": "Classical",
          "max": "Rock"
        }
      }
    },
    "collaborations": {
      "rows": 150,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 150,
          "min": 1,
          "max": 150
        },
        "user_id_1": {
          "nulls": 0,
          "distinct": 107,
          "min": 1,
          "max": 198
        },
        "user_id_2": {
          "nulls": 0,
          "distinct": 107,
          "min": 1,
          "max": 199
        },
        "genre_id": {
          "nulls": 0,
          "distinct": 6,
          "min": 1,
          "max": 6
        },
        "project_name": {
          "nulls": 99,
          "distinct": 44
        },
        "status": {
          "nulls": 0,
          "distinct": 3,
          "min": "active",
          "max": "pending"
        }
      }
    },
    "messages": {
      "rows": 300,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 300,
          "min": 1,
          "max": 300
        },
        "sender_id": {
          "nulls": 0,
          "distinct": 152,
          "min": 1,
          "max": 199
        },
        "recipient_id": {
          "nulls": 0,
          "distinct": 162,
          "min": 3,
          "max": 200
        },
        "content": {
          "nulls": 27,
          "distinct": 273
        },
        "sent_at": {
          "nulls": 0,
          "distinct": 300,
          "min": "2023-01-01 22:27:13",
          "max": "2023-12-31 15:21:35"
        }
      }
    },
    "follows": {
      "rows": 250,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 250,
          "min": 1,
          "max": 250
        },
        "follower_id": {
          "nulls": 0,
          "distinct": 148,
          "min": 1,
          "max": 200
        },
        "followed_id": {
          "nulls": 0,
          "distinct": 149,
          "min": 1,
          "max": 197
        },
        "followed_at": {
          "nulls": 0,
          "distinct": 250,
          "min": "2023-01-01 07:09:25",
          "max": "2023-12-27 09:31:41"
        }
      }
    }
  },
  "artifacts": [
    {
      "file": "csv/genres.csv",
      "format": "csv",
      "table": "genres",
      "key": "datasets/harmony-connections/v2/csv/genres.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/harmony-connections/v2/csv/genres.csv",
      "bytes": 63,
      "sha256": "98a6dbea527b7da1ded19dc97949009f72ce73a9192eb22da1d68ac07b818289",
      "rows": 6,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/users.csv",
      "format": "csv",
      "table": "users",
      "key": "datasets/harmony-connections/v2/csv/users.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/harmony-connections/v2/csv/users.csv",
      "bytes": 20733,
      "sha256": "04e1cfdef6b01d23f20da3d9886d4b75e011b766cd8c74ae8b52f768bad1383e",
      "rows": 200,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/collaborations.csv",
      "format": "csv",
      "table": "collaborations",
      "key": "datasets/harmony-connections/v2/csv/collaborations.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/harmony-connections/v2/csv/collaborations.csv",
      "bytes": 4090,
      "sha256": "505b55ca8a573aea7fb8edc9fd6d331324886154c3981b720bcd7a0f7404eaf3",
      "rows": 150,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/follows.csv",
      "format": "csv",
      "table": "follows",
      "key": "datasets/harmony-connections/v2/csv/follows.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/harmony-connections/v2/csv/follows.csv",
      "bytes": 7893,
      "sha256": "eb89e5edf47882ea6f29f811167105aab221341273d425248911f10dae8e862a",
      "rows": 250,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/messages.csv",
      "format": "csv",
      "table": "messages",
      "key": "datasets/harmony-connections/v2/csv/messages.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/harmony-connections/v2/csv/messages.csv",
      "bytes": 54626,
      "sha256": "101dce3b3d107467fe732318ba687e1c72e15e5db94f447f12f6913e18d44359",
      "rows": 300,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "harmony-connections.json",
      "format": "json",
      "table": null,
      "key": "datasets/harmony-connections/v2/harmony-connections.json",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/harmony-connections/v2/harmony-connections.json",
      "bytes": 181267,
      "sha256": "0d232747cde372642c71087fb25ea29f31fa546a3e075846e72d51f08abbd4bd",
      "rows": null,
      "contentType": "application/json; charset=utf-8"
    },
    {
      "file": "sql/postgres.sql",
      "format": "sql-postgres",
      "table": null,
      "key": "datasets/harmony-connections/v2/sql/postgres.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/harmony-connections/v2/sql/postgres.sql",
      "bytes": 103212,
      "sha256": "d3884a8db0348b7f5af90f0643333f223f630583173ae9aeb5c3b7530e8865db",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/mysql.sql",
      "format": "sql-mysql",
      "table": null,
      "key": "datasets/harmony-connections/v2/sql/mysql.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/harmony-connections/v2/sql/mysql.sql",
      "bytes": 102651,
      "sha256": "794aaf438d8c1611818e343230a84b1a56d9c7cc95750cd84d6c4123692d45e1",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/mssql.sql",
      "format": "sql-mssql",
      "table": null,
      "key": "datasets/harmony-connections/v2/sql/mssql.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/harmony-connections/v2/sql/mssql.sql",
      "bytes": 104812,
      "sha256": "714f03a9012f243e78b2e669588646033d33868016c03c0430539e9041645367",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/sqlite.sql",
      "format": "sql-sqlite",
      "table": null,
      "key": "datasets/harmony-connections/v2/sql/sqlite.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/harmony-connections/v2/sql/sqlite.sql",
      "bytes": 102352,
      "sha256": "85265027d30eb01a0bf3aa1ff959650a9b45b6f6baae6cd0a93f8ef7dc7f1835",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "prisma/seed.ts",
      "format": "prisma-seed",
      "table": null,
      "key": "datasets/harmony-connections/v2/prisma/seed.ts",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/harmony-connections/v2/prisma/seed.ts",
      "bytes": 156566,
      "sha256": "56d8164d41b89a7e9c76fcb32a0fb1625c302fb90b32df40c6b4f41d9d9e735f",
      "rows": null,
      "contentType": "application/typescript; charset=utf-8"
    },
    {
      "file": "django/fixtures.json",
      "format": "django-fixture",
      "table": null,
      "key": "datasets/harmony-connections/v2/django/fixtures.json",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/harmony-connections/v2/django/fixtures.json",
      "bytes": 217869,
      "sha256": "2bcf5171f0eb7171438a3efb5bcdcd8e4526b088806b006691a5ebcf71c7da10",
      "rows": null,
      "contentType": "application/json; charset=utf-8"
    }
  ],
  "publishedAt": 1788766969673,
  "updatedAt": 1788784241617
}
