Only this pageAll pages
Powered by GitBook
1 of 20

Platform of Trust Data Product Spec

Loading...

Key concepts

Loading...

Loading...

Loading...

Loading...

Schemas

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Canvases

Loading...

Data Product Specification Summary

version: 0.1

Introduction

Platform of Trust has taken the initiative to formulate Data Product Specification (DPS) to enhance data commoditization and monetization. We are formulating the commercial aspects related to monetizing data in a form of data products. The goal is to enable data rights holders to commercialize their data in order to accelerate the emerging data economy.

An underlying enabler is the universal information model (Platform of Trust Ontology) which allows data to be harmonized across business domains. Once data is harmonized it becomes critical that commercialization of the data is easy and transparent. Commercial transactions should be controlled and monitored so that trust between data publishers and customers can be achieved.

Platform of Trust is enabling an ecosystem where all aspects of data commercialization and transactions can be achieved in a controllable and trustworthy manner.

Main components of Platform of Trust

  • Platform of Trust Ontology

  • API (Connector) layer

  • Identity Network

  • Data Product Management layer

Main layers of Data Product Specification

Data Product Specification has three main layers.

  • Data Product Model

  • Data Product Structure

  • Payload model

Key entities of Data Product Model

The main principle of modeling entities and properties related to a data product is to enable flexible and extendable creation of data products. Some data products have simple commercial terms while other’s terms can be complex. Platform of Trust model provides easy creation of simple data products but sets no limits for including additional product related information.

Product covers properties that describe commercial information about the product such as commercial names, product codes, versions and life-cycle status.

PricePlan covers properties which describe pricing logic. Price related properties include rate, unit and currency. PricePlan also describes what are the possible mechanism to buy the product – mainly if its transaction or subscription based or combination of them. Note that one product can have multiple PricePlan options for example based on customer segmenting profile and/or areal policies.

Condition covers properties related product limitations which describe how a product can be used. For example, whether a product can be resold further, or for what purposes the product can be used, and by whom. Conditions can be divided in non-negotiable product conditions, and negotiable contract conditions. It is up to a data publisher to decide how the conditions are negotiated, and which of them negotiable. It is possible to set all contract conditions as non-negotiable, that means the product is offered in “take it or leave it” principle.

Services covers properties which describe service processes that are available for the product. They can be related to product design, production, selling/buying, delivery, support and invoicing. For example service can include information about supporting hours, contact methods and response times. Further, service quality information can be connected with the services and SLA clauses formulated based on that (see below more). Service or some services can also be priced separately and thus PricePlan can be connected to service.

Quality covers properties which describe qualitative parameters related to either product or services. If qualitative parameters can be monitored, it is possible to set target value ranges for the quality properties, and SLA clauses can be formulated into contracts between a data publisher and a customer. Product can contain these SLA options (product conditions) or they can be agreed in a contract between a publisher and a customer. The possible actions caused by breaching SLA clauses are also agreed in the contract. It is possible for a seller to define them as part of product conditions, and then they are non-negotiable on contract level.

Contract gathers together in one document all negotiated and non-negotiable information of a data product. A contract is formed when a data product customer purchases a product. A data publisher may set terms and conditions of a contract to be negotiable or non-negotiable. A contract defines all parties and their roles related to a data product. The parties must include at least a data publisher and a data product customer. If there are any other relevant parties, they must be defined. The permissions needed to access data are derived from roles and conditions of a contract. Other information defined in a contract is a term, limitations of use and payment related information, as well as what how to proceed if a party wants to stop using a data product.

Due to nature of data products, Platform of Trust is suggesting a data product license (DPL) as a default contract for data product market. In order to be compatible with systems relying on automation, a DPL should be a smart contract that means a computer program or a transaction protocol, which is intended to automatically execute, control or document legally relevant events and actions according to the terms of a DPL.

Connector covers properties required to utilize connector and access actual data product.

Monitoring covers properties related to monitoring services associated with data product.

Status contains actual status information of data product.

Quality attributes of Data Product Model

Platform of Trust has recognized ten attributes related to data quality. The attributes and their level of legal binding are defined in data product license (DPL). The quality attributes are the following:

Correctness verification level describes methods for data correctness verification. A simple verification is a data publisher’s assurance about data’s correctness and its origin in data product license (DPL).

