At its core, Frictionless Data is driven by the Data Package specification, a simple format for packaging data for sharing between tools and people. Associated specifications include Tabular Data Package, a format for packaging tabular data, JSON Table Schema, a specification for defining a schema for tabular data, and CSV Dialect Description Format (CSV-DDF), a specification for defining a dialect for CSV data.
How do these specifications relate?
A Data Package can “contain” any type of file. A Tabular Data Package is a special type of Data Package that “contains” one or more CSV files. In a Tabular Data Package, each CSV must have schema defined using JSON Table Schema and, optionally, a dialect defined using CSV-DDF. An application or library that consumes Tabular Data Packages therefore must be able to understand not only the full Data Package specification, but also JSON Table Schema and CSV-DDF.
For more information on each specification, see below: