Data Model

What is a Data Model?

Data models serve as foundational templates for Private Data Assets (PDAs). Each PDA created using a data model adheres to a standardized structure of claims, making these frameworks exceptionally reusable for various related scenarios.

This not only streamlines the issuance process but also provides issuers with the flexibility to tailor the types of PDAs they wish to distribute.

How it work?

Data models significantly streamline the process for developers and applications to interact with the Private Data Assets (PDAs) they have issued. Without such templates, verifiers would face complexities in requesting and consuming PDA information.

A standardized claim structure brings predictability to the process, enabling seamless consumption of different types of claims from diverse issuers. Each claim would be isolated without this standardization, complicating consumption and usability for applications and organizations.

Well-designed claim models find broader adoption within the ecosystem, benefiting all stakeholders by standardizing the data fields present in a claim. This simplifies interactions and allows verifiers to calibrate the cost of accessing a credential against its value.

πŸ“˜

Issuers employ data models as a pricing framework for the information they contribute to the network. It's incumbent upon issuers to exercise due diligence in establishing a price point that aligns with what verifiers are willing to pay. Please refer to the 'Issuer Tab' provided for additional insights and guidelines.

We strongly advise reviewing existing data models prior to creating your own, as you may find one that aligns perfectly with your specific use case. Leveraging an established data model streamlines your implementation and enhances interoperability with existing Data Requests.

JSON Format

Data models in our system are structured in JSON format for their lightweight nature, ease of use, and widespread adoption among developers. JSON's human-readable syntax simplifies defining the structure of Private Data Assets (PDAs), enabling seamless data interchange between your data and inputting it into the network. To further enhance its capabilities and overcome certain limitations, we've enriched the standard JSON schema with additional contextual fields. These custom fields serve to clarify the intended purpose of each data field, providing developers with the necessary context for more effective collaboration and integration.

A sample data model mutation can be found below, but for a more detail visit the API documentation:

mutation createDataModel {
	createDataModel(
		input: {
			title: "Demonstrating the Power of Data Models"
			description: "This is for stating why this data model is typically used by developers and what the original intent was"
			permissions: ALL
			tags: [ "Education"]
			consumptionPrice: 1.00
			schema: {
				type: "object"
				default: {}
				title: "Root Schema"
				required: ["age"]
				properties: {
					age: { type: "integer", default: 0, title: "Your age", examples: [2] },
          randomthing: {type : "string", default : "name", title: "Your Name", examples: ["sanket"]}
				}
			}
		}
	) {
		id
		title
		arweaveInfo
	}
}

Storage

Data Models are stored unencrypted on Arweave. Each data model has an Arweave hash associated with it. A sample data model Arweave is attached here for your reference.

πŸ“˜

At the moment, data models are not upgradeable.

The protocol will support that natively soon. In the future, updates will generate new Arweave files.

For now, if you want to see another field addition or change to consumption price, we recommend creating a new data model.

Data Model structure

The general structure of data models is as follows:

  1. Name, Categories, and Description

    This helps educate issuers on what the data model is generally intended for. Categories make searching and filtering easier as well.

  2. Data Model Stats
    An overview of Data Model usage that will display:

  • Number of unique issuers
  • How many PDAs were issued using this data Model
  • Fees generated for issuers and Data Model creator
  1. Created by
    The username of the entity that created the data model
  2. Creation Date
    The date the data model was created
  3. Last Updated
    Indicates when the data model was edited last
  4. Verification Cost
    This amount represents an issuer's revenue each time a verifier accesses a PDA.
  5. Data Model ID
    Each data model has a unique identifier (UUID)
  6. Arweave File
    Data model information. The information is stored unencrypted.
  7. Claim Structure
    These are the field names that create the claim. Every PDA issued using this data model will have this claim structure.