Harmonization level describes the extent of data harmonization that means comparability of data values with other data values.

Interoperability level describes how interoperable a digital twin (identity network) of data is. The more accurately a digital twin is modelled with a common information model, the more interoperable it is.

Availability rate is uptime of the data source. It is defined in relation to time and presented as a percentage. Normally value is one of: 90%, 95%, 97.5%, 98%, 99.9%, 99.99%.

Update frequency means how the data is being updated. It is defined in relation to time.

Accuracy is also known as trueness. It tells how close the measured value is to the true value. Accuracy is about systematic margin of error.

Precision means closeness of the measured values to each other, if the measurement is repeated. Precision is about random margin of error.

Faultlessness rate is the rate of faultless values in all fields. It is presented as a percentage.

Completeness rate is the rate of full fields in all fields. It is presented as a percentage.

Security level describes data security solutions of the data source.

Response Time is targeted time in which data product will return payload response. Unit is milliseconds. This applies to request-response type of data products.

Data Product Specification

Data Product

A data product is the item offered for sale. A data product is a commodity. Every data product is made at a cost and each is sold at a price. The price that can be charged depends on the market, the quality, the marketing and the segment that is targeted. Each product has a useful life after which it needs replacement, and a life cycle after which it has to be re-invented.

A data product needs to be relevant: the users must have an immediate use for it. A product needs to be functionally able to do what it is supposed to, and do it with a good quality.

A data product needs to be communicated: Users and potential users must know why they need to use it, what benefits they can derive from it, and what it does difference it does to their lives. Advertising and 'brand building' best do this. A data product needs a name: a name that people remember and relate to. A product with a name becomes a brand. It helps it stand out from the clutter of products and names. A product should be adaptable: with trends, time and change in segments, the product should lend itself to adaptation to make it more relevant and maintain its revenue stream.

Layers

Data product is related to three layers. Digital twin defines the context and available data sources (devices). Data Product meta information layer contains business and infrastructure related information. Data Product Payload layer is the actual data product content.

Entities of the Data Product

Condition

Condition covers properties related product limitations which describe how a product can be used. For example, whether a product can be resold further, or for what purposes the product can be used, and by whom. Conditions can be divided in non-negotiable product conditions, and negotiable contract conditions. It is up to a data publisher to decide how the conditions are negotiated, and which of them negotiable. It is possible to set all contract conditions as non-negotiable, that means the product is offered in “take it or leave it” principle.

Property Category

Property

Type

Label

Description

identifier

name

string

Value sets

Data Product lifecycle

Product Lifecycle Management (PLM) is the business activity of managing, in the most effective way, a company’s products all the way across their lifecycles; from the very first idea for a product all the way through until it is retired and disposed of.

Data Product follows the traditional product life cycle phases. Data Product Specification contains necessary attribute options to support each phase:

  • Development (draft, development, testing)

  • Introduction (ready to publish, published)

  • Growth (published)

  • Maturity and saturation (published)

  • Decline (sunset)

  • Retirement (retired)

Payload

Data product contains payload which is a collection of data points. Of course there is possible situation that building includes just one CO2 measuring device and the data points of that device constitute data product payload. See examples

Three payload data collection types

Payload of data products have fixed schemas defined in ontology (examples). Payload can contain three data streams or value sets:

  1. Current values (array of objects)

  2. History (array of objects)

  3. Prediction (array of objects)

Name

Name.

description

descriptionGeneral

string

Description

Description.

categorization

categorizationLocal

string

Local category

Categorisation name given locally.

categorization

categorizationPoT

valueset

PoT category

Categorization class name in PoT standard.

location

location

Location

Condition location

Location where condition apply.

Property Category

Property

List of values

categorization

categorizationPoT

geographical availability, private, partner, public, only for internal use, reformatable, resellable

Ontology

Ontology covers properties related to payload definition of DataProduct and Connector.

Monitoring

Monitoring covers properties related to monitoring services attached to DataProduct or Connector.

https://www.slimstock.com/en/product-lifecycle-management/

Data point

Data point is a single fact or piece of information. In the context of building management systems (BMS) data often is gathered with various types of sensors. In the data product context each sensor is a data point source (device in ontology).

