Skip to content

kimwdavidson/example-data-packages

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

Example Data Packages for use in tutorials

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • R 100.0%