Example Data Packages for use in tutorials
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
.github
_other_example_files
countries-and-currencies
cpi-data-via-url
cpi
donation-codes-schema
donation-codes-via-url
donation-codes
donations
finance-vix
geo-countries
geo-lat-lon-as-numbers
geo-location-fk
geo-location-uri
geopoint-array
geopoint-default
geopoint-object
gross-domestic-product-2014
gross-domestic-product-all
inflation
iso-639-1-language-codes
open-data-day-tweets-2018
periodic-table
resources
simple-geojson
text-file
units-and-prefixes
world-continents-topojson
zip
LICENSE
README.md
README_es.md
datapackage-index.md
goodtables.yml

README.md

Example Data Packages

goodtables.io

English | Español

This repository contains example data packages to help you learn about Frictionless Data. The example data packages:

  • illustrate the current Frictionless Data Specification
  • support the Frictionless Data Guides
  • demonstrate Frictionless Data Patterns - ways to solve common problems that are not (yet) in the specification

The Frictionless Data Field Guide and other Guides are great places to start to learn. Alternatively, dive in and open a data package directory, view the README.md, then view the datapackage.json to understand the data.

Data Packages

The datapackage.json will describe the data package as a whole, and describe one or more data resources (each optionally with a schema or a view).

If all the data is tabular (i.e. CSV files), then it will be described as a tabular data package with one or more tabular data resources each with a table schema and, if needed, a CSV dialect.

There are other specialised profiles that describe different types of data, such as fiscal data.

Each data package is stored in it's own directory:

|- data-package-name-1
   |- README.md
   |- datapackage.json
   |- data
      |- data.csv
      |- ...

It contains a:

  • README.md to explain the provenance of the data
  • datapackage.json a machine readable file that explains the structure and meaning of the data
  • one or more data files, typically grouped in a data directory

The data package directory may also contain other files or sub-directories. These files may be scripts used to prepare the data package or other related resources.

Validation

Repository Validation

With each commit to the repository, the data package is validated using goodtables.io. The validation results for the data packages specified in goodtables.yml are indicated with a badge: goodtables.io

Ideally an individual badge could also be awarded for each data package and displayed in its README.md file but this is not possible yet. (See goodtables.io issue #285)

The validation is controlled by the goodtables.yaml file. It should be configured to test all the data packages in the repository. This can be changed if your working locally to validate specific data packages.

Local validation

We plan to implement local validation so data packages can be validated before contributing to this repository.

Zipped Data Packages

With each commit to the repository, the data package directory is converted into a .zip file so it can be used with software that supports Frictionless Data such as the Data Curator app or the DataPackage.js library. The zip files are stored in the zip directory.

Whilst the approach to compressing data packages has not been finalised a number of Frictionless Data Software implementations support zip files.

To do: script needed

Formatted JSON

With each commit, the datapackage.json file is formatted to make it easier to read. Although this formatting is not needed by computer programs, it makes it easier for you to read the contents of the file.

To do: script (or linting) needed

Resources

A resources directory contains a template README.md and example datapackage.json snippets.

README.md template

In this repository, each data package must have a README.md. The README.md should follow good practices.

datapackage.json snippets

JSON snippets provide a fragment of a datapackage.json file to help you learn about that specific property or cut and paste into your own data package. E.g. licenses.json could include JSON for each recommended Open Definition conformant license.

Repository Structure

|
|- data-package-name-1
|  |- README.md
|   |- datapackage.json
|   |- data
|     |- data.csv
|     |- data.geojson
|     |- ...
|     
|- data-package-name-2
|  |- etc.
|
|- resources
|  |- README-template.md
|  |- licenses.json
|  |- contributors.json
|  |- dialect.json
|  |- ...
|
|- zip
|  |- data-package-name-1.zip
|  |- data-package-name-2.zip
|
|
|- goodtables.yaml
|- README.md   

Contributing

We value all types of contributions:

We thank the generous contributors to this project.

To join them, please read CONTRIBUTING.md for details on our code of conduct and how to submit a pull request. Each contributed data package should be licensed as openly as possible.

Licenses

Data Packages in this project are licensed as specified in each individual datapackage.json file. If a license is not specified, it is provided under a CC0 1.0 Universal Public Domain Dedication.

The code in this project, unless otherwise noted, is licensed as described in LICENSE.md.

Other Data Package Examples

Other sources of data package examples include:

Know of more? Let us know