Each device is not a data product. Data product contains payload which is a collection of data points. Of course there is possible situation that building includes just one CO2 measuring device and the data points of that device constitute data product payload.

Service

Service covers properties which describe service processes that are available for the product. They can be related to product design, production, selling/buying, delivery, support and invoicing.

From data to products

Lean Canvas is a 1-page business plan template created by Ash Maurya that helps you deconstruct your idea into its key assumptions. It is adapted from Alex Osterwalder's Business Model Canvas and optimized for Lean Startups. It replaces elaborate business plans with a single page business model.

Business plans take too long to write, are seldom updated, and almost never read by others but documenting your hypotheses is key.

We apply the same thinking in data product development. We are building canvas tools which enables any data owner to productize data to data products. With help of the canvases anyone can iterate and evaluate data product ideas to find out for whom the product is for, what it costs to build and maintain, how to reach target groups and such.

descriptionGeneral

string

Description

Description.

categorization

categorizationLocal

string

Local category

Categorisation name given locally.

categorization

categorizationPoT

valueset

PoT category

Categorization class name in PoT standard.

Property Category

Property

Type

Label

Description

identifier

name

string

Name

Name of the service.

description

Rule

Rule covers properties that describe PricePlan application rules. Those include different limits in quantity, duration, e.t.c.

Property Category

Property

Type

Label

Description

physical

minQuantity

integer

Minimal quantity

Quality

Quality covers properties which describe qualitative parameters related to either product or services. If qualitative parameters can be monitored, it is possible to set target value ranges for the quality properties, and SLA clauses can be formulated into contracts between a data publisher and a customer. Product can contain these SLA options (product conditions) or they can be agreed in a contract between a publisher and a customer. The possible actions caused by breaching SLA clauses are also agreed in the contract. It is possible for a seller to define them as part of product conditions, and then they are non-negotiable on contract level.

Property Category

Property

Type

Label

Description

identifier

name

string

Connector

Connector covers properties that describe information about actual implementation of DataProduct. It contains all technical information required to utilize DataProduct.

physical

maxQuantity

integer

Maximal quantity

Name

Name of the quality parameter.

categorization

categorizationLocal

string

Local category

Categorisation name given locally.

categorization

categorizationPoT

valueset

PoT category

Categorization class name in PoT standard.

description

descriptionGeneral

string

Description

Description.

descriptionGeneral

string

Description

Description.

identifier

uri

string

Endpoint uri

Endpoint uri.

lifeCycle

version

string

Version name

Version name.

lifeCycle

supportedOntologyVersion

string

Supported Ontology versions

Supported Ontology versions.

Property Category

Property

Type

Label

Description

identifier

name

string

Name

Name.

description

Location

Location covers properties related to geographical location.

Property Category

Property

Type

Label

Description

address

county

city

country

region

Status

Status covers properties related to status of respective object.

Property Category

Property

Type

Label

Description

identifier

idLocal

identifier

name

description

descriptionGeneral

time

exactTime

lifecycle

statusAccepted

categorization

categorizationPot

PricePlan

PricePlan covers properties that describe pricing. Price related properties include rate, unit and currency. Taxation properties cover applicable VAT percentage and whether or not, tax is included in price. PricePlan also describes what are the possible mechanisms to buy the product – mainly if it is based on transaction or subscription, or if it is a combination of them. Note that one product can have multiple PricePlan options, for example based on customer segmenting profile or area policies.

Supported types of plans are:

Name

Description

Free

Free data and should not have price other than 0. Free data can be integrated with in-house or private data and this integration could become valuable.

Pay-per-use

aka usage based pricing, usage based prices correspond to the human rationality that each single unit of a commodity raises the total amount of money to pay for.

Schema elements

Examples

physical

unit

string

Unit

Unit used (Defines unit which is used).

physical

unitGroup

string

Unit group

Unit group name/definition.

physical

quantity

integer

Quantity

financial

vatIncluded

boolean

VAT included in rate

Information if VAT is included in the rate (price per unit).

financial

vatPercentage

integer

VAT percentage

Percentage value used for VAT taxation.

financial

rate

string

Rate

Package

Package pricing refers to a pricing model that offers a customer a certain amount of data or API calls for a fixed fee and pay fee per unit for exceeding calls.

