{
  "format": "dataset-manifest/1",
  "slug": "vector-art-management",
  "version": 1,
  "seed": "vector-art-management:1",
  "spec": {
    "format": "dataset/1",
    "slug": "vector-art-management",
    "name": "Vector Art Management",
    "tagline": "Users, documents, layers, paths, and palettes in a vector graphic design management platform.",
    "description": "Designers and artists create and edit vector graphics using a platform dedicated to precision and flexibility in their artwork. As they work, they manage various elements such as paths, layers, and gradient stops, which are crucial for tracking modifications and documenting the creative process. Users are empowered to seamlessly generate and switch between color palettes, enhancing their workflow and efficiency. Keyboard shortcuts play a vital role in this environment, allowing artists to accelerate their design tasks and focus on creativity rather than navigation. \n\nIn this dataset, the users table represents individual artists or designers utilizing the platform, with each row detailing user-specific attributes such as ID, username, and preferences. The documents table contains records of each design project, where one document can be associated with multiple layers stored in the layers table. Each layer describes distinct elements of the artwork and can include paths from the paths table, which define the shapes and lines within those layers. Additionally, palettes from the palettes table offer a collection of color gradients and shades available to the users, enabling a rich variety in design choices. \n\nThe relationships between these tables allow for complex queries that can answer questions such as which users are most active, the average number of layers per document, and how often specific palettes are used. Insights into layer complexities and the utilization of gradients and clipping paths can reveal trends in user behavior and preferences. This synthetic dataset serves as a practical playground for developers and analysts to enhance their skills in managing and querying relational data, providing ample opportunity to explore the creative world of vector graphic design.",
    "domain": "energy",
    "shape": "slowly-changing",
    "useCases": [
      "etl-pipelines",
      "teaching"
    ],
    "keywords": [
      "vector graphics",
      "design",
      "art",
      "layers",
      "paths",
      "gradients",
      "palettes",
      "shortcuts"
    ],
    "locale": "en",
    "license": "CC0-1.0",
    "version": 1,
    "tables": {
      "users": {
        "description": "This table holds information about users of the vector art platform. Each user has a unique ID and basic details.",
        "rows": 200,
        "columns": {
          "user_id": {
            "kind": "pk",
            "description": "Unique identifier for each user."
          },
          "username": {
            "kind": "fullName",
            "description": "Full name of the user.",
            "nullable": true
          },
          "email": {
            "kind": "email",
            "from": "username",
            "description": "Email address of the user.",
            "nullable": true
          },
          "registration_date": {
            "kind": "datetime",
            "from": "2021-01-01",
            "to": "2023-12-31",
            "description": "Date when the user registered.",
            "dayProfile": "waking"
          }
        }
      },
      "documents": {
        "description": "This table contains records of documents created by users. Each document can have multiple layers and elements.",
        "rows": 300,
        "columns": {
          "document_id": {
            "kind": "pk",
            "description": "Unique identifier for each document."
          },
          "user_id": {
            "kind": "fk",
            "ref": "users.user_id",
            "description": "References the user who created the document."
          },
          "title": {
            "kind": "words",
            "min": 1,
            "max": 10,
            "description": "Title of the document.",
            "nullable": true
          },
          "creation_date": {
            "kind": "datetime",
            "from": "2021-01-01",
            "to": "2023-12-31",
            "description": "Date when the document was created.",
            "dayProfile": "business"
          }
        }
      },
      "layers": {
        "description": "This table describes layers within each document. Layers can contain various elements such as paths or shapes.",
        "rows": 600,
        "columns": {
          "layer_id": {
            "kind": "pk",
            "description": "Unique identifier for each layer."
          },
          "document_id": {
            "kind": "fk",
            "ref": "documents.document_id",
            "description": "References the document this layer belongs to."
          },
          "layer_name": {
            "kind": "words",
            "min": 1,
            "max": 10,
            "description": "Name of the layer.",
            "nullable": true
          },
          "opacity": {
            "kind": "decimal",
            "min": 0,
            "max": 1,
            "scale": 2,
            "description": "Opacity level of the layer.",
            "nullable": true
          }
        }
      },
      "paths": {
        "description": "This table holds information about paths defined in the layers of documents. Each path can have multiple points.",
        "rows": 400,
        "columns": {
          "path_id": {
            "kind": "pk",
            "description": "Unique identifier for each path."
          },
          "layer_id": {
            "kind": "fk",
            "ref": "layers.layer_id",
            "description": "References the layer this path belongs to."
          },
          "stroke_color": {
            "kind": "words",
            "description": "Color of the stroke for the path.",
            "nullable": true
          },
          "fill_color": {
            "kind": "words",
            "description": "Fill color of the path.",
            "nullable": true
          }
        }
      },
      "palettes": {
        "description": "This table contains color palettes created by users. Each palette can be associated with multiple documents.",
        "rows": 200,
        "columns": {
          "palette_id": {
            "kind": "pk",
            "description": "Unique identifier for each color palette."
          },
          "user_id": {
            "kind": "fk",
            "ref": "users.user_id",
            "description": "References the user who created the palette."
          },
          "palette_name": {
            "kind": "words",
            "min": 1,
            "max": 10,
            "description": "Name of the color palette.",
            "nullable": true
          }
        }
      }
    },
    "structure": "multi-table",
    "traits": [
      "high-cardinality",
      "nullable",
      "categorical"
    ],
    "analysisQuestions": [
      "How many documents does each user typically create?",
      "What is the average number of layers per document?",
      "Which colors are most frequently used in paths?",
      "How does the use of gradients vary across different users?",
      "What patterns can be observed in the creation of palettes?"
    ],
    "suggestedQueries": [
      {
        "title": "Join Users and Documents",
        "sql": "SELECT u.username, d.title FROM users u JOIN documents d ON u.user_id = d.user_id;",
        "dialect": "postgres"
      },
      {
        "title": "Count Layers per Document",
        "sql": "SELECT d.title, COUNT(l.layer_id) AS layer_count FROM documents d LEFT JOIN layers l ON d.document_id = l.document_id GROUP BY d.title;",
        "dialect": "postgres"
      },
      {
        "title": "Average Opacity in Layers",
        "sql": "SELECT AVG(l.opacity) AS avg_opacity FROM layers l;",
        "dialect": "postgres"
      },
      {
        "title": "Most Common Stroke Colors",
        "sql": "SELECT p.stroke_color, COUNT(*) AS color_count FROM paths p GROUP BY p.stroke_color ORDER BY color_count DESC LIMIT 5;",
        "dialect": "postgres"
      }
    ],
    "usageScenarios": [
      {
        "title": "Teaching Vector Graphic Concepts",
        "body": "Educators can use this dataset to teach students about vector graphics design principles. By analyzing the relationships between layers, paths, and palettes, students can gain insights into the structure and complexity of vector designs. This dataset provides a hands-on approach to learning about the intricacies of graphic design."
      },
      {
        "title": "ETL Pipeline Development",
        "body": "Data engineers can utilize this dataset to practice building ETL pipelines. By extracting data from the various tables, transforming it to meet specific requirements, and loading it into a data warehouse or analytics platform, engineers can enhance their skills in data manipulation and integration. This dataset presents realistic scenarios for pipeline development."
      },
      {
        "title": "Data Analysis for User Behavior",
        "body": "Analysts can leverage this dataset to explore user behavior on the vector art platform. By examining the frequency of document creation, layer usage, and palette selection, analysts can identify trends and patterns that inform design tool enhancements. Insights gained from this analysis can lead to improvements in user experience."
      },
      {
        "title": "Exploring Design Patterns",
        "body": "Designers and researchers can analyze the dataset to uncover common design patterns among users. By investigating the types of paths and layers used in documents, as well as the color palettes created, valuable insights can be drawn regarding popular design techniques and preferences within the vector art community."
      }
    ]
  },
  "counts": {
    "users": 200,
    "documents": 300,
    "layers": 600,
    "palettes": 200,
    "paths": 400
  },
  "stats": {
    "users": {
      "rows": 200,
      "columns": {
        "user_id": {
          "nulls": 0,
          "distinct": 200,
          "min": 1,
          "max": 200
        },
        "username": {
          "nulls": 22,
          "distinct": 171,
          "min": "Alice Young",
          "max": "Zoe Silva"
        },
        "email": {
          "nulls": 48,
          "distinct": 150
        },
        "registration_date": {
          "nulls": 0,
          "distinct": 200,
          "min": "2021-01-04 18:49:46",
          "max": "2023-12-31 15:33:53"
        }
      }
    },
    "documents": {
      "rows": 300,
      "columns": {
        "document_id": {
          "nulls": 0,
          "distinct": 300,
          "min": 1,
          "max": 300
        },
        "user_id": {
          "nulls": 0,
          "distinct": 151,
          "min": 2,
          "max": 199
        },
        "title": {
          "nulls": 32,
          "distinct": 259
        },
        "creation_date": {
          "nulls": 0,
          "distinct": 300,
          "min": "2021-01-01 16:55:58",
          "max": "2023-12-30 12:57:01"
        }
      }
    },
    "layers": {
      "rows": 600,
      "columns": {
        "layer_id": {
          "nulls": 0,
          "distinct": 600,
          "min": 1,
          "max": 600
        },
        "document_id": {
          "nulls": 0,
          "distinct": 255,
          "min": 2,
          "max": 300
        },
        "layer_name": {
          "nulls": 71,
          "distinct": 515
        },
        "opacity": {
          "nulls": 69,
          "distinct": 100,
          "min": 0,
          "max": 1
        }
      }
    },
    "paths": {
      "rows": 400,
      "columns": {
        "path_id": {
          "nulls": 0,
          "distinct": 400,
          "min": 1,
          "max": 400
        },
        "layer_id": {
          "nulls": 0,
          "distinct": 290,
          "min": 2,
          "max": 600
        },
        "stroke_color": {
          "nulls": 43,
          "distinct": 357
        },
        "fill_color": {
          "nulls": 40,
          "distinct": 359
        }
      }
    },
    "palettes": {
      "rows": 200,
      "columns": {
        "palette_id": {
          "nulls": 0,
          "distinct": 200,
          "min": 1,
          "max": 200
        },
        "user_id": {
          "nulls": 0,
          "distinct": 126,
          "min": 1,
          "max": 200
        },
        "palette_name": {
          "nulls": 20,
          "distinct": 177
        }
      }
    }
  },
  "artifacts": [
    {
      "file": "csv/users.csv",
      "format": "csv",
      "table": "users",
      "key": "datasets/vector-art-management/v1/csv/users.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/vector-art-management/v1/csv/users.csv",
      "bytes": 10805,
      "sha256": "3a9cdda90f8f19c3569baa6704a25563d7576348f37dc17888689fa58522ea73",
      "rows": 200,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/documents.csv",
      "format": "csv",
      "table": "documents",
      "key": "datasets/vector-art-management/v1/csv/documents.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/vector-art-management/v1/csv/documents.csv",
      "bytes": 18580,
      "sha256": "c6e5aa0c56b605f75b7a8a28a3f3d4294c25a3690a5a381a7ccb3549e6dd0691",
      "rows": 300,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/layers.csv",
      "format": "csv",
      "table": "layers",
      "key": "datasets/vector-art-management/v1/csv/layers.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/vector-art-management/v1/csv/layers.csv",
      "bytes": 27216,
      "sha256": "024e030e9b34202a6f1b73b90e114297c670799b091dd0e8bd6d9870df5b1861",
      "rows": 600,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/palettes.csv",
      "format": "csv",
      "table": "palettes",
      "key": "datasets/vector-art-management/v1/csv/palettes.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/vector-art-management/v1/csv/palettes.csv",
      "bytes": 8484,
      "sha256": "61ea792e132e6d896f2cca713758af85d0044d2f8ec61faa6015a4a8ec1f8d26",
      "rows": 200,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/paths.csv",
      "format": "csv",
      "table": "paths",
      "key": "datasets/vector-art-management/v1/csv/paths.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/vector-art-management/v1/csv/paths.csv",
      "bytes": 22637,
      "sha256": "b7ce4718940f6f2eed85247a90db57e977a34a89d6f94010a16a99724495a88b",
      "rows": 400,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "vector-art-management.json",
      "format": "json",
      "table": null,
      "key": "datasets/vector-art-management/v1/vector-art-management.json",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/vector-art-management/v1/vector-art-management.json",
      "bytes": 245677,
      "sha256": "84e036df192e1021e8175713d37deb5a29b956d28d13e36392a3079cba13f37c",
      "rows": null,
      "contentType": "application/json; charset=utf-8"
    },
    {
      "file": "sql/postgres.sql",
      "format": "sql-postgres",
      "table": null,
      "key": "datasets/vector-art-management/v1/sql/postgres.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/vector-art-management/v1/sql/postgres.sql",
      "bytes": 112011,
      "sha256": "aa8a07bab2ffc8c0a13531d0fec11d7273ced31498c581277b065d01059781ca",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/mysql.sql",
      "format": "sql-mysql",
      "table": null,
      "key": "datasets/vector-art-management/v1/sql/mysql.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/vector-art-management/v1/sql/mysql.sql",
      "bytes": 111410,
      "sha256": "f0aea97942de1d04ebe4fccd1dcbae5a32857d536618932a54336d029fee9aa2",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/mssql.sql",
      "format": "sql-mssql",
      "table": null,
      "key": "datasets/vector-art-management/v1/sql/mssql.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/vector-art-management/v1/sql/mssql.sql",
      "bytes": 114234,
      "sha256": "895e674855ce77fb105cc03e82e6e36575d8118487b63fa5c9c2282e0ef468fd",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/sqlite.sql",
      "format": "sql-sqlite",
      "table": null,
      "key": "datasets/vector-art-management/v1/sql/sqlite.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/vector-art-management/v1/sql/sqlite.sql",
      "bytes": 111221,
      "sha256": "298f51d7d56b7a0105edcdfa558897a6bfdf7a5963edfaac22ccfc62ac890f1b",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "prisma/seed.ts",
      "format": "prisma-seed",
      "table": null,
      "key": "datasets/vector-art-management/v1/prisma/seed.ts",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/vector-art-management/v1/prisma/seed.ts",
      "bytes": 207305,
      "sha256": "46c4c87018bb0f1aeb4487665b77baa318d616e2f1177fec275f13e93786151f",
      "rows": null,
      "contentType": "application/typescript; charset=utf-8"
    },
    {
      "file": "django/fixtures.json",
      "format": "django-fixture",
      "table": null,
      "key": "datasets/vector-art-management/v1/django/fixtures.json",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/vector-art-management/v1/django/fixtures.json",
      "bytes": 303916,
      "sha256": "eaf86740c8f7ac2b753a134c6cdd0e712a66619b1afd0cad1a34429a8e2459a6",
      "rows": null,
      "contentType": "application/json; charset=utf-8"
    }
  ],
  "publishedAt": 1788768857207,
  "updatedAt": 1788768857207
}