In this context amount of data is data cap which might be attached to plan. API calls is relevant if the product is request-response type. On subscription product this does not make sense.

Subscription

aka The flat fee tariff is one of the simplest pricing models with minimal transaction costs. It is based on time as the only parameter. Suppliers could combine a flat fee tariff with flexibility by offering short term contracts.

Freemium

The idea is to let users join and use basic services for free and charge them for (premium) services that provide additional value to customers. The payment model for additional services can take any of the forms described above.

Property Category

Property

Type

Label

Description

identifier

name

string

Name

Name of the PricePlan.

financial

currency

string

Currency

Currency used for rate (ISO 4217 code).

{
   "name":"FREE",
   "unitGroup":"Transaction",
   "unit":"Transaction",
   "rate":0
}
[
   {
      "name":"Premium Package",
      "currency":"EUR",
      "unitGroup":"Transaction",
      "unit":"Transaction",
      "quantity":100000,
      "rule":{
         "maxQuantity":100000
      },
      "rate":100
   },
   {
      "name":"Extra Requests",
      "currency":"EUR",
      "unitGroup":"Transaction",
      "unit":"Transaction",
      "quantity":1,
      "rule":{
         "minQuantity":100001
      },
      "rate":0.5
   }
]
{
   "name":"Premium subscription 1 year",
   "currency":"EUR",
   "unitGroup":"Duration",
   "unit":"year",
   "quantity":1,
   "rate":1000
}
{
   "name":"Pay-Per-Use Standard",
   "currency":"EUR",
   "unitGroup":"Transaction",
   "unit":"Transaction",
   "rate":1
}

Data Product

Below is the example of DataProduct. Entitites definitions can be found in respective subpages.

Property Category

Property

Type

Label

Description

description

condition

Condition

Condition

Conditions associated with DataProduct.

Value sets

{
   "name":"Product catalog",
   "categorizationPoT":"dataProduct",
   "descriptionGeneral":"Product catalogs published by standardization organizations.",
   "rating":4.7,
   "visibility":"organisation, public",
   "validFrom":"2020-01-01",
   "validTo":"2020-12-31",
   "status":[
      {
         "name":"Published"
      },
      {
         "name":"Maintenance scheduled",
         "decriptionGeneral":"DataProduct Service Update on Wednesday April 18 at 20:00 UTC. Expected duration 2 hours."
      }
   ],
   "streamType":[
      "currentValues",
      "historyValues",
      "predictionValues"
   ],
   "monitoring":{
      "url":"https://status.uptimerobot.com/"
   },
   "ontology":{
      "harmonized":true,
      "supportedPayload":{
         "currentValues":{
            "requestContext":"https://standards-ontotest.oftrust.net/v2/Context/DataProductParameters/ProductCatalog/",
            "responseContext":"https://standards-ontotest.oftrust.net/v2/Context/DataProductOutput/ProductCatalog/",
            "version":"2.0",
            "versionHistory":[
               "1.2",
               "2.0"
            ]
         },
         "historyValues":{
            "requestContext":"https://standards-ontotest.oftrust.net/v2/Context/DataProductParameters/ProductCatalog/",
            "responseContext":"https://standards-ontotest.oftrust.net/v2/Context/DataProductOutput/ProductCatalog/",
            "version":"2.0",
            "versionHistory":[
               "1.2",
               "2.0"
            ]
         },
         "predictionValues":{
            "requestContext":"https://standards-ontotest.oftrust.net/v2/Context/DataProductParameters/ProductCatalog/",
            "responseContext":"https://standards-ontotest.oftrust.net/v2/Context/DataProductOutput/ProductCatalog/",
            "version":"2.0",
            "versionHistory":[
               "1.2",
               "2.0"
            ]
         }
      }
   },
   "condition":[
      {
         "name":"Reselling limitation",
         "descriptionGeneral":"Information cannot be sold further. Only to be used within buying organization.",
         "categorizationLocal":"usage",
         "categorizationPoT":"only for internal use"
      }
   ],
   "priceplan":[
      {
         "name":"Premium subscription 1 year",
         "currency":"EUR",
         "unitGroup":"Duration",
         "unit":"year",
         "quantity":1,
         "rate":1000
      },
      [
         {
            "name":"Premium Package",
            "currency":"EUR",
            "unitGroup":"Transaction",
            "unit":"Transaction",
            "quantity":100000,
            "rule":{
               "maxQuantity":100000
            },
            "rate":100
         },
         {
            "name":"Extra Requests",
            "currency":"EUR",
            "unitGroup":"Transaction",
            "unit":"Transaction",
            "quantity":1,
            "rule":{
               "minQuantity":100001
            },
            "rate":0.5
         }
      ]
   ],
   "quality":[
      {
         "name":"Information updating",
         "categorizationLocal":"Update frequancy",
         "categorizationPoT":"dataProduct",
         "descriptionGeneral":"Information is updated once per day."
      },
      {
         "name":"Uptime",
         "value":"99%"
      },
      {
         "name":"Response time",
         "value":"400 ms"
      }
   ],
   "service":[
      {
         "name":"Phone support hours",
         "descriptionGeneral":"Support is available between 08-16 weekdays.",
         "categorizationLocal":"Support",
         "categorizationPoT":"dataProduct"
      }
   ],
   "connector":[
      {
         "name":"Electrical devices catalog",
         "descriptionGeneral":"Catalog of electrical devices.",
         "version":"2.0",
         "monitoring":{
            "url":"https://status.uptimerobot.com/"
         },
         "quality":[
            {
               "name":"Uptime",
               "value":"99%"
            },
            {
               "name":"Response time",
               "value":"400 ms"
            }
         ],
         "url":"https://connector.com/api/methodname",
         "ontology":{
            "harmonized":true,
            "supportedPayload":{
               "currentValues":{
                  "version":"2.0",
                  "versionHistory":[
                     "1.2",
                     "2.0"
                  ]
               },
               "historyValues":{
                  "version":"2.0"
               },
               "predictionValues":{
                  "version":"2.0"
               }
            }
         }
      },
      {
         "name":"Furniture  catalog",
         "description":"Catalog of furniture.",
         "version":"3.0",
         "monitoring":{
            "url":"https://status.uptimerobot.com/"
         },
         "quality":[
            {
               "name":"Uptime",
               "value":"99%"
            },
            {
               "name":"Response time",
               "value":"400 ms"
            }
         ],
         "url":"https://connector.com/api/methodname",
         "ontology":{
            "harmonized":false
         }
      }
   ]
}

description

priceplan

PricePlan

PricePlan

PricePlans associated with DataProduct.

description

quality

Quality

Quality

Quality associated with DataProduct.

description

service

Service

Service

Service associated with DataProduct.

description

connector

Connector

Connector

Connector implementations of DataProduct.

categorization

categorizationETIM

string

ETIM class name

Product category name based on ETIM standard ((European Technical Information Model).

categorization

categorizationPoT

valueset

PoT category

Categorization class name in PoT standard.

description

additionalInformation

string

Additional information

Additional information.

description

descriptionGeneral

string

Description

Description.

description

imageUrl

string

Product image

Link to product image.

identifier

codeProduct

string

Product code

Unique product code given by manufacturer.

identifier

ean

string

EAN code

EAN standard based identifier.

identifier

gTIN

string

GTIN code

GTIN standard based identifier.

identifier

groupCode

string

Product group code

Unique product group code given by manufacturer.

identifier

groupName

string

Product group name

Unique product group name given by manufacturer.

identifier

id

string

identifier

name

string

Name

Name.

identifier

url

string

URL address

URL address.

identifier

logo

string

lifeCycle

status

string

Life-cycle status

Life-cycle status.

lifeCycle

version

string

Version name

Version name.

metadata

createdAt

dateTime

Creation time

Time when the data is created.

metadata

createdBy

string

Creator

Creator of and identity.

metadata

updatedAt

dateTime

Update time

Time when the data is updated.

metadata

updatedBy

string

Updater

Updater of an identity.

other

visibility

valueset

Product visibility

Product visibility restriction defined by PoT.

time

validFrom

dateTime

Validity period start time

Validity period start time.

time

validTo

dateTime

Validity period end time

Validity period end time.

Property Category

Property

List of values

lifeCycle

status

planned, in development, ready for publish, active/published, supported, not in support, retired, replaced